public GroupMemberViewModel(GroupMemberData data) { user = new GroupUser(); user.groupID = data.group_id; user.userID = data.user_id; user.avatar = data.portrait; user.friend_name = data.friend_name; user.group_user_nickname = data.group_user_nickname; user.id_card = data.id_card; user.inv_name = data.inv_name; user.is_administrator = data.is_administrator; user.is_manager = data.is_manager; user.is_shield = data.is_shield; user.user_name = data.user_name; NickName = string.IsNullOrEmpty(user.friend_name) ? user.user_name : user.friend_name; GroupNickName = string.IsNullOrEmpty(user.group_user_nickname) ? user.user_name : user.group_user_nickname; IDCard = user.id_card; if (user.is_administrator == 1) { Leave = "群主"; } else if (user.is_manager == 1) { Leave = "管理员"; } else { Leave = "成员"; } }
public S_PARTY_MEMBER_STAT_UPDATE(TeraMessageReader reader) : base(reader) { ServerId = reader.ReadUInt32(); PlayerId = reader.ReadUInt32(); CurrentHP = /*reader.Version < 321550 || reader.Version > 321600 ? */ reader.ReadInt64() /*: reader.ReadInt32()*/; CurrentMP = reader.ReadInt32(); MaxHP = /*reader.Version < 321550 || reader.Version > 321600 ? */ reader.ReadInt64() /*: reader.ReadInt32()*/; MaxMP = reader.ReadInt32(); Level = reader.ReadInt16(); InCombat = reader.ReadInt16() > 0; Vitality = reader.ReadInt16(); Alive = reader.ReadBoolean(); reader.Skip(4); CurrentRE = reader.ReadInt32(); MaxRE = reader.ReadInt32(); GroupMemberData = new GroupMemberData() { ServerId = ServerId, PlayerId = PlayerId, CurrentHP = CurrentHP, CurrentMP = CurrentMP, CurrentST = CurrentRE, MaxHP = MaxHP, MaxMP = MaxMP, MaxST = MaxRE, Level = (uint)Level, InCombat = InCombat, Alive = Alive }; }
public void Disband() { Members.Clear(); Leader = new GroupMemberData(); IsRaid = false; InGroup = false; Size = Members.Count; }
public async Task <GroupMemberData[]> GetGroupMembers() { UserSession session = await Database.UserSessions.FromSignalRId(Context.UserIdentifier); User user = session.User; Group grp = user.GroupMember.Group; List <GroupMemberData> list = new List <GroupMemberData>(); foreach (GroupMember gmem in grp.GroupMembers) { GroupMemberData res = await GetGroupMember(gmem.User.Id.ToString()); list.Add(res); } return(list.ToArray()); }
public S_PARTY_MEMBER_LIST(TeraMessageReader reader) : base(reader) { var count = reader.ReadUInt16(); var offset = reader.ReadUInt16(); Im = reader.ReadBoolean(); Raid = reader.ReadBoolean(); reader.Skip(12); LeaderServerId = reader.ReadUInt32(); LeaderPlayerId = reader.ReadUInt32(); reader.Skip(19); Members = new List <GroupMemberData>(); for (var i = 0; i < count; i++) { var u = new GroupMemberData(); reader.RepositionAt(offset); reader.Skip(2); var nextOffset = reader.ReadUInt16(); var nameOffset = reader.ReadUInt16(); u.ServerId = reader.ReadUInt32(); u.PlayerId = reader.ReadUInt32(); u.Level = reader.ReadUInt32(); u.Class = (Class)reader.ReadUInt32(); u.Online = reader.ReadBoolean(); u.EntityId = reader.ReadUInt64(); u.Order = reader.ReadInt32(); u.CanInvite = reader.ReadBoolean(); u.Laurel = (Laurel)reader.ReadUInt32(); u.Awakened = reader.ReadInt32() > 0; reader.RepositionAt(nameOffset); u.Name = reader.ReadTeraString(); u.Alive = true; u.IsLeader = u.ServerId == LeaderServerId && u.PlayerId == LeaderPlayerId; Members.Add(u); offset = nextOffset; } }
public void addGroupMember(GroupMemberData data) { queue.QueueTask(() => { if (data == null) { return; } var user = db.groupUsers.Where(p => p.groupID == data.group_id && p.userID == data.user_id).FirstOrDefault(); if (user != null) { user.groupID = data.group_id; user.userID = data.user_id; user.avatar = data.portrait; user.friend_name = data.friend_name; user.group_user_nickname = data.group_user_nickname; user.id_card = data.id_card; user.inv_name = data.inv_name; user.is_administrator = data.is_administrator; user.is_manager = data.is_manager; user.is_shield = data.is_shield; user.user_name = data.user_name; db.SaveChanges(); } else { GroupUser user1 = new GroupUser(); user1.groupID = data.group_id; user1.userID = data.user_id; user1.avatar = data.portrait; user1.friend_name = data.friend_name; user1.group_user_nickname = data.group_user_nickname; user1.id_card = data.id_card; user1.inv_name = data.inv_name; user1.is_administrator = data.is_administrator; user1.is_manager = data.is_manager; user1.is_shield = data.is_shield; user1.user_name = data.user_name; db.groupUsers.Add(user1); db.SaveChanges(); } }); }
public S_PARTY_MEMBER_INFO(TeraMessageReader reader) : base(reader) { var count = reader.ReadUInt16(); var offset = reader.ReadUInt16(); reader.Skip(8); Id = reader.ReadUInt32(); reader.BaseStream.Position = offset - 4; Members = new List <GroupMemberData>(); for (var i = 0; i < count; i++) { var u = new GroupMemberData(); reader.Skip(2); // var current = reader.ReadUInt16(); var next = reader.ReadUInt16(); var nameOffset = reader.ReadUInt16(); u.PlayerId = reader.ReadUInt32(); u.Class = (Class)reader.ReadUInt16(); reader.Skip(2 + 2); u.Level = Convert.ToUInt32(reader.ReadUInt16()); reader.ReadBoolean(); reader.Skip(1); u.Order = Convert.ToInt32(reader.ReadInt16()); u.GuardId = reader.ReadUInt32(); u.SectionId = reader.ReadUInt32(); //u.Location = SessionManager.DB.GetSectionName(gId, aId); u.IsLeader = reader.ReadBoolean(); //u.Laurel = (Laurel)reader.ReadUInt32(); //Console.WriteLine("---"); u.Online = reader.ReadBoolean(); //Console.WriteLine(reader.ReadByte()); //Console.WriteLine(reader.ReadByte()); reader.BaseStream.Position = nameOffset - 4; u.Name = reader.ReadTeraString(); //u.IsLeader = u.PlayerId == Id; Members.Add(u); if (next != 0) { reader.BaseStream.Position = next - 4; } } }
private void UpdateMembers() { if (this.InvokeRequired) { Invoke(new MethodInvoker(UpdateMembers)); return; } else { List <UUID> requestids = new List <UUID>(); lock (Members) { lock (MemberData) { foreach (GroupMember member in Members.Values) { GroupMemberData memberData = new GroupMemberData(); memberData.ID = member.ID; MemberData[member.ID] = memberData; // Add this ID to the name request batch if (!instance.avnames.ContainsKey(member.ID)) { requestids.Add(member.ID); } else { Names[member.ID] = instance.avnames[member.ID]; UpdateNames(); } } } } if (requestids.Count > 0) { client.Avatars.RequestAvatarNames(requestids); } } }
public S_PARTY_MEMBER_INFO(TeraMessageReader reader) : base(reader) { var count = reader.ReadUInt16(); var offset = reader.ReadUInt16(); reader.Skip(2); reader.BaseStream.Position = offset - 4; Members = new List <GroupMemberData>(); for (var i = 0; i < count; i++) { var u = new GroupMemberData(); reader.Skip(2); var next = reader.ReadUInt16(); var nameOffset = reader.ReadUInt16(); u.PlayerId = reader.ReadUInt32(); u.Class = (Class)reader.ReadUInt16(); reader.Skip(4); u.Level = Convert.ToUInt32(reader.ReadUInt16()); reader.Skip(4); u.GuardId = reader.ReadUInt32(); u.SectionId = reader.ReadUInt32(); u.Order = Convert.ToInt32(reader.ReadInt16()); reader.Skip(2); u.IsLeader = reader.ReadBoolean(); if (u.IsLeader) { Id = u.PlayerId; } u.Online = reader.ReadBoolean(); reader.BaseStream.Position = nameOffset - 4; u.Name = reader.ReadTeraString(); Members.Add(u); if (next != 0) { reader.BaseStream.Position = next - 4; } } }
private void UpdateMembers() { if (this.InvokeRequired) { Invoke(new MethodInvoker(UpdateMembers)); return; } else { List<UUID> requestids = new List<UUID>(); lock (Members) { lock (MemberData) { foreach (GroupMember member in Members.Values) { GroupMemberData memberData = new GroupMemberData(); memberData.ID = member.ID; MemberData[member.ID] = memberData; // Add this ID to the name request batch if (!instance.avnames.ContainsKey(member.ID)) { requestids.Add(member.ID); } else { Names[member.ID] = instance.avnames[member.ID]; UpdateNames(); } } } } if (requestids.Count > 0) client.Avatars.RequestAvatarNames(requestids); } }
public GroupMemberController(GroupMemberData groupMemberData, ILoggerFactory loggerFactory) { _groupMemberData = groupMemberData; _Logger = loggerFactory.CreateLogger(nameof(GroupMemberController)); }
public async Task UpdateGroupMember(GroupMemberData data) => await Client.GroupMemberUpdated(data);
public bool TryGetMember(string name, out GroupMemberData member) { member = Members.FirstOrDefault(m => m.Name == name); return(member != null); }
public bool TryGetMember(uint playerId, uint serverId, out GroupMemberData member) { member = Members.FirstOrDefault(m => m.PlayerId == playerId && m.ServerId == serverId); return(member != null); }