Beispiel #1
0
    // レコードの追加
    public void AddRecord(int category, ServerDataDefine.PacketStructPresent data)
    {
        var contex = new PresentRecordListItemContex();

        // 共通
        contex.FixId         = data.serial_id;
        contex.CaptionText00 = MainMenuUtil.GetPresentCount(data).ToString();
        contex.CaptionText01 = data.message;
        contex.NoticeText    = "";
        contex.NoticeEnable  = false;
        if ((MasterDataDefineLabel.PresentType)data.present_type == MasterDataDefineLabel.PresentType.NOTICE)
        {
            string[] notice = data.message.Split(new String[] { message_split_text }, StringSplitOptions.None);
            if (notice.Length >= 2)
            {
                contex.CaptionText00 = "1";
                contex.CaptionText01 = notice[0];
                contex.NoticeText    = notice[1];
                contex.NoticeEnable  = true;
            }
        }
        contex.Category = category;

        // 画像はカテゴリ別に差し替え可能にする
        image(data, sprite => { contex.IconImage = sprite; });

        // ボタンフィードバック
        contex.DidSelectItem += OnClickedRecordButton;

        // 枠色変更
        contex.IconColor  = IconColor[contex.Category];
        contex.FrameColor = FrameColor[contex.Category];

        // レコードの追加先を指定
        switch ((Category)contex.Category)
        {
        case Category.Present:
            // アイテム受領期間までの残り時間
            if (data.delete_timing == 1)
            {
                // 無期限
                //contex.CaptionText02 = "ENDLESS";
            }
            else
            {
                DateTime date = TimeUtil.ConvertServerTimeToLocalTime((ulong)data.delete_timing);
                contex.CaptionText02 = contex.TimeLeftText(date);
            }
            contex.Caption01_H = 110;

            Records0.Add(contex);
            break;

        case Category.PresentLog:
            contex.CaptionText02 = "";
            contex.Caption01_H   = 80;
            Records1.Add(contex);
            break;
        }
    }
Beispiel #2
0
    // レコードの受領ボタンのフィードバック
    public void OnClickedRecordButton(PresentRecordListItemContex contex)
    {
        if (ServerApi.IsExists == true)
        {
            return;
        }

        if (GlobalMenuManager.Instance.IsPageClosing() == true)
        {
            return;
        }

        if (GlobalMenuManager.Instance.IsCangeTime())
        {
            return;
        }

        long[] ids = { contex.FixId };
        if (contex.NoticeEnable == false)
        {
            presentOpen(ids, false);
        }
        else
        {
            Dialog newDialog = Dialog.Create(DialogType.DialogScrollInfo);
            newDialog.SetDialogText(DialogTextType.Title, contex.CaptionText01);
            newDialog.SetDialogText(DialogTextType.OKText, GameTextUtil.GetText("BTN_RECON"));
            newDialog.AddScrollInfoText(contex.NoticeText);
            newDialog.SetDialogEvent(DialogButtonEventType.OK, new Action(() =>
            {
                if (contex.Category == 0)
                {
                    presentOpen(ids, false, true);
                }
            }));
            newDialog.Show();
        }
        SoundUtil.PlaySE(SEID.SE_MENU_OK);
    }