protected virtual void OnTriggerEnter(Collider other) { if (target == BulletTarget.Player) { if (other.gameObject.tag == "Player") { Debug.Log(this.gameObject); PlayerMain playerMain = GameObject.Find("PlayerMain").GetComponent <PlayerMain>(); { if (other.gameObject.name == "Player_shield(Clone)") { playerMain.Damage(other.gameObject.transform.parent.name); } else { playerMain.Damage(other.gameObject.name); } } if (gameObject.name.StartsWith("Enemy_Bullet_02_laser")) { GameObject offsetEffectObject = Instantiate((GameObject)Resources.Load("Scenes/Game/Prefabs/Enemy_Bullet_01_laser_hit")); offsetEffectObject.gameObject.transform.position = other.ClosestPointOnBounds(this.gameObject.transform.position); } Destroy(this.gameObject); } if (other.gameObject.tag == "DamageObject") { BulletMain bulletMain = other.gameObject.GetComponent <BulletMain>(); if (bulletMain.target == BulletTarget.Enemy) { GameObject offsetEffectObject = Instantiate((GameObject)Resources.Load("Scenes/Game/Prefabs/Offset")); offsetEffectObject.gameObject.transform.position = other.ClosestPointOnBounds(this.gameObject.transform.position); soundManager.PlayAudioClip(SoundManager.AudioClipType.OFFSET); Destroy(this.gameObject); Destroy(other.gameObject); } } if (other.gameObject.tag == "Earth") { if (gameObject.name.StartsWith("Enemy_Bullet_02_laser")) { GameObject offsetEffectObject = Instantiate((GameObject)Resources.Load("Scenes/Game/Prefabs/Enemy_Bullet_01_laser_hit")); offsetEffectObject.gameObject.transform.position = other.ClosestPointOnBounds(this.gameObject.transform.position); } Destroy(this.gameObject); } } else { if (other.gameObject.tag == "Enemy") { GameObject hitEffectObject = Instantiate((GameObject)Resources.Load("Scenes/Game/Prefabs/Hit_spark")); hitEffectObject.gameObject.transform.position = other.ClosestPointOnBounds(this.gameObject.transform.position); Destroy(this.gameObject); } } }
private void OnTriggerEnter(Collider other) { // TODO ダメージ受けてる自機の場合はすり抜けるように if (other.gameObject.tag == "Player") { // 要塞は消えない if (!this.gameObject.name.StartsWith("Enemy_03_yousai")) { enemy.Destroy(); } PlayerMain playerMain = GameObject.Find("PlayerMain").GetComponent <PlayerMain>(); if (other.gameObject.name == "Player_shield(Clone)") { playerMain.Damage(other.gameObject.transform.parent.name); } else { playerMain.Damage(other.gameObject.name); } } if (other.gameObject.tag == "DamageObject") { BulletMain bulletMain = other.gameObject.GetComponent <BulletMain>(); if (bulletMain.target == BulletTarget.Player) { return; } enemy.Damage(bulletMain.GetDamage()); this.flashWait = 1; GameStatus.GetInstance().Rank += 25f; } if (other.gameObject.tag == "Earth") { if (this.gameObject.name.StartsWith("Enemy_03_yousai")) { GameStatus.GetInstance().EarthHp = 0; } enemy.score = 0; enemy.Destroy(); } }