public void EndWave() { Destroy(this.waves[0]); this.waves.RemoveAt(0); // Remove the cleared wave. ObjectPooler.SharedInstance.ClearPool(); // Clear pooled game objects on the previous wave. if (this.waves.Count != 0) { BossController boss = GameObject.FindGameObjectWithTag("Mountain").GetComponent <BossController>(); StartCoroutine(boss.PlayWaveEndCutscene()); this.SpawnUpgrades(spawnPoints); } else { DissolveController controller = GameObject.FindGameObjectWithTag("Mountain").GetComponent <DissolveController>(); controller.StartDissolving(); controller.PlaySoundEffect(); controller.PlayVictoryMusic(); } if (waves.Count != 0) { this.spawnPoints[0].GetComponentsInParent <BoxCollider>(true)[0].enabled = true; } }
void Awake() { currentSwitchState = DefaultState; itemCollider = GetComponent <Collider2D>(); dissolveController = GetComponent <DissolveController>(); InitializeDoorState(); }
private void OnTriggerEnter2D(Collider2D other) { if (other.transform.CompareTag("PickableItem") || other.transform.CompareTag("Enemy")) { trail.enabled = false; spriteRenderer.enabled = false; rb_collider.enabled = false; Debug.Log("pickable item"); currentHit = other.gameObject; currentDissolveController = currentHit.GetComponent <DissolveController>(); if (currentDissolveController != null) { currentDissolveController.Dissolve(); StartCoroutine(Invisible()); } velocity = Vector2.zero; } else if (other.transform.CompareTag("Ground")) { Destroy(gameObject); } }
protected override void Awake() { base.Awake(); dissolveController = GetComponent <DissolveController> (); }