public void TryInteract(MapCharacter character)
        {
            if (_onInteracting != null)
            {
                //look at the character
                Look(character.SpriteSheet.CurrentDirection.GetOppositeDirection());

                //interact with him
                _onInteracting(character);
            }
        }
 public static CharacterMoveMessage DoNotPanMapOnMove(SpriteDirection direction, MapCharacter character)
 {
     return new CharacterMoveMessage(direction, character, false);
 }
 protected CharacterMoveMessage(SpriteDirection direction, MapCharacter character, Boolean panMapWithCharacter)
 {
     Direction = direction;
     Character = character;
     PanMapWithCharacter = panMapWithCharacter;
 }
 protected CharacterInteractMessage(MapCharacter character)
 {
     Character = character;
 }
 public static CharacterInteractMessage New(MapCharacter character)
 {
     return new CharacterInteractMessage(character);
 }