public void Join(Entities.GameClient client, Packets.TeamActionPacket packet) { if (Members.Count >= 5) { return; } if (Leader == client.EntityUID && packet.Action == Enums.TeamAction.AcceptJoin) { // accept Entities.GameClient newMember; if (Core.Kernel.Clients.TrySelect(NextJoin, out newMember)) { if (Members.TryAdd(newMember.EntityUID, newMember)) { newMember.Team = this; // send team member ... using (var teammember = new Packets.TeamMemberPacket()) { teammember.Name = newMember.Name; teammember.EntityUID = newMember.EntityUID; teammember.Mesh = newMember.Mesh; teammember.MaxHealth = (ushort)newMember.MaxHP; teammember.CurrentHealth = (ushort)newMember.HP; foreach (Entities.GameClient member in Members.Values) { if (member.EntityUID != newMember.EntityUID) { member.Send(teammember); using (var teammember2 = new Packets.TeamMemberPacket()) { teammember2.Name = member.Name; teammember2.EntityUID = member.EntityUID; teammember2.Mesh = member.Mesh; teammember2.MaxHealth = (ushort)member.MaxHP; teammember2.CurrentHealth = (ushort)member.HP; newMember.Send(teammember2); } } } newMember.Send(teammember); } packet.EntityUID = client.EntityUID; newMember.Send(packet); } } } else if (packet.EntityUID == Leader && packet.Action == Enums.TeamAction.RequestJoin) { Entities.GameClient LeaderClient; if (Members.TryGetValue(Leader, out LeaderClient)) { NextJoin = client.EntityUID; packet.EntityUID = client.EntityUID; LeaderClient.Send(packet); } } }
public void Invite(Entities.GameClient client, Packets.TeamActionPacket packet) { if (Members.Count >= 5) { return; } if (Leader != client.EntityUID && packet.Action == Enums.TeamAction.AcceptInvite && NextInvite == client.EntityUID) { // accept if (Members.TryAdd(client.EntityUID, client)) { // send team member ... client.Team = this; using (var teammember = new Packets.TeamMemberPacket()) { teammember.Name = client.Name; teammember.EntityUID = client.EntityUID; teammember.Mesh = client.Mesh; teammember.MaxHealth = (ushort)client.MaxHP; teammember.CurrentHealth = (ushort)client.HP; foreach (Entities.GameClient member in Members.Values) { if (member.EntityUID != client.EntityUID) { member.Send(teammember); using (var teammember2 = new Packets.TeamMemberPacket()) { teammember2.Name = member.Name; teammember2.EntityUID = member.EntityUID; teammember2.Mesh = member.Mesh; teammember2.MaxHealth = (ushort)member.MaxHP; teammember2.CurrentHealth = (ushort)member.HP; client.Send(teammember2); } } } client.Send(teammember); } packet.EntityUID = Leader; client.Send(packet); } } else if (packet.EntityUID != Leader && packet.Action == Enums.TeamAction.RequestInvite && client.EntityUID == Leader) { Entities.GameClient newMember; if (Core.Kernel.Clients.TrySelect(packet.EntityUID, out newMember)) { NextInvite = newMember.EntityUID; packet.EntityUID = client.EntityUID; newMember.Send(packet); } } }
public void Invite(Entities.GameClient client, Packets.TeamActionPacket packet) { if (Members.Count >= 5) return; if (Leader != client.EntityUID && packet.Action == Enums.TeamAction.AcceptInvite && NextInvite == client.EntityUID) { // accept if (Members.TryAdd(client.EntityUID, client)) { // send team member ... client.Team = this; using (var teammember = new Packets.TeamMemberPacket()) { teammember.Name = client.Name; teammember.EntityUID = client.EntityUID; teammember.Mesh = client.Mesh; teammember.MaxHealth = (ushort)client.MaxHP; teammember.CurrentHealth = (ushort)client.HP; foreach (Entities.GameClient member in Members.Values) { if (member.EntityUID != client.EntityUID) { member.Send(teammember); using (var teammember2 = new Packets.TeamMemberPacket()) { teammember2.Name = member.Name; teammember2.EntityUID = member.EntityUID; teammember2.Mesh = member.Mesh; teammember2.MaxHealth = (ushort)member.MaxHP; teammember2.CurrentHealth = (ushort)member.HP; client.Send(teammember2); } } } client.Send(teammember); } packet.EntityUID = Leader; client.Send(packet); } } else if (packet.EntityUID != Leader && packet.Action == Enums.TeamAction.RequestInvite && client.EntityUID == Leader) { Entities.GameClient newMember; if (Core.Kernel.Clients.TrySelect(packet.EntityUID, out newMember)) { NextInvite = newMember.EntityUID; packet.EntityUID = client.EntityUID; newMember.Send(packet); } } }
public void Join(Entities.GameClient client, Packets.TeamActionPacket packet) { if (Members.Count >= 5) return; if (Leader == client.EntityUID && packet.Action == Enums.TeamAction.AcceptJoin) { // accept Entities.GameClient newMember; if (Core.Kernel.Clients.TrySelect(NextJoin, out newMember)) { if (Members.TryAdd(newMember.EntityUID, newMember)) { newMember.Team = this; // send team member ... using (var teammember = new Packets.TeamMemberPacket()) { teammember.Name = newMember.Name; teammember.EntityUID = newMember.EntityUID; teammember.Mesh = newMember.Mesh; teammember.MaxHealth = (ushort)newMember.MaxHP; teammember.CurrentHealth = (ushort)newMember.HP; foreach (Entities.GameClient member in Members.Values) { if (member.EntityUID != newMember.EntityUID) { member.Send(teammember); using (var teammember2 = new Packets.TeamMemberPacket()) { teammember2.Name = member.Name; teammember2.EntityUID = member.EntityUID; teammember2.Mesh = member.Mesh; teammember2.MaxHealth = (ushort)member.MaxHP; teammember2.CurrentHealth = (ushort)member.HP; newMember.Send(teammember2); } } } newMember.Send(teammember); } packet.EntityUID = client.EntityUID; newMember.Send(packet); } } } else if (packet.EntityUID == Leader && packet.Action == Enums.TeamAction.RequestJoin) { Entities.GameClient LeaderClient; if (Members.TryGetValue(Leader, out LeaderClient)) { NextJoin = client.EntityUID; packet.EntityUID = client.EntityUID; LeaderClient.Send(packet); } } }