示例#1
0
    void OnTriggerEnter(Collider coll)
    {
        //웨이포인트 태그가 붙은 게임 오브젝트와 충돌체크
        if (coll.CompareTag("WAY_POINT"))
        {
            //Debug.Log("arrived at " + waypointIndex);
            enemySpawner.CreateEnemy(waypointIndex);

            //현재 타겟 포인트가 마지막 포인트가 아니면 타겟 인덱스를 증가
            if (waypointIndex != points.Length - 1)
            {
                waypointIndex++;
            }
            else
            {
                //마지막 웨이포인트라면 스크립트 종료
                tr.GetComponent <MovePointToPoint>().enabled = false;
            }

            // 다음에 갈 지점과의 각도 측정
            if (arrived == false) // 최초 한번만 해야 해서.
            {
                arrived = true;
                Vector3 dir = points[waypointIndex].position - tr.position;
                //dotValue = Vector3.Dot(dir, tr.forward);// 이렇게 해도 되긴 되는데 ..
                targetAngle = Vector3.Angle(tr.forward, dir);
                if (targetAngle < 0)
                {
                    targetAngle = 360f + targetAngle;
                }
            }
        }
    }
示例#2
0
 private void Update()
 {
     if (enemyPool.Count <= 10 && gameState == GameState.Play)
     {
         Object enemyObj = enemyPrefabs[Random.Range(0, enemyPrefabs.Length)];
         Enemy  enemy    = enemySpawner.CreateEnemy(enemyObj, tankGO.transform);
         enemyPool.Add(enemy);
     }
 }
    // Select a EnemySpawner then spawn an enemy
    void SpawnEnemy()
    {
        if (playerHealth.currentHealth <= 0)
        {
            return;
        }
        int spawnPointIndex = Random.Range(0, enemySpawnPoints.Length);

        spawner = enemySpawnPoints[spawnPointIndex].GetComponent <EnemySpawner>();
        spawner.CreateEnemy();
    }
示例#4
0
    public override void OnStartServer()
    {
        base.OnStartServer();
        enemy_spawner_ = FindObjectOfType<EnemySpawner>();

        for (int i = 0; i < 1; i++)
        {
            enemys.Add(enemy_spawner_.CreateEnemy(i));
        }

        StartCoroutine("Room1");
    }
示例#5
0
    public override void OnStartServer()
    {
        base.OnStartServer();
        enemy_spawner_ = FindObjectOfType<EnemySpawner>();

        for (int i = 0; i < 1; i++)
        {
            var enemy = enemy_spawner_.CreateEnemy(i);
            enemy.GetComponent<AI2>().SetRoomName("lastStage_clean");
            enemys.Add(enemy);
        }

        StartCoroutine("Room1");
    }