public void OnPlunderStart(IUIObject obj)
    {
        if (!SoldierBatch.SOLDIERBATCH.IsHeroBatch())
        {
            string     empty = string.Empty;
            NrCharBase @char = NrTSingleton <NkCharManager> .Instance.GetChar(1);

            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("124"),
                "charname",
                @char.GetCharName()
            });

            Main_UI_SystemMessage.ADDMessage(empty, SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
            return;
        }
        NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo();

        long charSubData = myCharInfo.GetCharSubData(eCHAR_SUBDATA.CHAR_SUBDATA_PLUNDER_COOLTIME);
        long dueDateTick = PublicMethod.GetDueDateTick(charSubData);

        if (dueDateTick > 0L)
        {
            string textFromMessageBox = NrTSingleton <NrTextMgr> .Instance.GetTextFromMessageBox("94");

            string textFromMessageBox2 = NrTSingleton <NrTextMgr> .Instance.GetTextFromMessageBox("24");

            MsgBoxUI msgBoxUI = NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.MSGBOX_DLG) as MsgBoxUI;

            msgBoxUI.SetMsg(new YesDelegate(this.OnStartMatch), null, textFromMessageBox, textFromMessageBox2, eMsgType.MB_OK_CANCEL, 2);
            return;
        }
        int solBatchNum = SoldierBatch.SOLDIERBATCH.GetSolBatchNum();
        int maxSolArray = SoldierBatch.SOLDIERBATCH.GetMaxSolArray();

        if (solBatchNum < maxSolArray)
        {
            this.ShowMessageBox_NotEnough_SolNumBatch(new YesDelegate(this.OnStartMatch), solBatchNum, maxSolArray);
            return;
        }
        this.OnStartMatch(null);
    }