Exemple #1
0
 public bool TryCollision(Tile t, Vector2 tileOffset, Vector2 testOffset, float angle)
 {
     if (!CollisionRect.isNear(cr, t.cr))
     {
         return(false);
     }
     foreach (Tile myTile in tiles)
     {
         if (myTile.TryCollision(t, testOffset, tileOffset, angle))
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #2
0
 public bool TryCollision(Actor act, Vector2 offsetActor, Vector2 globalOffset)
 {
     if (!CollisionRect.isNear(cr, act.cr))
     {
         return(false);
     }
     foreach (Tile t in act.tiles)
     {
         if (TryCollision(t, act.position + offsetActor + globalOffset, position + globalOffset, act.angle))
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #3
0
 public bool Collision(Actor act, Vector2 offset)
 {
     foreach (Tile t in data)
     {
         if (CollisionRect.isNear(act.cr, t.cr) &&
             act.Collision(t, offset, true))
         {
             if (onCollision != null)
             {
                 onCollision(this, act);
             }
             return(true);
         }
     }
     return(false);
 }
Exemple #4
0
 public bool Collision(Tile t, Vector2 tileOffset, bool collisionEventFlag = false)
 {
     if (!CollisionRect.isNear(cr, t.cr))
     {
         return(false);
     }
     foreach (Tile myTile in tiles)
     {
         if (myTile.Collision(t, this.position, tileOffset))
         {
             if (onCollision != null && collisionEventFlag)
             {
                 onCollision(this, t);
             }
             if (collisionEventFlag)
             {
                 Raise("oncollision", this, t);
             }
             return(true);
         }
     }
     return(false);
 }