示例#1
0
    public void SpawnWave(int quantity, AIWave.eSpawnPosition spawnPos, AIWave.eSpawnSide side, string aiName, bool flipped, bool shouldFlip)
    {
        GameObject aiPrefab = null;

        if (aiName == "AIDrone")
        {
            aiPrefab = _AITypes [0].obj;
        }
        else if (aiName == "AIHeavyDrone")
        {
            aiPrefab = _AITypes [1].obj;
        }
        else if (aiName == "AIFastDrone")
        {
            aiPrefab = _AITypes [2].obj;
        }
        else if (aiName == "AIBombDrone")
        {
            aiPrefab = _AITypes [3].obj;
        }

        if (aiPrefab == null)
        {
            return;
        }

        SpawnWave(quantity, spawnPos, side, aiPrefab, flipped, shouldFlip);
    }
示例#2
0
    public void SpawnWave(int quantity, AIWave.eSpawnPosition spawnPos, AIWave.eSpawnSide side, GameObject aiPrefab, bool flipped, bool shouldFlip)
    {
        GameObject newWave = Instantiate(wavePrefab) as GameObject;

        newWave.GetComponent <AIWave>().owner = this.GetComponent <AIWaveManager>();

        Vector3 newPosition = Vector3.zero;

        if (side == AIWave.eSpawnSide.LEFT)
        {
            newPosition.x -= roomsizeX / 2.0f;             //Camera.main.ViewportToWorldPoint(new Vector3(0.25f, 0.5f, 0.0f));
        }
        else if (side == AIWave.eSpawnSide.RIGHT)
        {
            newPosition.x += roomsizeX / 2.0f + 2.0f;            //Camera.main.ViewportToWorldPoint(new Vector3(0.25f, 0.5f, 0.0f));
        }
        newPosition.y = spawnY;
        newPosition.z = _spawnDistanceFromCamera;

        newWave.transform.position = newPosition;

        newWave.GetComponent <AIWave>().Spawn(quantity, spawnPos, side, aiPrefab, flipped, shouldFlip);
    }