Пример #1
0
    private void OnClickDetailInfo(IUIObject obj)
    {
        EXPEDITION_CURRENT_STATE_INFO eXPEDITION_CURRENT_STATE_INFO = obj.Data as EXPEDITION_CURRENT_STATE_INFO;

        if (eXPEDITION_CURRENT_STATE_INFO != null)
        {
            if (eXPEDITION_CURRENT_STATE_INFO.i16ExpeditionCreateDataID <= 0)
            {
                return;
            }
            NkMilitaryList militaryList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetMilitaryList();

            if (militaryList == null)
            {
                return;
            }
            NkExpeditionMilitaryInfo validExpeditionMilitaryInfo = militaryList.GetValidExpeditionMilitaryInfo(eXPEDITION_CURRENT_STATE_INFO.ui8ExpeditionMilitaryUniq);
            if (validExpeditionMilitaryInfo == null)
            {
                return;
            }
            NkExpeditionMilitaryInfo expeditionMilitaryInfo = militaryList.GetExpeditionMilitaryInfo(validExpeditionMilitaryInfo.GetMilitaryUnique());
            if (expeditionMilitaryInfo == null)
            {
                return;
            }
            NkSoldierInfo[] expeditionSolInfo = expeditionMilitaryInfo.GetExpeditionSolInfo();
            if (expeditionSolInfo == null)
            {
                return;
            }
            int num = 0;
            for (int i = 0; i < 15; i++)
            {
                if (expeditionSolInfo[i] == null)
                {
                    num++;
                }
            }
            if (15 <= num)
            {
                string textFromNotify = NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("758");

                Main_UI_SystemMessage.ADDMessage(textFromNotify, SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
            }
            else
            {
                GS_EXPEDITION_DETAILINFO_REQ gS_EXPEDITION_DETAILINFO_REQ = new GS_EXPEDITION_DETAILINFO_REQ();
                gS_EXPEDITION_DETAILINFO_REQ.ui8ExpeditionMilitaryUniq = 0;
                gS_EXPEDITION_DETAILINFO_REQ.i64ExpeditionID           = eXPEDITION_CURRENT_STATE_INFO.i64ExpeditionID;
                gS_EXPEDITION_DETAILINFO_REQ.bUserInfo = true;
                SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_EXPEDITION_DETAILINFO_REQ, gS_EXPEDITION_DETAILINFO_REQ);
            }
        }
    }
Пример #2
0
    public NkSoldierInfo ChangeSolPosType(long solid, byte solpostype, byte solposindex, byte militaryunique, short battlepos)
    {
        NkMilitaryList militaryList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetMilitaryList();

        if (militaryList == null)
        {
            return(null);
        }
        NkSoldierInfo nkSoldierInfo = base.GetSoldierInfoFromSolID(solid);

        if (nkSoldierInfo == null)
        {
            return(null);
        }
        byte solPosType     = nkSoldierInfo.GetSolPosType();
        byte solPosIndex    = nkSoldierInfo.GetSolPosIndex();
        byte militaryUnique = nkSoldierInfo.GetMilitaryUnique();

        nkSoldierInfo.SetSolPosType(solpostype);
        nkSoldierInfo.SetSolPosIndex(solposindex);
        nkSoldierInfo.SetMilitaryUnique(militaryunique);
        nkSoldierInfo.SetBattlePos(battlepos);
        nkSoldierInfo = this.CleanSolPosType(solPosType, nkSoldierInfo);
        if (nkSoldierInfo == null)
        {
            return(null);
        }
        if (solPosType == 2)
        {
            if (solpostype != 2)
            {
                militaryList.DelMilitarySoldier(militaryUnique, solPosIndex);
            }
        }
        else if (solPosType == 6)
        {
            if (solpostype != 6)
            {
                militaryList.DelExpeditionMilitarySoldier(militaryUnique, solid);
            }
        }
        else if (solpostype == 2)
        {
            militaryList.AddMilitarySoldier(nkSoldierInfo.GetMilitaryUnique(), ref nkSoldierInfo);
        }
        else if (solpostype == 6)
        {
            militaryList.AddExpeditionMilitarySoldier(nkSoldierInfo.GetMilitaryUnique(), ref nkSoldierInfo);
        }
        return(nkSoldierInfo);
    }
