/// <summary> /// 開く /// </summary> public static void Open(MissionDialog prefab, Action <MissionDialog> onClose) { //ミッション一覧取得通信 MissionApi.CallMissionProgressApi((response) => { //ダイアログ開く var dialog = SharedUI.Instance.ShowSimpleDialog(); dialog.titleText.text = Masters.LocalizeTextDB.Get("MissionTitle"); dialog.closeButtonEnabled = true; var content = dialog.AddContent(prefab); content.BuildView(response, dialog); dialog.onClose += () => onClose?.Invoke(content); }); }
/// <summary> /// 個別受け取りのクリック時 /// </summary> private void OnClickReceiveButton(MissionContent content) { //受け取り通信 MissionApi.CallGetMissionRewardApi(content.server, (response) => { //ダイアログ生成 var dialog = SharedUI.Instance.ShowSimpleDialog(); dialog.titleText.text = Masters.LocalizeTextDB.Get("ReceiveMissionTitle"); dialog.closeButtonEnabled = true; var dialogContent = dialog.AddContent(this.missionReceiveDialog); dialogContent.BuildView(content); //ダイアログ閉じたら対象のミッションリストを更新 dialog.onClose += () => { switch (content.server.category) { case MissionApi.Category.Total: this.response.totalMission = response.totalMission; this.selectedTab.Set(this.response.totalMission); break; case MissionApi.Category.Daily: this.response.dailyMission = response.dailyMission; this.selectedTab.Set(this.response.dailyMission); break; case MissionApi.Category.StartDash: this.response.startDashMissionProgress = response.startDashMissionProgress; this.selectedTab.Set(this.response.startDashMissionProgress); break; case MissionApi.Category.Event: this.response.eventMissionProgress = response.eventMissionProgress; this.selectedTab.Set(this.response.eventMissionProgress); break; } this.missionScrollView.Initialize(this.missionContent.gameObject, this.selectedTab.missionList.Length, this.OnUpdateElement); }; }); }