private IEnumerator BallTemporarily(KeyboardSpawner keyboardSpawnerComponent, SpriteRenderer show) { keyboardSpawnerComponent.enabled = true; bool thrown = false; while (!thrown) { if (Input.GetKeyDown(keyToPress)) { thrown = true; keyboardSpawnerComponent.enabled = false; show.sprite = spriteWithOutBall; } yield return(new WaitForSeconds(timeToWait)); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); KeyboardSpawner KS = (KeyboardSpawner)target; if (GUILayout.Button("Spawn")) { KS.SpawnKeyboard(); } if (GUILayout.Button("Clear")) { KS.ClearKeyboard(); } }
private void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player") { KeyboardSpawner player = other.transform.GetComponent<KeyboardSpawner>(); if (this.tag == "Power") { Debug.Log("Power triggered by player"); if (player != null) player.TripleShotActive(); Destroy(this.gameObject); // Power the shield itself - prevent double-use q } if (this.tag == "Shield") { if (player != null) player.SheildRoutine(); Destroy(this.gameObject); // Power the shield itself - prevent double-use } } }
// Start is called before the first frame update private void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player") { Debug.Log("ExtraShot triggered by player"); player = other.transform.GetComponent <KeyboardSpawner>(); if (player != null) { player.PowerupActive(true); } var destroyComponent = other.GetComponent <DestroyOnTrigger2D>(); if (destroyComponent) { destroyComponent.StartCoroutine(ShieldTemporarily(destroyComponent)); // NOTE: If you just call "StartCoroutine", then it will not work, // since the present object is destroyed! Destroy(gameObject); // Destroy the shield itself - prevent double-use } } else { Debug.Log("Powerup triggered by " + other.name); } }
private void Start() { Spawner = FindObjectOfType <KeyboardSpawner>(); }