public static Enemy_Missile Create(Vector2 CreatePos, float _damage) { Transform missileTransform = Instantiate(GameAssets.instance.pfEnemyMissile, CreatePos, Quaternion.identity); Enemy_Missile missile = missileTransform.GetComponent <Enemy_Missile>(); missile.SetDamage(_damage); return(missile); }
// 死亡時処理 消滅時に true を返す protected override bool DeathFunc() { if (time <= 0.0f) { this.gameObject.GetComponent <Collider2D>().enabled = false; // 残ったビット自爆 for (int i = 0; i < 4; i++) { if (bitObjects[i].activeSelf) { bitObjects[i].GetComponent <Boss_Bit>().SelfDestroy(); } } // 残ったミサイル自爆 GameObject[] missiles = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject obj in missiles) { Enemy_Missile scr = obj.GetComponent <Enemy_Missile>(); if (scr != null) { scr.SelfDestroy(); } } // スコア加算 GameController.Instance.AddScore(scorePoint); // スコアテキスト表示 Text text = Instantiate(scoreTextObj).GetComponent <Text>(); ScoreText textScr = text.GetComponent <ScoreText>(); textScr.SetScore(scorePoint); text.transform.SetParent(GameObject.Find("Canvas").transform, false); text.transform.localScale *= 2.0f; text.rectTransform.position = RectTransformUtility.WorldToScreenPoint(Camera.main, this.transform.position); // 死亡演出コルーチン開始 StartCoroutine(DeathDirecting()); time = 1.0f; } if (endDeath) { return(true); } else { return(false); } }
// Attack 애니메이션 이벤트 함수 -> 공격 게이지 시작 public void StartAttackGauge() { animator.speed = 0f; missile = Enemy_Missile.Create(missilePoint.position, damage); enemyState = EnemyState.GAUGING; }