Example #1
0
    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);
            }
        }
    }
Example #2
0
    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();
        }
    }