public override async void Execute(Level level) { try { ClientAvatar player = level.GetPlayerAvatar(); long allianceID = player.GetAllianceId(); Alliance alliance = await ObjectManager.GetAlliance(allianceID); ChallangeStreamEntry cm = new ChallangeStreamEntry(); cm.SetMessage(Message); cm.SetSenderId(player.GetId()); cm.SetSenderName(player.GetAvatarName()); cm.SetSenderLevel(player.GetAvatarLevel()); cm.SetSenderRole(await player.GetAllianceRole()); cm.SetId(alliance.GetChatMessages().Count + 1); cm.SetSenderLeagueId(player.GetLeagueId()); StreamEntry s = alliance.GetChatMessages().Find(c => c.GetStreamEntryType() == 12); if (s != null) { alliance.GetChatMessages().RemoveAll(t => t == s); foreach (AllianceMemberEntry op in alliance.GetAllianceMembers()) { Level alliancemembers = await ResourcesManager.GetPlayer(op.GetAvatarId()); if (alliancemembers.GetClient() != null) { PacketProcessor.Send(new AllianceStreamEntryRemovedMessage(alliancemembers.GetClient(), s.GetId())); } } } alliance.AddChatMessage(cm); foreach (AllianceMemberEntry op in alliance.GetAllianceMembers()) { Level alliancemembers = await ResourcesManager.GetPlayer(op.GetAvatarId()); if (alliancemembers.GetClient() != null) { AllianceStreamEntryMessage p = new AllianceStreamEntryMessage(alliancemembers.GetClient()); p.SetStreamEntry(cm); PacketProcessor.Send(p); } } } catch (Exception) { } }
public override void Execute(Level level) { var player = level.GetPlayerAvatar(); var allianceID = player.GetAllianceId(); var alliance = ObjectManager.GetAlliance(allianceID); var cm = new ChallangeStreamEntry(); cm.SetMessage(Message); cm.SetSenderId(player.GetId()); cm.SetSenderName(player.GetAvatarName()); cm.SetSenderLevel(player.GetAvatarLevel()); cm.SetSenderRole(player.GetAllianceRole()); cm.SetId(alliance.GetChatMessages().Count + 1); cm.SetSenderLeagueId(player.GetLeagueId()); var s = alliance.GetChatMessages().Find(c => c.GetStreamEntryType() == 12); if (s != null) { alliance.GetChatMessages().RemoveAll(t => t == s); Parallel.ForEach((alliance.GetAllianceMembers()), op => { var alliancemembers = ResourcesManager.GetPlayer(op.GetAvatarId()); if (alliancemembers.GetClient() != null) { new AllianceStreamEntryRemovedMessage(alliancemembers.GetClient(), s.GetId()).Send(); } }); } alliance.AddChatMessage(cm); Parallel.ForEach((alliance.GetAllianceMembers()), op => { var alliancemembers = ResourcesManager.GetPlayer(op.GetAvatarId()); if (alliancemembers.GetClient() != null) { var p = new AllianceStreamEntryMessage(alliancemembers.GetClient()); p.SetStreamEntry(cm); p.Send(); } }); }
public void LoadFromJSON(string jsonString) { var jsonObject = JObject.Parse(jsonString); m_vAllianceId = jsonObject["alliance_id"].ToObject <long>(); m_vAllianceName = jsonObject["alliance_name"].ToObject <string>(); m_vAllianceBadgeData = jsonObject["alliance_badge"].ToObject <int>(); m_vAllianceType = jsonObject["alliance_type"].ToObject <int>(); m_vRequiredScore = jsonObject["required_score"].ToObject <int>(); m_vAllianceDescription = jsonObject["description"].ToObject <string>(); m_vAllianceExperience = jsonObject["alliance_experience"].ToObject <int>(); m_vAllianceLevel = jsonObject["alliance_level"].ToObject <int>(); m_vWarLogPublic = jsonObject["war_log_public"].ToObject <byte>(); m_vFriendlyWar = jsonObject["friendly_war"].ToObject <byte>(); m_vWonWars = jsonObject["won_wars"].ToObject <int>(); m_vLostWars = jsonObject["lost_wars"].ToObject <int>(); m_vDrawWars = jsonObject["draw_wars"].ToObject <int>(); m_vWarFrequency = jsonObject["war_frequency"].ToObject <int>(); m_vAllianceOrigin = jsonObject["alliance_origin"].ToObject <int>(); var jsonMembers = (JArray)jsonObject["members"]; foreach (JToken jToken in jsonMembers) { var jsonMember = (JObject)jToken; long id = jsonMember["avatar_id"].ToObject <long>(); var pl = ResourcesManager.GetPlayer(id); var member = new AllianceMemberEntry(id); m_vScore = m_vScore + pl.GetPlayerAvatar().GetScore(); member.Load(jsonMember); m_vAllianceMembers.Add(id, member); } m_vScore = m_vScore / 2; var jsonMessages = (JArray)jsonObject["chatMessages"]; if (jsonMessages != null) { foreach (JToken jToken in jsonMessages) { JObject jsonMessage = (JObject)jToken; StreamEntry.StreamEntry se = new StreamEntry.StreamEntry(); if (jsonMessage["type"].ToObject <int>() == 1) { se = new TroopRequestStreamEntry(); } else if (jsonMessage["type"].ToObject <int>() == 2) { se = new ChatStreamEntry(); } else if (jsonMessage["type"].ToObject <int>() == 3) { se = new InvitationStreamEntry(); } else if (jsonMessage["type"].ToObject <int>() == 4) { se = new AllianceEventStreamEntry(); } else if (jsonMessage["type"].ToObject <int>() == 5) { se = new ShareStreamEntry(); } else if (jsonMessage["type"].ToObject <int>() == 12) { se = new ChallangeStreamEntry(); } se.Load(jsonMessage); m_vChatMessages.Add(se); } } }