public void Save(string saveName, JObject json) { #if DEBUG_SAVES Debug.Log(json); #endif UpdatePlayerSaveStatePacket packet = (UpdatePlayerSaveStatePacket)IntrepidSerialize.TakeFromPool(PacketType.UpdatePlayerSaveState); packet.state = new PlayerSaveStateData(); packet.state.state = json.ToString(); GameClient.Instance.Client.Send(packet); }
private void UpdateSaveStatePacket(UpdatePlayerSaveStatePacket packet) { // We pass these create / update requests to the profile server we're connected to if (saveState.characterId == PlayerSaveState.NO_CHARACTER_ID) { ProfileCreateCharacterRequest request = (ProfileCreateCharacterRequest)IntrepidSerialize.TakeFromPool(PacketType.ProfileCreateCharacterRequest); request.accountId = saveState.accountId; request.productName = "hungry hippos"; //TODO: configure this! request.characterName = saveState.name; // TODO: Need to have some kind of create character packet where they can specify name request.state = packet.state; Server.SendToProfileServer(request); } else { ProfileUpdateCharacter request = (ProfileUpdateCharacter)IntrepidSerialize.TakeFromPool(PacketType.ProfileUpdateCharacter); request.characterId = saveState.characterId; request.state = packet.state; Server.SendToProfileServer(request); } // We assume the state will be created / saved saveState.state = packet.state; }