Commit 9a61c8e8 authored by 15김민규's avatar 15김민규

적 소환 수 / 죽은 수 카운트 됨. enemyManager의 isClear()를 통해 몹을 전부 잡았는지 알 수 있다. 테스트를 위해 일부 프리팹에 고블린 소환위치 찍음.

parent f1f2c0ff
......@@ -11,6 +11,52 @@ Prefab:
m_SourcePrefab: {fileID: 0}
m_RootGameObject: {fileID: 1915452461634262}
m_IsPrefabAsset: 1
--- !u!1 &1007840319863528
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 6
m_Component:
- component: {fileID: 4546795586742468}
m_Layer: 0
m_Name: enemy spot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1124637384100458
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 6
m_Component:
- component: {fileID: 4334623205686684}
m_Layer: 0
m_Name: Location
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1276568354572690
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 6
m_Component:
- component: {fileID: 4054145534218116}
- component: {fileID: 114782628463349330}
m_Layer: 0
m_Name: Goblin
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1306147373330598
GameObject:
m_ObjectHideFlags: 0
......@@ -51,6 +97,21 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1646302870988242
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 6
m_Component:
- component: {fileID: 4372487440442684}
m_Layer: 0
m_Name: Location (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1657725642800636
GameObject:
m_ObjectHideFlags: 0
......@@ -123,6 +184,21 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4054145534218116
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1276568354572690}
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_Children:
- {fileID: 4334623205686684}
- {fileID: 4372487440442684}
m_Father: {fileID: 4546795586742468}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4152337674201398
Transform:
m_ObjectHideFlags: 1
......@@ -136,6 +212,32 @@ Transform:
m_Father: {fileID: 4874486600194970}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4334623205686684
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1124637384100458}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 2.5, y: 9, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4054145534218116}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4372487440442684
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1646302870988242}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 2.5, y: 17, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4054145534218116}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4453118840796536
Transform:
m_ObjectHideFlags: 1
......@@ -149,6 +251,20 @@ Transform:
m_Father: {fileID: 4874486600194970}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4546795586742468
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1007840319863528}
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_Children:
- {fileID: 4054145534218116}
m_Father: {fileID: 4874486600194970}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4557338679182532
Transform:
m_ObjectHideFlags: 1
......@@ -190,6 +306,7 @@ Transform:
- {fileID: 4925861857805118}
- {fileID: 4802276979595092}
- {fileID: 4152337674201398}
- {fileID: 4546795586742468}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
......@@ -970,6 +1087,19 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b5ed2c384310eb6408bb42c91b195e15, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &114782628463349330
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1276568354572690}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2d27745292051704a87740def5391766, type: 3}
m_Name:
m_EditorClassIdentifier:
enemyPrefab: {fileID: 1636491341446076, guid: a164c147037e89448820f7387c724c42,
type: 2}
--- !u!212 &212993751766265268
SpriteRenderer:
m_ObjectHideFlags: 1
......
......@@ -670,6 +670,11 @@ Prefab:
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: afe4a2cb44239b649a3ffa70af5c2d84, type: 2}
m_IsPrefabAsset: 0
--- !u!224 &784215598 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 224627740379736590, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 677608594}
--- !u!1 &826079602
GameObject:
m_ObjectHideFlags: 0
......@@ -732,6 +737,134 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1148854461
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 1635164560723902, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1148854462}
- component: {fileID: 1148854465}
- component: {fileID: 1148854464}
- component: {fileID: 1148854463}
m_Layer: 5
m_Name: SummonEnemyButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1148854462
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 224799334850716618, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1148854461}
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_Children:
- {fileID: 1931263425}
m_Father: {fileID: 784215598}
m_RootOrder: 13
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -92, y: -497.7}
m_SizeDelta: {x: 154.8, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1148854463
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 114069666699939228, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1148854461}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1148854464}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1985083923}
m_MethodName: SpawnEnemyToMap
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &1148854464
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 114935985951632436, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1148854461}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
--- !u!222 &1148854465
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 222640117483477652, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1148854461}
m_CullTransparentMesh: 0
--- !u!1 &1159748689
GameObject:
m_ObjectHideFlags: 0
......@@ -1498,11 +1631,96 @@ Prefab:
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: a164c147037e89448820f7387c724c42, type: 2}
m_IsPrefabAsset: 0
--- !u!1 &1931263424
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 1063244425464928, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1931263425}
- component: {fileID: 1931263427}
- component: {fileID: 1931263426}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1931263425
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 224433513092310386, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1931263424}
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_Children: []
m_Father: {fileID: 1148854462}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1931263426
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 114747223387130412, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1931263424}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: SummonEnemy
--- !u!222 &1931263427
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 222267971390068440, guid: 799f0e9cc16535e449586b399b37aa56,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1931263424}
m_CullTransparentMesh: 0
--- !u!223 &1950607614 stripped
Canvas:
m_CorrespondingSourceObject: {fileID: 223008133952041092, guid: 7c6db9a9ca4150a438bd5114c58a37cf,
type: 2}
m_PrefabInternal: {fileID: 225935757}
--- !u!114 &1985083923 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 114768470604838176, guid: 54c1a7b414e41724197333a9e17dd49b,
type: 2}
m_PrefabInternal: {fileID: 1184292066}
m_Script: {fileID: 11500000, guid: fc7c7899a8a94c24cb9eb34d432133ce, type: 3}
--- !u!1001 &2042136941
Prefab:
m_ObjectHideFlags: 0
......
......@@ -24,7 +24,7 @@ public class EnemyDamaged : StateMachineBehaviour {
}
knockbackSpeed = animator.GetFloat("knockbackDistance") / knockbackTime;
Transform playerTransform = EnemyManager.Instance.player.transform;
Transform playerTransform = EnemyManager.Instance.Player.transform;
pivotTransform = animator.transform.parent;
pivotTransform.eulerAngles = (playerTransform.position.x - pivotTransform.position.x < 0) ? leftsideAngle : rightsideAngle;
knockbackDir = (playerTransform.position.x - pivotTransform.position.x < 0) ? 1 : -1;
......
......@@ -16,7 +16,7 @@ public class EnemyMeleeTrack : StateMachineBehaviour {
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
trackSpeed = animator.GetComponent<Enemy>().trackSpeed;
attackRange = animator.GetComponent<Enemy>().attackRange;
player = EnemyManager.Instance.player;
player = EnemyManager.Instance.Player;
pivotTransform = animator.transform.parent;
float halfHeight = pivotTransform.gameObject.GetComponent<BoxCollider2D>().size.y / 2.0f;
......
......@@ -56,13 +56,13 @@ public class Enemy : MonoBehaviour {
private void Start()
{
this.currHealth = maxHealth;
dropTable = enemyManager.dropTableByID[monsterID];
Physics2D.IgnoreCollision(enemyManager.player.gameObject.GetComponent<Collider2D>(), transform.parent.GetComponent<Collider2D>());
dropTable = enemyManager.DropTableByID[monsterID];
Physics2D.IgnoreCollision(enemyManager.Player.gameObject.GetComponent<Collider2D>(), transform.parent.GetComponent<Collider2D>());
}
private void Update()
{
playerDistance = Vector2.Distance(enemyManager.player.transform.position, transform.parent.position);
playerDistance = Vector2.Distance(enemyManager.Player.transform.position, transform.parent.position);
}
// hit by player or debuff
......@@ -84,6 +84,7 @@ public class Enemy : MonoBehaviour {
public void DeadEvent()
{
transform.parent.gameObject.SetActive(false);
enemyManager.EnemyDeadCount++; // 다른 enemy로 인해 소환되는 enemy가 추가될 경우 여기를 건드려야 함
// Drop 아이템 결정. 인덱스 별 아이템은 맨 밑에 서술
float denominator = dropTable[dropTable.Length - 1];
......
......@@ -9,22 +9,30 @@ public class EnemyManager : Singleton<EnemyManager>
{
// data
// static
private readonly int poolSize = 10;
public static readonly float goldPer = 0.5f;
public static readonly int ameNum = 0;
public static readonly float dropObjStrength = 1f;
// hold player for animation
public GameObject player;
public GameObject Player { get; private set; }
// data of drop item
public TextAsset dropTableData;
public Dictionary<int, int[]> dropTableByID = new Dictionary<int, int[]>();
[SerializeField]
private TextAsset dropTableData;
public Dictionary<int, int[]> DropTableByID { get; private set; }
// enemy prefab and pool
[SerializeField]
private GameObject[] enemyPrefab;
private readonly int poolSize = 10;
public Dictionary<GameObject, GameObject[]> EnemyPool { get; private set; }
// enemy count
[SerializeField]
private uint EnemySpawnCount;
public uint EnemyDeadCount;
// enemy prefab
public GameObject[] enemyPrefab;
public Dictionary<GameObject, GameObject[]> enemyPool = new Dictionary<GameObject, GameObject[]>();
// method
// Constructor - protect calling raw constructor
......@@ -33,14 +41,15 @@ public class EnemyManager : Singleton<EnemyManager>
// Awake
private void Awake()
{
player = GameObject.Find("Player");
Player = GameObject.Find("Player");
LoadDropTable(dropTableData);
CreateEnemyPool();
}
// Spawn Enemy to Map
public void SpawnEnemy()
public void SpawnEnemyToMap()
{
EnemySpawnCount = EnemyDeadCount = 0;
Transform enemySpots = MapManager.currentRoom.roomInGame.transform.Find("enemy spot");
foreach(Transform enemySpot in enemySpots)
{
......@@ -53,10 +62,16 @@ public class EnemyManager : Singleton<EnemyManager>
}
}
public bool IsClear()
{
return (EnemyDeadCount == EnemySpawnCount);
}
// Object Pool
private void CreateEnemyPool()
{
foreach(GameObject eachEnemy in enemyPrefab)
EnemyPool = new Dictionary<GameObject, GameObject[]>();
foreach (GameObject eachEnemy in enemyPrefab)
{
GameObject[] pool = new GameObject[poolSize];
for(int i = 0; i < pool.Length; i++)
......@@ -64,14 +79,14 @@ public class EnemyManager : Singleton<EnemyManager>
pool[i] = Instantiate(eachEnemy);
pool[i].SetActive(false);
}
enemyPool.Add(eachEnemy, pool);
EnemyPool.Add(eachEnemy, pool);
}
}
private GameObject PickFromPool(GameObject enemy)
{
Debug.Log(enemy.name);
GameObject[] pool = enemyPool[enemy];
EnemySpawnCount += 1;
GameObject[] pool = EnemyPool[enemy];
foreach(GameObject obj in pool)
{
if (!obj.activeSelf)
......@@ -88,7 +103,7 @@ public class EnemyManager : Singleton<EnemyManager>
pool[i] = Instantiate(enemy);
pool[i].SetActive(false);
}
enemyPool[enemy] = pool;
EnemyPool[enemy] = pool;
pool[beforeExtend].SetActive(true);
return pool[beforeExtend];
......@@ -97,6 +112,7 @@ public class EnemyManager : Singleton<EnemyManager>
// Load Dictionary
private void LoadDropTable(TextAsset dataFile)
{
DropTableByID = new Dictionary<int, int[]>();
string[] linesFromText = dataFile.text.Split('\n');
string[] cellValue = null;
......@@ -126,7 +142,7 @@ public class EnemyManager : Singleton<EnemyManager>
dropTable[j] = cumulated;
}
dropTableByID.Add(enemyID, dropTable);
DropTableByID.Add(enemyID, dropTable);
}
}
}
......@@ -881,7 +881,7 @@ public class MapManager : MonoBehaviour {
if(!room.isRoomCleared)
{
if(room.specialRoomType == RoomType.Normal)
GameObject.Find("EnemyManager").GetComponent<EnemyManager>().SpawnEnemy();
GameObject.Find("EnemyManager").GetComponent<EnemyManager>().SpawnEnemyToMap();
else if(room.specialRoomType == RoomType.Item)
{
InventoryManager inventoryManager = GameObject.Find("InventoryManager").GetComponent<InventoryManager>();
......
......@@ -56,7 +56,7 @@ public class Test : MonoBehaviour {
}
public void SummonEnemy()
{
enemyManager.SpawnEnemy();
enemyManager.SpawnEnemyToMap();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment