--- Client/Assets/Scripts/DataCenter/DataCenter.PlayerData.cs (reviewed baseline) +++ Client/Assets/Scripts/DataCenter/DataCenter.PlayerData.cs @@ -1139,6 +1139,30 @@ public void SavePlayerData(bool remote = true) { GContext.Publish(this); + SerializeAndSavePlayerData(remote); + } + +#if UNITY_EDITOR && !SERVICE_HOST + internal async System.Threading.Tasks.Task SetEquipRodIDForKVLoopAsync(int id) + { + var batch=game.PlayerDataStorage.PlayerKVGameplayLoop.BeginEquip(); + game.PlayerDataStorage.PlayerKVEditResult primary; + try + { + using(batch) + { + equipRodID=id; + GContext.container.Resolve().SetRedPoint(); + GContext.Publish(this); + primary=SerializeAndSavePlayerData(true); + } + await game.PlayerDataStorage.PlayerKVGameplayLoop.ConfirmEquipAsync(batch,primary); + } + catch(System.Exception e) { game.PlayerDataStorage.PlayerKVGameplayLoop.Fault(e.Message); throw; } + } +#endif + private game.PlayerDataStorage.PlayerKVEditResult SerializeAndSavePlayerData(bool remote) + { StringBuilder sb = new StringBuilder(); sb.Append(lv).Append(","); sb.Append(gold).Append(","); @@ -1179,7 +1203,11 @@ NewPlayerDataDic["ct"] = GContext.container.Resolve().CTSerialize(); NewPlayerDataDic["rt"] = GContext.container.Resolve().RTSerialize(); ; +#if UNITY_EDITOR && !SERVICE_HOST + if(game.PlayerDataStorage.PlayerKVGameplayLoop.Enabled) return game.PlayerDataStorage.PlayerKVGameplayLoop.Write("NewPlayerDataDic",Newtonsoft.Json.JsonConvert.SerializeObject(NewPlayerDataDic),remote); +#endif PlayFabMgr.Instance.UpdateUserDataValue("NewPlayerDataDic", Newtonsoft.Json.JsonConvert.SerializeObject(NewPlayerDataDic), remote); + return null; } public void Init() {