Пример #3
0
    private void MakeMilitarySolList()
    {
        NkMilitaryList militaryList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetMilitaryList();

        if (militaryList != null)
        {
            for (int i = 0; i < 10; i++)
            {
                byte militaryunique = (byte)(i + 1);
                NkMineMilitaryInfo mineMilitaryInfo = militaryList.GetMineMilitaryInfo(militaryunique);
                if (mineMilitaryInfo != null && mineMilitaryInfo.IsValid())
                {
                    this.MakeMilitarySolList((int)militaryunique);
                }
            }
        }
    }
Пример #4
0
    private void MakeMilitarySolList(int militaryunique)
    {
        if (militaryunique <= 0)
        {
            return;
        }
        NkMilitaryList militaryList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetMilitaryList();

        if (militaryList == null)
        {
            return;
        }
        NkMineMilitaryInfo mineMilitaryInfo = militaryList.GetMineMilitaryInfo((byte)militaryunique);

        if (mineMilitaryInfo == null)
        {
            return;
        }
        for (int i = 0; i < 6; i++)
        {
            NkSoldierInfo solInfo = mineMilitaryInfo.GetSolInfo(i);
            this.AddSolList(solInfo, eSOL_POSTYPE.SOLPOS_MINE_MILITARY);
        }
    }
    public void SetExpeditionInfo(GS_EXPEDITION_DETAILINFO_ACK occupy_info, eExpeditionSearchDetailInfo_Mode eMode)
    {
        this.InitInfo();
        if (occupy_info != null)
        {
            this.m_expeditiondetailinfo = occupy_info;
            if (occupy_info.bUserInfo)
            {
                this.m_bHaveMilitary = true;
                eMode = eExpeditionSearchDetailInfo_Mode.eEXPEDITION_DETAILDLG_ATTACK;
            }
            else
            {
                this.m_bHaveMilitary = false;
                eMode = eExpeditionSearchDetailInfo_Mode.eEXPEDITION_DETAILDLG_DEFENCE;
            }
        }
        this.m_eMode = eMode;
        NkMilitaryList militaryList = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo.GetMilitaryList();

        if (militaryList == null)
        {
            return;
        }
        NkExpeditionMilitaryInfo validExpeditionMilitaryInfo = militaryList.GetValidExpeditionMilitaryInfo(this.m_expeditiondetailinfo.ui8ExpeditionMilitaryUniq);

        if (validExpeditionMilitaryInfo != null)
        {
            this.m_solinfo = validExpeditionMilitaryInfo;
        }
        NkExpeditionMilitaryInfo expeditionMilitaryInfo = militaryList.GetExpeditionMilitaryInfo(this.m_solinfo.GetMilitaryUnique());

        if (expeditionMilitaryInfo == null)
        {
            return;
        }
        NkSoldierInfo[] expeditionSolInfo = expeditionMilitaryInfo.GetExpeditionSolInfo();
        if (expeditionSolInfo != null)
        {
            this.m_pksolinfo = expeditionSolInfo;
        }
        if (eMode == eExpeditionSearchDetailInfo_Mode.eEXPEDITION_DETAILDLG_SEARCH)
        {
            base.ShowLayer(1, 4);
        }
        else if (eMode == eExpeditionSearchDetailInfo_Mode.eEXPEDITION_DETAILDLG_ATTACK)
        {
            base.ShowLayer(1, 6);
            if (occupy_info.ui8ExpeditionMilitaryUniq > 0)
            {
                this.m_btStart02.Text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1615");
            }
            else
            {
                this.m_btStart02.Hide(true);
            }
        }
        else if (eMode == eExpeditionSearchDetailInfo_Mode.eEXPEDITION_DETAILDLG_DEFENCE)
        {
            base.ShowLayer(1, 9);
        }
        this.InitInterface();
        this.ShowExpeditionInfo(eMode);
    }