//Grid_EnemyStack의 자식 오브젝트들을 통해 리소스 로드 void EnemyUpload() { EnemyTotal = 0; dicEnemyDeck.Clear(); foreach (var startFloorObject in dicStartFloor) { foreach (Enemy enemy in enemyCursor.dicEnemyDeck[startFloorObject.Key]) { int trackNumber = enemy.trackNumber; GameObject prefab_Enemy = Resources.Load("Character Resources/" + enemy.name) as GameObject; GameObject startFloor = startFloorObject.Value; GameObject newEnemy = Instantiate(prefab_Enemy, Vector3.zero, Quaternion.identity, EnemyRoot.transform); TestEnemyScript testEnemyScript = newEnemy.AddComponent <TestEnemyScript>(); testEnemyScript.trackNumber = trackNumber; testEnemyScript.nextGap = enemy.nextGap; testEnemyScript.SetStartPosition = new Vector3(startFloor.transform.position.x, 1f, startFloor.transform.position.z); testEnemyScript.stats = EnemyStatsReturn(enemy.name); //해당 트랙의 enemy덱이 존재한다면 push if (dicEnemyDeck.ContainsKey(trackNumber)) { dicEnemyDeck[trackNumber].Enqueue(newEnemy); EnemyTotal++; } //해당 트랙의 enemy덱이 존재하지 않다면 스택 새로 만들고 push한 후 dictionary에 추가 else { Queue <GameObject> newEnemyDeck = new Queue <GameObject>(); newEnemyDeck.Enqueue(newEnemy); dicEnemyDeck.Add(trackNumber, newEnemyDeck); EnemyTotal++; } } } }
static int SortByName(TestEnemyScript p1, TestEnemyScript p2) { return(p1.enemylevel.CompareTo(p2.enemylevel)); }
// Start is called before the first frame update void Start() { tem = GameObject.FindObjectOfType <TestEnemyScript>(); crs = GameObject.FindObjectOfType <CurrencySystem>(); rbweapon = GetComponent <Rigidbody>(); }