示例#1
0
 public override void CollideWithObject(CollidableObject collidableObject)
 {
     if (collidableObject == null)
     {
         return;
     }
     if (collidableObject is Enemy)
     {
         CollidableObject enemy = collidableObject;//衝突したオブジェクトがEnemyである事を明示する
         if (IsCollide(enemy))
         {
             OnCollided(enemy);
         }
     }
     if (collidableObject is EnemyBullet)
     {
         CollidableObject enemyBullet = collidableObject;
         if (IsCollide(enemyBullet))
         {
             OnCollided(enemyBullet);
             enemyBullet.OnCollided(this);
         }
     }
     if (collidableObject is FreezeBullet)
     {
         CollidableObject freezeBullet = collidableObject;
         if (IsCollide(freezeBullet))
         {
             OnCollided(freezeBullet);
             freezeBullet.OnCollided(this);
         }
     }
 }
示例#2
0
 public override void OnCollided(CollidableObject collidableObject)
 {
     if (collidableObject is FreezeBullet)
     {
         base.OnCollided(collidableObject);
         if (playersHealth == PlayersHealth.Nomal)
         {
             this.playersHealth = PlayersHealth.Frozen;
             Texture            = asd.Engine.Graphics.CreateTexture2D("Resources/Frozenplayer.png");
         }
     }
     else
     {
         base.OnCollided(collidableObject);
         Dispose();
     }
 }
示例#3
0
 public override void CollideWithObject(CollidableObject collidableObject)
 {
     base.CollideWithObject(collidableObject);
     if (collidableObject == null)
     {
         return;
     }
     if (collidableObject is PlayerBullet)
     {
         CollidableObject playerbullet = collidableObject;
         if (IsCollide(playerbullet))
         {
             OnCollided(playerbullet);
             playerbullet.OnCollided(this);
         }
     }
 }
示例#4
0
 public virtual void CollideWithObject(CollidableObject collidableObject)
 {
 }
示例#5
0
 public virtual void OnCollided(CollidableObject collidableObject)
 {
     //継承先で定義する
 }
示例#6
0
 public bool IsCollide(CollidableObject collidableObject)
 {
     return((collidableObject.Position - this.Position).Length < radius + collidableObject.radius);
 }
示例#7
0
 public override void OnCollided(CollidableObject collidableObject)
 {
     base.OnCollided(collidableObject);
     Dispose();
 }