//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++;
                }
            }
        }
    }
Exemple #2
0
 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>();
 }