/** 踢出成员 */ public void kickMember(long memberID) { PlayerRoleGroupMemberData member = getMember(memberID); if (member == null) { me.warnLog("踢出成员时,不存在", member); return; } if (me.role.playerID == memberID) { me.warnLog("踢出成员时,不可踢出自己", memberID); return; } int canKickTitle = RoleGroupTitleConfig.get(_selfData.title).canKickTitle; if (canKickTitle <= 0 || member.title < canKickTitle) { me.warnLog("踢出成员时,权限不足", _selfData.title, member.title); return; } if (member.title == RoleGroupTitleType.Leader) { me.warnLog("踢出成员时,不可提出队长"); return; } me.send(FuncKickMemberRoleGroupRequest.create(_funcID, groupID, memberID)); }
/** 更改权限 */ public void changeApplyType(bool canApplyInAbs) { if (!RoleGroupTitleConfig.get(_selfData.title).canChangeApplyInAbs) { me.warnLog("修改群公告时,权限不够"); return; } me.send(FuncChangeRoleGroupCanApplyInAbsRequest.create(_funcID, groupID, canApplyInAbs)); }
/** 设置职位 */ public void setTitle(long memberID, int title) { int canSetTitle = RoleGroupTitleConfig.get(_selfData.title).canSetTitle; if (canSetTitle <= 0 || canSetTitle > title) { me.warnLog("设置职位时,没有权限", _selfData.title, title); return; } PlayerRoleGroupMemberData member = getMember(memberID); if (member == null) { me.warnLog("设置职位时,找不到目标成员", memberID); return; } if (member.title == RoleGroupTitleType.Leader || title == RoleGroupTitleType.Leader) { me.warnLog("设置职位时,不能设置队长", memberID, title); return; } if (member.title < canSetTitle) { me.warnLog("设置职位时,没有权限2", _selfData.title, member.title); return; } if (member.title == title) { me.warnLog("设置职位时,当前已是该职位", _selfData.title, member.title); return; } int num = RoleGroupTitleConfig.get(title).num; //超过数目 if (num > 0 && _memberTitleCount.get(title) >= num) { me.warnLog("设置职位时,超过容纳数目", title); return; } me.send(FuncSetTitleRoleGroupRequest.create(_funcID, groupID, memberID, title)); }
/** 改公告 */ public void changeNotice(String notice) { if (!RoleGroupTitleConfig.get(_selfData.title).canChangeNotice) { me.warnLog("修改群公告时,权限不够"); return; } if (_config.noticeCharLimit > 0 && StringUtils.getCharMachineNum(notice) > _config.noticeCharLimit) { me.warnLog("修改群公告时,名字过长"); return; } //敏感字 if (BaseGameUtils.hasSensitiveWord(notice)) { Ctrl.warnLog("修改群公告时,名字敏感"); GameC.info.showInfoCode(InfoCodeType.CreateRoleGroupFailed_nameIsSensitive); return; } me.send(FuncChangeRoleGroupNoticeRequest.create(_funcID, groupID, notice)); }
/// <summary> /// 是否可处理申请 /// </summary> public static bool canOperateApply(int id) { return(RoleGroupTitleConfig.get(id).canHandleApply); }