private void ObjectUpdated(ICity city, GameObjectArgs args) { if (!ShouldUpdate(city)) { return; } RecalculateValue(city, args.Object); channel.Post(GetChannelName(city), () => { var packet = new Packet(Command.CityObjectUpdate); packet.AddUInt16(regionLocator.GetRegionIndex(args.Object)); PacketHelper.AddToPacket(args.Object, packet); return(packet); }); }
private void ObjectRemoved(ICity city, GameObjectArgs args) { if (!ShouldUpdate(city)) { return; } RecalculateValue(city, args.Object); channel.Post(GetChannelName(city), () => { var packet = new Packet(Command.CityObjectRemove); packet.AddUInt32(city.Id); packet.AddUInt32(args.Object.ObjectId); return(packet); }); }