示例#1
0
    /// <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);
        });
    }
示例#2
0
    /// <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);
            };
        });
    }