示例#1
0
    //某个玩家进入禁止英雄状态
    public void MatchRoomRuleBanHero(IntPtr ptrParam, int nLen)
    {
        IntPtrVaArgParseHelper        helper = new IntPtrVaArgParseHelper(ptrParam, nLen);
        cmd_match_room_ban_hero_count obj    = helper.get <cmd_match_room_ban_hero_count>();

        // 重置10个位置高亮的部分
        setAllPosNotBright();

        int         nNeedTime    = 0;
        int         nCamp        = 0;
        SelectPhase nSelectState = SelectPhase.ENUM_WAIT_DISABLEHERO;

        for (int i = 0; i < obj.nCount; ++i)
        {
            cmd_match_room_rule_ban_hero cmdData = helper.get <cmd_match_room_rule_ban_hero>();
            if (nNeedTime == 0)
            {
                nNeedTime = cmdData.nTimeInterval;
            }
            if (nCamp == 0)
            {
                nCamp = cmdData.nCamp;
            }
            if (cmdData.bIsSelf == 1)
            {
                CanSelectHero        = true;
                CanChooseDisableHero = true;
                // 如果是轮到本地玩家去选择禁用英雄, 则解除这个锁
                SetSelectHeroListLock(false);

                nSelectState = SelectPhase.ENUM_DISABLE;
            }
            //高亮哪个位置可以禁用英雄
            SetChooseDisablePos(cmdData.nCamp, cmdData.nPos);
        }
        // 启用选择禁用英雄的倒计时
        ShowSelectDisableHeroTime(nNeedTime, nCamp, (int)nSelectState);
    }
示例#2
0
    //开始选择英雄
    public void MatchRoomRuleSelectHero(IntPtr ptrParam, int nPtrLen)
    {
        IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen);
        cmd_count cmdCount            = helper.get <cmd_count>();

        // 重置10个位置高亮的部分
        setAllPosNotBright();

        int nTime = 0;
        int nCamp = 0;

        for (int i = 0; i < cmdCount.nCount; ++i)
        {
            cmd_match_room_rule_ban_hero cmdInfo = helper.get <cmd_match_room_rule_ban_hero>();
            if (nTime == 0)
            {
                nTime = cmdInfo.nTimeInterval;
            }
            if (nCamp == 0)
            {
                nCamp = cmdInfo.nCamp;
            }
            if (cmdInfo.bIsSelf == 1)
            {
                CanSelectHero = true;
                //准备按钮开启
                SetHeroConfirmBtnVisible();
                SetSelectHeroListLock(false);
            }

            //高亮哪个位置可以禁用英雄
            SetChooseDisablePos(cmdInfo.nCamp, cmdInfo.nPos);
        }
        //启用选择英雄倒计时
        ShowSelectDisableHeroTime(nTime, nCamp, (int)SelectPhase.ENUM_SELECT);
    }