public MarsGroupMember AddGroupMember(CombatInfo combatInfo) { MarsGroupMember newMember = new MarsGroupMember(combatInfo, this.getOid()); _groupMembers.put(newMember.getOid(), newMember); combatInfo.setGroupOid(this.GetGroupOid()); combatInfo.setGroupMemberOid(newMember.getOid()); GroupClient.SendGroupEventMessage( GroupClient.GroupEventType.JOINED, this, combatInfo.getOwnerOid()); return newMember; }
public void SetGroupLeaderOid(long value) { _groupLeaderOid = value; if (value > 0) GroupClient.SendGroupEventMessage(GroupClient.GroupEventType.LEADERCHANGED, this, value); // Default to remaining person until group is cleaned up and removed if (_groupMembers.size() == 1) { List<MarsGroupMember> groupMembers = new ArrayList<MarsGroupMember>(_groupMembers.values()); _groupLeaderOid = groupMembers.get(0).GetGroupMemberOid(); } }
public void RemoveGroupMember(CombatInfo combatInfo) { GroupClient.SendGroupEventMessage( GroupClient.GroupEventType.LEFT, this, combatInfo.getOwnerOid()); _groupMembers.remove(combatInfo.getGroupMemberOid()); combatInfo.setGroupMemberOid(0); combatInfo.setGroupOid(0); // If no more members are in the group, then group is disolving and we need to clean up the // voice group if (_groupMembers.size() == 0) RemoveVoiceGroup(); }