예제 #1
0
    // ?겸뫖猷????紐꾪뀱
    private void OnTriggerEnter(Collider other)
    {
        // ?怨밴묶域밸챷? ??덉뵬 ????
        if (other.gameObject.tag == EnemyTag)
        {
            if (DEBUG_MOD)
            {
                Debug.Log("Enemy Entered\t" + other.gameObject.name + "\n" + other.name);
            }

            //??野?筌롫뗀??????겸뫖猷?????곕떽?
            targettingManager.AddTarget(other.gameObject);
        }//(other.gameObject.tag == EnemyTag)
    }
예제 #2
0
    // 파라메터로 받은 라운드의 웨이브 생성
    public void GenerateWave(int waveNumber)
    {
        Wave wave = waveList[waveNumber];
        Debug.Log(wave.Debug());

        if (wave != null && wave.IsNext()){
            // 프리팹 생성을 위한 값 할당
            WaveMember member = wave.GetWaveMemberByCounter();

            if (member.IsNext()){
                // 맴버 이름으로 prefabList에서 게임오브젝트(프리팹)을 받아온다
                GameObject gameObject = prefabList.GetGameObjectByName (member.name);
                Quaternion angle = new Quaternion(0, 0, 0, 0);

                //프리팹 생성 & 이름 설정
                prefab = Instantiate(gameObject, member.location, angle) as GameObject;
                prefab.name = prefab.name + (member.counter + 1);

                // 맴버의 카운터 증가.
                member.IncreaseCounter();

                //타겟팅에 추가하기 위한 타겟정보
                GameObject enemy = prefab;

                // 모든 플레이어의 Targetting 컴포넌트에 생성된 오브젝트 추가 및 정렬
                for(int i=0; i<playerList.Count; i++){
                    TargettingManager tg = playerList[i].GetComponent<TargettingManager>();
                    tg.AddTarget(enemy);
                    tg.SortTargetByDistance();

                    //if (i == 0)
                        //tg.TargetEnemy();
                }

                // 맴버 생성이 모두 완료되면, 웨이브 카운트 증가
                if (!member.IsNext())
                    wave.IncreaseCount();

                prefab = null;
                // 생성 타이머를 0f로 초기화
                timeCounter = 0f;
            }
        }
    }