private void UpdateDirection() { if (NextTile == null) { // default face to player _characterDirection = CharacterDirection.South; } else { if (NextTile == CurrentTile.GetNorthTile()) { _characterDirection = CharacterDirection.North; } else if (NextTile == CurrentTile.GetSouthTile()) { _characterDirection = CharacterDirection.South; } else if (NextTile == CurrentTile.GetWestTile()) { _characterDirection = CharacterDirection.West; } else { _characterDirection = CharacterDirection.East; } } new CharacterUpdatedEvent { Character = this, Direction = _characterDirection }.Publish(); }