public bool IsCollisionPossible(GunBullet bullet, GamePhysicalObject gamePhysicalObject)
        {
            if (gamePhysicalObject is MovableGameObject)
            {
                return(IsCollisionPossible(bullet, (MovableGameObject)gamePhysicalObject));
            }

            return(IsCollisionPossible(bullet, (NotMovableGameObject)gamePhysicalObject));
        }
        public List <GamePhysicalObject> GetAllGamePhysicalObjects(GamePhysicalObject excludeObject = null)
        {
            var result = new List <GamePhysicalObject>()
            {
                Player1, Player2
            };

            result.AddRange(Walls);

            if (excludeObject != null)
            {
                result.Remove(excludeObject);
            }

            return(result);
        }
 public void ProcessCollision(GunBullet bullet, GamePhysicalObject gamePhisicalObject)
 {
     bullet.GetDamage();
     gamePhisicalObject.GetDamage();
 }