/// <summary> /// 強化・合成する。 /// </summary> /// <param name="targetInstanceId"></param> /// <param name="materialInstanceId"></param> /// <returns></returns> public async UniTask SyntheticCharacterAsync(string targetInstanceId, string materialInstanceId) { Characters[targetInstanceId].Level += Characters[materialInstanceId].Level; Characters.Remove(materialInstanceId); await InventoryManager.ConsumeSyntheticMaterialCharacter(materialInstanceId); await UserDataManager.UpdatePlayFab(); }
/// <summary> /// ログイン時に取得したデータをキャッシュする。 /// </summary> /// <param name="loginResult"></param> /// <returns></returns> public static async UniTask UpdateLocalCacheAsync(LoginResult loginResult) { // カタログは他のインスタンスの初期化にも必要なので最初に行うこと await UniTask.WhenAll( CatalogManager.SyncPlayFabToClientAsync(), StoreManager.SyncPlayFabToClientAsync(), FriendManager.SyncPlayFabToClientAsync(), NewsManager.SyncPlayFabToClientAsync(), RankingManager.SyncPlayFabToClientAsync()); TitleDataManager.SyncPlayFabToClient(loginResult.InfoResultPayload.TitleData); PlayerProfileManager.SyncPlayFabToClient(loginResult.InfoResultPayload.PlayerProfile, loginResult.InfoResultPayload.PlayerStatistics); InventoryManager.SyncPlayFabToClient(loginResult.InfoResultPayload.UserInventory); VirtualCurrencyManager.SyncPlayFabToClient(loginResult.InfoResultPayload.UserVirtualCurrency); UserDataManager.SyncPlayFabToClient(loginResult.InfoResultPayload.UserData); // ログインボーナス獲得処理 await CheckAndAddLoginBonusAsync(loginResult); }
/// <summary> /// デッキを更新する。 /// </summary> /// <param name="deckCharacters"></param> /// <returns></returns> public async UniTask UpdateDeckAsync(Dictionary <int, string> deckCharacters) { UserDataManager.User.Deck.InstanceIds = deckCharacters; await UserDataManager.UpdatePlayFab(); }
/// <summary> /// チュートリアルフラグを更新する。 /// </summary> /// <param name="flag"></param> /// <returns></returns> public async UniTask UpdateTutorialFlagAsync(TutorialFlag flag) { UserDataManager.User.TutorialFlag |= flag; await UserDataManager.UpdatePlayFab(); }