Beispiel #1
0
    public override void ExcuteGameGuide()
    {
        if (this.srcItem == null)
        {
            return;
        }
        GS_ITEM_MOVE_REQ gS_ITEM_MOVE_REQ = new GS_ITEM_MOVE_REQ();
        NrPersonInfoUser charPersonInfo   = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1);

        if (charPersonInfo == null)
        {
            return;
        }
        NkSoldierInfo soldierInfoFromSolID = charPersonInfo.GetSoldierInfoFromSolID(this.destSolID);

        if (soldierInfoFromSolID == null)
        {
            return;
        }
        if (soldierInfoFromSolID.GetSolPosType() == 2 || soldierInfoFromSolID.GetSolPosType() == 6)
        {
            return;
        }
        ITEMTYPE_INFO itemTypeInfo = NrTSingleton <ItemManager> .Instance.GetItemTypeInfo(this.srcItem.m_nItemUnique);

        if (itemTypeInfo == null)
        {
            return;
        }
        ITEMINFO itemInfo = NrTSingleton <ItemManager> .Instance.GetItemInfo(this.srcItem.m_nItemUnique);

        if (itemInfo != null && itemInfo.m_nItemType == 19 && !soldierInfoFromSolID.IsAtbCommonFlag(2L))
        {
            return;
        }
        if (!soldierInfoFromSolID.IsEquipClassType(itemTypeInfo.WEAPONTYPE, itemTypeInfo.EQUIPCLASSTYPE))
        {
            string textFromNotify = NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("34");

            Main_UI_SystemMessage.ADDMessage(textFromNotify, SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
            return;
        }
        if (NrTSingleton <ItemManager> .Instance.GetItemMinLevelFromItem(this.srcItem) > (int)soldierInfoFromSolID.GetLevel())
        {
            string textFromNotify2 = NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("358");

            Main_UI_SystemMessage.ADDMessage(textFromNotify2, SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
            return;
        }
        int equipItemPos = (int)NrTSingleton <ItemManager> .Instance.GetEquipItemPos(this.srcItem.m_nItemUnique);

        gS_ITEM_MOVE_REQ.m_nMoveType = NrTSingleton <ItemManager> .Instance.GetItemMoveType_InvenToSol(this.srcItem.m_nPosType);

        gS_ITEM_MOVE_REQ.m_nSrcItemID  = this.srcItem.m_nItemID;
        gS_ITEM_MOVE_REQ.m_nSrcItemPos = this.srcItem.m_nItemPos;
        gS_ITEM_MOVE_REQ.m_nSrcSolID   = this.srcSolID;
        if (this.destItem != null)
        {
            gS_ITEM_MOVE_REQ.m_nDestItemID  = this.destItem.m_nItemID;
            gS_ITEM_MOVE_REQ.m_nDestItemPos = equipItemPos;
            gS_ITEM_MOVE_REQ.m_nDestSolID   = this.destSolID;
        }
        else
        {
            gS_ITEM_MOVE_REQ.m_nDestItemID  = 0L;
            gS_ITEM_MOVE_REQ.m_nDestItemPos = equipItemPos;
            gS_ITEM_MOVE_REQ.m_nDestSolID   = this.destSolID;
        }
        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_ITEM_MOVE_REQ, gS_ITEM_MOVE_REQ);
        NrTSingleton <GameGuideManager> .Instance.ExecuteGuide = true;
        string itemMaterialCode = NrTSingleton <ItemManager> .Instance.GetItemMaterialCode(this.srcItem.m_nItemUnique);

        if (!string.IsNullOrEmpty(itemMaterialCode))
        {
            TsAudioManager.Container.RequestAudioClip("UI_ITEM", itemMaterialCode, "DROP", new PostProcPerItem(NrAudioClipDownloaded.OnEventAudioClipDownloadedImmedatePlay));
        }
    }
Beispiel #2
0
    public override void ExcuteGameGuide()
    {
        if (this.srcItem == null || this.destItem == null)
        {
            return;
        }
        GS_ITEM_MOVE_REQ gS_ITEM_MOVE_REQ = new GS_ITEM_MOVE_REQ();
        NrPersonInfoUser charPersonInfo   = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1);

        if (charPersonInfo == null)
        {
            return;
        }
        NkSoldierInfo soldierInfoFromSolID = charPersonInfo.GetSoldierInfoFromSolID(this.destSolID);

        if (soldierInfoFromSolID == null)
        {
            return;
        }
        ITEMTYPE_INFO itemTypeInfo = NrTSingleton <ItemManager> .Instance.GetItemTypeInfo(this.srcItem.m_nItemUnique);

        if (itemTypeInfo == null)
        {
            return;
        }
        if (!soldierInfoFromSolID.IsEquipClassType(itemTypeInfo.WEAPONTYPE, itemTypeInfo.EQUIPCLASSTYPE))
        {
            string textFromNotify = NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("34");

            Main_UI_SystemMessage.ADDMessage(textFromNotify, SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
            return;
        }
        if (NrTSingleton <ItemManager> .Instance.GetItemMinLevelFromItem(this.srcItem) > (int)soldierInfoFromSolID.GetLevel())
        {
            string textFromNotify2 = NrTSingleton <NrTextMgr> .Instance.GetTextFromNotify("358");

            Main_UI_SystemMessage.ADDMessage(textFromNotify2, SYSTEM_MESSAGE_TYPE.NAGATIVE_MESSAGE);
            return;
        }
        int equipItemPos = (int)NrTSingleton <ItemManager> .Instance.GetEquipItemPos(this.srcItem.m_nItemUnique);

        gS_ITEM_MOVE_REQ.m_nMoveType = NrTSingleton <ItemManager> .Instance.GetItemMoveType_InvenToSol(this.srcItem.m_nPosType);

        gS_ITEM_MOVE_REQ.m_nSrcItemID  = this.srcItem.m_nItemID;
        gS_ITEM_MOVE_REQ.m_nSrcItemPos = this.srcItem.m_nItemPos;
        gS_ITEM_MOVE_REQ.m_nSrcSolID   = this.srcSolID;
        if (this.destItem != null)
        {
            gS_ITEM_MOVE_REQ.m_nDestItemID  = this.destItem.m_nItemID;
            gS_ITEM_MOVE_REQ.m_nDestItemPos = equipItemPos;
            gS_ITEM_MOVE_REQ.m_nDestSolID   = this.destSolID;
        }
        else
        {
            gS_ITEM_MOVE_REQ.m_nDestItemID  = 0L;
            gS_ITEM_MOVE_REQ.m_nDestItemPos = equipItemPos;
            gS_ITEM_MOVE_REQ.m_nDestSolID   = this.destSolID;
        }
        SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_ITEM_MOVE_REQ, gS_ITEM_MOVE_REQ);
        NrTSingleton <GameGuideManager> .Instance.ExecuteGuide = true;
    }