예제 #1
0
    public void SetHeroHeadSlotInfo(cmd_match_room_hero_slot _data)
    {
        //int LSelectBtnGroupLength = this.TLFrame.GetMember("LHeroPortraitBtnGroupLength");
        //Value tmpTopFrame = _data.nSlotIndex / LSelectBtnGroupLength < 1 ? TLFrame : TRFrame;
        if (!Value.IsValueValid(TFrame))
        {
            return;
        }

        int LSelectBtnGroupLength = TFrame.GetMember("LHeroPortraitBtnGroupLength");

        int  SlotIndex = _data.nSlotIndex % LSelectBtnGroupLength;
        bool bIsLock   = Convert.ToBoolean(_data.bIsLock);

        if (TFrame.Invoke("ChangeHeroBtn", SlotIndex, _data.nHeroID, bIsLock, false, _data.szHeroTooltip) == null)
        {
            Trace.LogError("call ChangeHeroBtn failded");
            return;
        }

        HeroPortraitTable.Add(_data.nSlotIndex, _data.nHeroID);
    }
예제 #2
0
    public void SetHeroHeadSlotInfo(IntPtr nHeroHeadSlotInfo, int nPtrLen)
    {
        if (!Value.IsValueValid(vSelectHeroFrame))
        {
            return;
        }
        IntPtrVaArgParseHelper    helper    = new IntPtrVaArgParseHelper(nHeroHeadSlotInfo, nPtrLen);
        cmd_match_room_hero_count countData = helper.get <cmd_match_room_hero_count>();

        for (int i = 0; i < countData.nHeroCount; ++i)
        {
            cmd_match_room_hero_slot data = helper.get <cmd_match_room_hero_slot>();

            bool bIsLock = Convert.ToBoolean(data.bIsLock);
            bool bIsHave = Convert.ToBoolean(data.bCurrentIsHave);

            if (vSelectHeroFrame.Invoke("SetHeroPortraitSlotInfo", data.nSlotIndex, data.nHeroID, !bIsLock, bIsHave, data.szHeroTooltip) == null)
            {
                Trace.LogError("call SetHeroPortraitSlotInfo failded");
                return;
            }
        }
    }