示例#1
0
    /////////////////////////////////////////////////////////////////////////////
    /// Function:               SpawnPowerUp
    /////////////////////////////////////////////////////////////////////////////
    public static void SpawnPowerUp(CPowerUp.EItemType eType)
    {
        foreach (GameObject goObject in m_liSpawnPoints)
        {
            CSpawner cSpawner = goObject.GetComponent <CSpawner>();

            if (cSpawner.SpawnerType != ESpawnerType.TYPE_POWERUPS)
            {
                continue;
            }

            if (cSpawner.Team == IAIBase.ETeam.TEAM_NONE && true == cSpawner.CanSpawn)
            {
                List <GameObject> liPowerUps = ItemsResource.Items;
                foreach (GameObject goPowerUp in liPowerUps)
                {
                    CPowerUp cPowerUp = goPowerUp.GetComponent <CPowerUp>();
                    if (cPowerUp.ItemType == eType)
                    {
                        cSpawner.Spawn(goPowerUp);
                    }
                }
            }
        }
    }
示例#2
0
    /////////////////////////////////////////////////////////////////////////////
    /// Function:               SpawnNPC
    /////////////////////////////////////////////////////////////////////////////
    public static void SpawnNPC(IAIBase.ETeam eTeam, IAIBase.ENPCType eType)
    {
        foreach (GameObject goObject in m_liSpawnPoints)
        {
            CSpawner cSpawner = goObject.GetComponent <CSpawner>();

            if (cSpawner.SpawnerType != ESpawnerType.TYPE_NPC)
            {
                continue;
            }

            if (cSpawner.Team == eTeam && true == cSpawner.CanSpawn)
            {
                cSpawner.Spawn(NPCResource.GetObjectByType(eTeam, eType));
                break;
            }
        }
    }
示例#3
0
    /////////////////////////////////////////////////////////////////////////////
    /// Function:               SpawnFlag
    /////////////////////////////////////////////////////////////////////////////
    public static void SpawnFlag()
    {
        List <GameObject> liSpawnLocations = new List <GameObject>();

        foreach (GameObject goObject in m_liSpawnPoints)
        {
            CSpawner cSpawner = goObject.GetComponent <CSpawner>();

            if (cSpawner.SpawnerType != ESpawnerType.TYPE_FLAG)
            {
                continue;
            }

            liSpawnLocations.Add(goObject);
        }

        CSpawner cSpawn = liSpawnLocations[Random.Range(0, liSpawnLocations.Count - 1)].GetComponent <CSpawner>();

        cSpawn.Spawn(m_goFlagPrefab);
    }