Added basic enemy

Does not attack the player currently
This commit is contained in:
Pasha Bibko
2025-11-18 15:52:13 +00:00
parent 321dc1f149
commit 0dce94924c
10 changed files with 234 additions and 8 deletions

View File

@@ -7,8 +7,8 @@ Material:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WhiteMat
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Name: RedMat
m_Shader: {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -62,6 +62,7 @@ Material:
m_Ints: []
m_Floats:
- _BumpScale: 1
- _ColorMask: 15
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
@@ -75,9 +76,15 @@ Material:
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UVSec: 0
- _UseUIAlphaClip: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

176
Assets/Prefabs/Enemy.prefab Normal file
View File

@@ -0,0 +1,176 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &345795220292517504
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8341506432217282029}
- component: {fileID: 3813189644929098082}
m_Layer: 0
m_Name: Enemy
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8341506432217282029
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 345795220292517504}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.2, y: 0.2, z: 0.2}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 1739635715747709762}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3813189644929098082
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 345795220292517504}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a4502a12b7f15246aa7b9cc2d30a862, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &4804673878835712602
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1739635715747709762}
- component: {fileID: 5026174633141696716}
- component: {fileID: 8577569336777110376}
- component: {fileID: 4859736940813683666}
m_Layer: 0
m_Name: Model
m_TagString: Enemy
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1739635715747709762
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4804673878835712602}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8341506432217282029}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &5026174633141696716
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4804673878835712602}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a7292488fc42280428b7d5183069b410, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &8577569336777110376
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4804673878835712602}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!61 &4859736940813683666
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4804673878835712602}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
oldSize: {x: 0, y: 0}
newSize: {x: 0, y: 0}
adaptiveTilingThreshold: 0
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ec4a924a38b208240b281bd7983b07b7
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -153,6 +153,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2895addc317815345b19503bab859a6a, type: 3}
m_Name:
m_EditorClassIdentifier:
m_EnemyPrefab: {fileID: 345795220292517504, guid: ec4a924a38b208240b281bd7983b07b7, type: 3}
--- !u!4 &104400498
Transform:
m_ObjectHideFlags: 0

View File

@@ -0,0 +1,9 @@
using UnityEngine;
public class EnemyController : OrbitalPositionBehaviour
{
public override void OnStart()
{
m_OrbitalPosition.m_DeletedAtCentre = true;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8a4502a12b7f15246aa7b9cc2d30a862
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -10,6 +10,9 @@ public class OrbitalPosition
public Transform owner = null;
public int m_SpinSpeed = 1;
public bool m_DeletedAtCentre = false;
public OrbitalPosition(GameObject _owner)
{
pRing = GlobalOrbitalPositionManager.LastRingID;
@@ -126,7 +129,15 @@ public class GlobalOrbitalPositionManager : MonoBehaviour
foreach (OrbitalPosition orbitalPosition in m_ObjectInstances)
{
if (!m_Distances.ContainsKey(orbitalPosition.pRing))
{
if (orbitalPosition.m_DeletedAtCentre)
{
Destroy(orbitalPosition.owner.gameObject);
continue;
}
orbitalPosition.pRing = m_LastGeneratedRing;
}
float distance = m_Distances[orbitalPosition.pRing];
orbitalPosition.DistanceFromCentre = distance;
@@ -158,5 +169,5 @@ public abstract class OrbitalPositionBehaviour : MonoBehaviour
private void OnDestroy() =>
GlobalOrbitalPositionManager.UnregisterOrbitalPositionInstance(m_OrbitalPosition);
public abstract void OnStart();
public virtual void OnStart() { }
}

View File

@@ -1,11 +1,9 @@
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class PlayerController : OrbitalPositionBehaviour
{
float m_StartPosition;
public GameObject m_EnemyPrefab;
public override void OnStart()
{
@@ -18,5 +16,10 @@ public class PlayerController : OrbitalPositionBehaviour
{
m_OrbitalPosition.pRing += 1;
}
if (Input.GetKey(KeyCode.E))
{
Instantiate(m_EnemyPrefab);
}
}
}

View File

@@ -3,7 +3,8 @@
--- !u!78 &1
TagManager:
serializedVersion: 2
tags: []
tags:
- Enemy
layers:
- Default
- TransparentFX