private static void Result_NotImplemented(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     // shrug!
 }
 public GinTubService()
 {
     _repository = new Repository.GinTubRepository();
 }
 private static void Result_DeathMessageActivation(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int messageId = data.messageId;
     var result = repository.ReadMessage(messageId);
     playData.DeathMessage = TypeAdapter.Adapt<DC.Responses.MessageData>(result);
 }
 private static void Result_StopTime(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     bool isTimeStopped = data.isTimeStopped;
     var result = repository.ReadGameStateForPlayer(playerId);
     playData.GameState = TypeAdapter.Adapt<DC.Responses.GameStateData>(result);
     playData.GameState.LastTime = null; // we don't care about this here
 }
 private static void Result_CharacterAcquisition(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int characterId = data.characterId;
     repository.PlayerCharacterAdd(playerId, characterId);
 }
 private static void Result_RoomStateChange(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int roomId = data.roomId;
     int state = data.state;
     var result = repository.PlayerRoomStateChange(playerId, roomId, state);
     playData.Room = TypeAdapter.Adapt<DC.Responses.RoomData>(result.Item1);
     playData.RoomStates = result.Item2.Select(x => TypeAdapter.Adapt<DC.Responses.RoomStateData>(x)).ToList();
     playData.ParagraphStates = result.Item3.Select(x => TypeAdapter.Adapt<DC.Responses.ParagraphStateData>(x)).ToList();
 }
 private static void Result_EventAcquisition(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int eventId = data.eventId;
     repository.PlayerEventAdd(playerId, eventId);
 }
 private static void Result_ItemAcquisition(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int itemId = data.itemId;
     repository.PlayerItemAdd(playerId, itemId);
 }
 private static void Result_AreaIdRoomIdTeleport(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int areaId = data.areaId;
     int roomId = data.roomId;
     var result = repository.PlayerTeleportAreaIdRoomId(playerId, areaId, roomId);
     playData.Area = TypeAdapter.Adapt<DC.Responses.AreaData>(result.Item1);
     playData.Room = TypeAdapter.Adapt<DC.Responses.RoomData>(result.Item2);
     playData.RoomStates = result.Item3.Select(x => TypeAdapter.Adapt<DC.Responses.RoomStateData>(x)).ToList();
     playData.ParagraphStates = result.Item4.Select(x => TypeAdapter.Adapt<DC.Responses.ParagraphStateData>(x)).ToList();
 }
 private static void Result_RoomXYZTeleport(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int xPos = data.xPos;
     int yPos = data.yPos;
     int zPos = data.zPos;
     var result = repository.PlayerTeleportRoomXYZ(playerId, xPos, yPos, zPos);
     playData.Room = TypeAdapter.Adapt<DC.Responses.RoomData>(result.Item1);
     playData.RoomStates = result.Item2.Select(x => TypeAdapter.Adapt<DC.Responses.RoomStateData>(x)).ToList();
     playData.ParagraphStates = result.Item3.Select(x => TypeAdapter.Adapt<DC.Responses.ParagraphStateData>(x)).ToList();
 }
 private static void Result_RoomXYZMovement(IGinTubRepository repository, dynamic data, Guid playerId, ref DC.Responses.PlayData playData)
 {
     int xDir = data.xDir;
     int yDir = data.yDir;
     int zDir = data.zDir;
     var result = repository.PlayerMoveXYZ(playerId, xDir, yDir, zDir);
     playData.Room = TypeAdapter.Adapt<DC.Responses.RoomData>(result.Item1);
     playData.RoomStates = result.Item2.Select(x => TypeAdapter.Adapt<DC.Responses.RoomStateData>(x)).ToList();
     playData.ParagraphStates = result.Item3.Select(x => TypeAdapter.Adapt<DC.Responses.ParagraphStateData>(x)).ToList();
 }