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--; } }
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); // } // } }
public WaveSlot(IntVector3 coordinate, CollaspeSystem system, int waveCount, int[] unCollaspedPortsPreset, int[] unCollaspedWavesWeightPreset) { this.coordinate = coordinate; this.collaspeSystem = system; superpositionOfWaves = new SuperpositionOfWaves(waveCount, unCollaspedPortsPreset, unCollaspedWavesWeightPreset); }