// Gets a list of packets to update the state of all field objects for client. public IEnumerable <Packet> GetUpdates() { List <Packet> updates = new List <Packet>(); // Update players locations // Update NPCs foreach (IFieldObject <Npc> npc in State.Npcs.Values) { updates.Add(FieldObjectPacket.ControlNpc(npc)); } foreach (IFieldObject <Player> player in State.Players.Values) { updates.Add(FieldObjectPacket.UpdatePlayer(player)); } foreach (IFieldObject <Mob> mob in State.Mobs.Values) { updates.Add(FieldObjectPacket.ControlMob(mob)); if (mob.Value.IsDead) { RemoveMob(mob); } } foreach (TriggerScript trigger in Triggers) { trigger.Next(); } return(updates); }
// Gets a list of packets to update the state of all field objects for client. public IEnumerable <Packet> GetUpdates() { List <Packet> updates = new List <Packet>(); // Update players locations // Update NPCs foreach (IFieldObject <Npc> npc in State.Npcs.Values) { updates.Add(FieldObjectPacket.ControlNpc(npc)); } foreach (IFieldObject <Player> player in State.Players.Values) { updates.Add(FieldObjectPacket.UpdatePlayer(player)); } return(updates); }