Beispiel #1
0
    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);
    }
Beispiel #2
0
    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;
    }