Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (HasWinner)
        {
            return;
        }

        if (!_firstWaveSpawned)
        {
            StartCoroutine(OnSpawn());
            _firstWaveSpawned = true;
        }

        if (_collectItems.Length == 0)
        {
            _collectItems = FindObjectsOfType <CollectItems>();
            if (_collectItems.Length > 0)
            {
                _collectItems = _collectItems.Where(c => c.isActiveAndEnabled).ToArray();
            }
        }

        switch (_stRoom)
        {
        case StageRoom.A:
            if (RoomsInfluenced[0].gameObject.GetComponent <CleanRoom>().RoomCleaned)
            {
                _stRoom = StageRoom.B;
                ballSpawner.transform.parent.position = RoomsInfluenced[1].transform.position;
                StartCoroutine(OnSpawn());
            }
            break;

        case StageRoom.B:
            if (RoomsInfluenced[1].gameObject.GetComponent <CleanRoom>().RoomCleaned)
            {
                _stRoom = StageRoom.C;
                ballSpawner.transform.parent.position = RoomsInfluenced[2].transform.position;
                StartCoroutine(OnSpawn());
            }
            break;

        case StageRoom.C:
            if (RoomsInfluenced[2].gameObject.GetComponent <CleanRoom>().RoomCleaned)
            {
                _stRoom = StageRoom.D;
                ballSpawner.transform.parent.position = RoomsInfluenced[3].transform.position;
                StartCoroutine(OnSpawn());
            }
            break;

        case StageRoom.D:
            if (ItemSpawner.ItemCount <= 0 && _lastWaveSpawned)
            {
                if (_collectItems[0].Collected > _collectItems[1].Collected)
                {
                    Winner    = _collectItems[0].GetComponent <Controller>().Color;
                    HasWinner = true;
                }
                else if (_collectItems[1].Collected > _collectItems[0].Collected)
                {
                    Winner    = _collectItems[1].GetComponent <Controller>().Color;
                    HasWinner = true;
                }
                else
                {
                    ItemSpawner.ItemCount = 0;
                    Spawner.SpawnWave();
                }
            }
            break;
        }
    }
Ejemplo n.º 2
0
 public FakeAdresseable(StageRoom _stage, SpecialRoom _special, GameObject _prefab)
 {
     stage       = _stage;
     special     = _special;
     scenePrefab = _prefab;
 }