/// <summary> /// Moves a member of the raid group into another subgroup. /// </summary> /// <param name="member">the member to move</param> /// <param name="group">the target subgroup</param> /// <returns>Whether the move was successful or false if the target group was full</returns> public bool MoveMember(GroupMember member, SubGroup group) { if (group.IsFull) { return(false); } member.SubGroup.m_members.Remove(member); group.AddMember(member); return(true); }
public bool CheckFull(GroupMember member, SubGroup group) { if (group.IsFull) { var chr = member.Character; if (chr != null) { GroupHandler.SendResult(chr.Client, GroupResultType.Invite, GroupResult.GroupIsFull); } return(false); } return(true); }
public bool CheckFull(GroupMember member, SubGroup group) { if (!group.IsFull) { return(true); } Character character = member.Character; if (character != null) { GroupHandler.SendResult(character.Client, GroupResult.GroupIsFull); } return(false); }
protected Group(Character leader, byte maxGroupUnits) { syncLock = new ReaderWriterLockWrapper(); m_subGroups = new SubGroup[maxGroupUnits]; for (byte groupUnitId = 0; (int)groupUnitId < (int)maxGroupUnits; ++groupUnitId) { m_subGroups[groupUnitId] = new SubGroup(this, groupUnitId); } m_targetIcons = new EntityId[8]; for (int index = 0; index < m_targetIcons.Length; ++index) { m_targetIcons[index] = EntityId.Zero; } m_lootMethod = LootMethod.GroupLoot; m_lootThreshold = ItemQuality.Uncommon; m_DungeonDifficulty = 0U; Leader = AddMember(leader, false); m_masterLooter = null; }