예제 #1
0
    public void CollaspeWave(Wave wave, IntVector3 coord, ref CollaspeSystem system)
    {
        if (!unCollaspedWaves[wave.hashCode])
        {
            var sixSidePorts = wave.ports;
            // Debug.Log(wave);

            for (int i = 0; i < sixSidePorts.Length; i++)
            {
                unCollaspedPorts[sixSidePorts[i]]--;
                if (unCollaspedPorts[sixSidePorts[i]] == 0)
                {
                    system.CollaspeNearbyWaveSlot(coord, (EPortDirection)i, sixSidePorts[i]);
                }
            }

            unCollaspedWaves[wave.hashCode] = true;
            unCollaspedWavesCount--;
        }
    }
예제 #2
0
    private void Awake()
    {
        Debug.Log("Awake");
        Debug.Log(Time.time);

        if (waveManager == null)
        {
            waveManager = GameObject.Find("Wave Manager").GetComponent <WaveManager>();
        }
        if (collaspeSystem == null)
        {
            collaspeSystem = GameObject.Find("Collaspe System").GetComponent <CollaspeSystem>();
        }

        waveManager.mapGenerator   = this;
        waveManager.collaspeSystem = collaspeSystem;
        // Debug.Log(wavePrefabs.Length);

        if (addGroup)
        {
            var list = new List <WavePrefab>();
            list.AddRange(wavePrefabs);
            list.AddRange(wavePrefabGroup.GetComponentsInChildren <WavePrefab>());
            wavePrefabs = list.ToArray();
        }
        waveManager.RegisterWaves(wavePrefabs);

        collaspeSystem.mapGenerator = this;
        collaspeSystem.waveManager  = waveManager;

        // for (int portHash = 0; portHash < WaveManager.instance.portDictionaryLength; portHash++) {
        //  Debug.Log(WaveManager.GetPortDetailViaPortHash(portHash));
        //  var array = WaveManager.GetWaveViaComparedPort(portHash);
        //  foreach (var item in array) {
        //      Debug.Log(item.name);
        //  }
        // }
    }
예제 #3
0
 public WaveSlot(IntVector3 coordinate, CollaspeSystem system, int waveCount, int[] unCollaspedPortsPreset, int[] unCollaspedWavesWeightPreset)
 {
     this.coordinate      = coordinate;
     this.collaspeSystem  = system;
     superpositionOfWaves = new SuperpositionOfWaves(waveCount, unCollaspedPortsPreset, unCollaspedWavesWeightPreset);
 }