公会任命
parent
0ff0bc218c
commit
38c06778f1
|
@ -94,30 +94,45 @@ public class GuildInfo extends MongoBase {
|
|||
this.serverId = GameApplication.serverId;
|
||||
}
|
||||
|
||||
public void addMembers(int type,int uid){
|
||||
public void setMembers(Map<Integer, Set<Integer>> members) {
|
||||
this.members = members;
|
||||
updateString("members", members);
|
||||
}
|
||||
|
||||
public void addMembers(int type, int uid){
|
||||
if(!members.containsKey(type)){
|
||||
members.put(type,new HashSet<>());
|
||||
}
|
||||
members.get(type).add(uid);
|
||||
totalMembers++;
|
||||
updateString("members." + type,members.get(type));
|
||||
updateString("totalMembers",totalMembers);
|
||||
setMembers(members);
|
||||
}
|
||||
|
||||
public boolean removeMember(int type,int uid){
|
||||
boolean remove = members.get(type).remove(uid);
|
||||
if(remove){
|
||||
totalMembers--;
|
||||
updateString("members." + type,members.get(type));
|
||||
updateString("totalMembers",totalMembers);
|
||||
setMembers(members);
|
||||
}
|
||||
return remove;
|
||||
}
|
||||
|
||||
public void appointMember(int oldPost, int newPost, int uid){
|
||||
boolean removed = members.get(oldPost).remove(uid);
|
||||
if(removed){
|
||||
if(!members.containsKey(newPost)){
|
||||
members.put(newPost,new HashSet<>());
|
||||
}
|
||||
members.get(newPost).add(uid);
|
||||
}
|
||||
setMembers(members);
|
||||
}
|
||||
|
||||
public void setAnnounce(String announce) {
|
||||
this.announce = announce;
|
||||
updateString("announce",announce);
|
||||
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
|
|
|
@ -685,7 +685,7 @@ public class GuildLogic {
|
|||
|
||||
GuildInfo guildInfo = GuilidManager.getGuildInfo(targetGuildId);
|
||||
int uidType = getMemberType(uid, guildInfo.getMembers());
|
||||
boolean isIn=false;
|
||||
boolean isIn = false;
|
||||
for(Set<Integer> memberEntry : guildInfo.getMembers().values()){
|
||||
if(memberEntry.contains(targetUid)){
|
||||
isIn =true;
|
||||
|
@ -707,8 +707,7 @@ public class GuildLogic {
|
|||
throw new ErrorCodeException(ErrorCode.FAMILY_LEADER_MAX);
|
||||
}
|
||||
}
|
||||
guildInfo.removeMember(targetType,targetUid);
|
||||
guildInfo.addMembers(position,targetUid);
|
||||
guildInfo.appointMember(targetType, position, targetUid);
|
||||
sendPositionChange(targetUid,position,guildId);
|
||||
if(position == GlobalsDef.CHAIRMAN){
|
||||
guildInfo.removeMember(GlobalsDef.CHAIRMAN,uid);
|
||||
|
|
Loading…
Reference in New Issue