private void OnCollectorReached(UILoadingEnemy enemy) { // TODO // particles? // sound effect? if (m_TotalCollected > 0) { SetCollected(m_TotalCollected - 1); } Destroy(enemy.gameObject); }
private void OnEnemyDestroyed(UILoadingEnemy enemy) { // TODO // particles? // sound effect? RectTransform enemyTransform = enemy.GetComponent <RectTransform>(); SpawnCollectibleAtPosition(enemyTransform.anchoredPosition); enemy.OnDestroyed -= OnEnemyDestroyed; enemy.OnCollectorReached -= OnCollectorReached; Destroy(enemy.gameObject); }
private void SpawnEnemy() { Vector2 randPosition = UnityEngine.Random.insideUnitCircle; GameObject enemyObj = (GameObject)Instantiate(m_EnemyPrefab, this.transform); RectTransform rTransform = enemyObj.GetComponent <RectTransform>(); UILoadingEnemy enemy = enemyObj.GetComponent <UILoadingEnemy>(); if (enemy != null) { enemy.OnDestroyed += OnEnemyDestroyed; enemy.OnCollectorReached += OnCollectorReached; enemy.SetTargetPosition(Vector2.zero); } else { Debug.LogErrorFormat("Enemy doesn't have the UILoadingEnemy component attached"); } rTransform.anchoredPosition = randPosition.normalized * 500f; // define constant for radius }