Esempio n. 1
0
        protected void CollideWith(CollidableObject obj)
        {
            if (obj == null)
            {
                return;
            }

            if (obj is Bullet)
            {
                CollidableObject bullet = obj;

                if (IsCollide(bullet))
                {
                    OnCollide(bullet);
                    bullet.OnCollide(this);
                }
            }

            if (obj is PenetrateBullet)
            {
                CollidableObject bullet = obj;

                if (IsCollide(bullet))
                {
                    OnCollide(bullet);
                    //bullet.OnCollide(this);
                }
            }
        }
Esempio n. 2
0
        // 指定したオブジェクトと当たり判定をするメソッド
        private void CollideWith(CollidableObject obj)
        {
            // オブジェクトがnullか、消滅していたら当たり判定をしない
            if (obj == null || !obj.IsAlive)
            {
                return;
            }

            if (obj is Enemy)   // オブジェクトがEnemyだった場合
            {
                if (IsCollide(obj))
                {
                    obj.OnCollide(this);
                }
            }
            else if (obj is EnemyBullet)    // オブジェクトがEnemyBulletだった場合
            {
                if (IsCollide(obj))
                {
                    obj.OnCollide(this);
                }
            }
        }
Esempio n. 3
0
        private void CollideWith(CollidableObject obj)
        {
            if (obj == null || !obj.IsAlive)
            {
                return;
            }

            if (obj is Enemy)
            {
                if (IsCollide(obj))
                {
                    obj.OnCollide(this);
                }
            }
        }
Esempio n. 4
0
        protected void CollideWith(CollidableObject obj)
        {
            if (obj == null)
            {
                return;
            }
            if (obj is Enemy)
            {
                CollidableObject enemyBullet = obj;

                if (IsCollide(enemyBullet))
                {
                    OnCollide(enemyBullet);
                    enemyBullet.OnCollide(this);
                }
            }
        }
Esempio n. 5
0
        // 自機の弾との当たり判定をコントロールするメソッド
        protected void CollideWith(CollidableObject obj)
        {
            // 当たり判定の相手が見つかってない場合はメソッドを終了
            if (obj == null)
            {
                return;
            }

            // obj が Bulletである場合にのみelse内を動作させる
            if (obj is Bullet)
            {
                // obj が bullet であることを明示
                CollidableObject bullet = obj;

                // bulletと衝突した場合には、衝突時処理を行う
                if (IsCollide(bullet))
                {
                    OnCollide(bullet);
                    bullet.OnCollide(this);
                }
            }
        }