예제 #1
0
    /** 邀请入群 */
    public void inviteRoleGroup(long groupID, long targetID)
    {
        if (!me.role.checkRoleConditions(_config.joinConditions, true))
        {
            me.warnLog("邀请入群时,condition不满足");
            return;
        }

        if (groupID > 0)
        {
            PlayerRoleGroup roleGroup = getRoleGroup(groupID);

            if (roleGroup == null)
            {
                me.warnLog("邀请入群时,找不到群", groupID);
                return;
            }

            if (roleGroup.isFull())
            {
                me.warnLog("邀请入群时,人数已满", groupID);
                return;
            }

            if (!RoleGroupTitleType.canOperateApply(roleGroup.getSelfData().title))
            {
                Ctrl.warnLog("邀请入群时,邀请者没有权限", groupID, roleGroup.getSelfData().title);
                return;
            }

            if (roleGroup.getMember(targetID) != null)
            {
                me.warnLog("邀请入群时,已在群中", groupID);
                return;
            }
        }
        else
        {
            if (!_config.canInviteCreate)
            {
                me.warnLog("邀请入群直接创建时,不支持直接邀请创建");
                return;
            }

            if (_config.eachPlayerGroupNum != 1)
            {
                me.warnLog("邀请入群直接创建时,必须为单一群");
                return;
            }

            if (isRoleGroupFull())
            {
                me.warnLog("邀请入群直接创建时,已达到数目限制");
                return;
            }
        }

        me.send(FuncInviteRoleGroupRequest.create(_funcID, groupID, targetID));
    }
예제 #2
0
    /// <summary>
    /// 创建实例
    /// </summary>
    public static FuncInviteRoleGroupRequest create(int funcID, long groupID, long playerID)
    {
        FuncInviteRoleGroupRequest re = (FuncInviteRoleGroupRequest)BytesControl.createRequest(dataID);

        re.funcID   = funcID;
        re.groupID  = groupID;
        re.playerID = playerID;
        return(re);
    }