/// <summary> /// ホームへ遷移する。 /// </summary> public async UniTaskVoid MoveHomeSceneAsync() { // チュートリアルの進行状況によってはユーザーの情報を登録するダイアログを表示する。 if (!UserDataManager.User.TutorialFlag.HasFlag(TutorialFlag.SetNameAndGender)) { var result = await SetUserInformationDialog.ShowAsync(); if (result == DialogResult.Cancel) { return; } } // チュートリアルの進行状況によってはオープニングのイベントを表示する。 // という予定だったが今回のサンプルでは特に見せたいものがないので、何も表示せずに初期アイテムとキャラクターの付与を行っておく。 if (!UserDataManager.User.TutorialFlag.HasFlag(TutorialFlag.ShowOpeningEvent)) { UserDataManager.User.TutorialFlag |= TutorialFlag.ShowOpeningEvent; await StoreManager.PurchaseItemAsync(StoreId.DummyStore, "bundle-initial-present-0001", VirtualCurrencyNames.MS.Code); await UserDataManager.UpdatePlayFab(); } // シーン遷移 SceneManager.LoadScene("HomeScene"); }
/// <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="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(); }