Exemple #1
0
    private void OnFriendAccept(object message)
    {
        var ntf = message as ZonePvp1v1AccepteNtf;

        if (!ntf.accept)
        {
            if (actData != null && actData.remain_times > 0)
            {
                ActCenterPlugin plugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin;
                plugin.InvokeActFun((uint)actData.act_id, "ReqCmd7");
            }
            else
            {
                _CloseWindow(null);
            }


            if (!string.IsNullOrEmpty(ntf.reason))
            {
                UIAPI.ShowMsgTip(ntf.reason);
            }
            else
            {
                if (!ntf.is_fight)
                {
                    UIAPI.ShowMsgTip("好友已拒绝你的比试邀请");
                }
                else
                {
                    UIAPI.ShowMsgTip("好友当前状态不能接受邀请");
                }
            }
        }
    }
Exemple #2
0
    public void OnClickCancelBtn()
    {
        if (isMatchReturn)
        {
            return;
        }
        if (!data.isFriend)
        {
            plugin.SendMessage("SendCancelMatchEnemyReq");
        }
        else
        {
            if (actData == null)
            {
                KHPluginManager.Instance.GetPluginByName(PVPRealTimeMainUIPlugin.PluginName).SendMessage("CancelInviteFriend", friend);
            }
            else
            {
                KHPluginManager.Instance.GetPluginByName(PVPRealTimeMainUIPlugin.PluginName).SendMessage("ActCancelInviteFriend", friend);
                if (actData.remain_times > 0)
                {
                    ActCenterPlugin actPlugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin;
                    actPlugin.InvokeActFun((uint)actData.act_id, "ReqCmd7");
                }
                else
                {
                    _CloseWindow(null);
                }
            }
        }

        if (actData == null)
        {
            LoadingTipStack.Show("等待取消中");
        }
    }
Exemple #3
0
    //先进界面再发请求,以防止未打开界面时,就已经匹配了。
    private void InviteFriend(object data)
    {
        BriefRoleInfo friend = data as BriefRoleInfo;
        var           req    = new ZonePvp1v1InviteReq();

        req.friend_gid  = friend.player_id;
        req.friend_zone = friend.zoneid;
        req.invite      = true;
        var friendModel = KHPluginManager.Instance.GetModel(PVPRealTimeFriendPlugin.PluginName) as PVPRealTimeFriendModel;

        if (actData != null)
        {
            req.pvp_type = actData.pvp_type;
        }
        else
        {
            req.pvp_type = friendModel.banMode ? 1u : 0u;
        }


        if (friendModel.platformFriendList.Contains(friend))
        {
            req.plat_friend = true;
        }
        else
        {
            req.plat_friend = false;
        }
        NetworkManager.Instance.Send <ZonePvp1v1InviteReq>((uint)ZoneCmd.ZONE_PVP_1V1_INVITE, req, (object fullInfo) =>
        {
            ZonePvp1v1InviteResp resp = fullInfo as ZonePvp1v1InviteResp;
            if (resp.ret_info.ret_code == 0)
            {
                isStarted = true;
                if (actData == null)
                {
                    NGUITools.SetActive(Button, true);
                }
            }
            else
            {
                ErrorCodeCenter.DefaultProcError(resp.ret_info);

                if (actData != null && actData.remain_times > 0)
                {
                    ActCenterPlugin plugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin;
                    plugin.InvokeActFun((uint)actData.act_id, "ReqCmd7");
                }
                else
                {
                    _CloseWindow(null);
                }
            }
            if (resp.refresh)
            {
                var model = plugin.Model as PVPRealTimeMainUIModel;
                model.TriggerBinding("RefreshFriendList");
            }
        }, false, timeoutCallback => {
            UIAPI.ShowMsgTip("邀请好友比试超时");

            if (actData != null && actData.remain_times > 0)
            {
                ActCenterPlugin plugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin;
                plugin.InvokeActFun((uint)actData.act_id, "ReqCmd7");
            }
            else
            {
                _CloseWindow(null);
            }
        });
    }