private void TroopManagerTroopRemoved(ICity city, TroopStubEventArgs args) { if (!ShouldUpdate(city)) { return; } bool doUpdate = city.IsUpdating; if (!doUpdate) { city.BeginUpdate(); } city.Resource.Crop.Upkeep = procedure.UpkeepForCity(city, battleFormulas); if (!doUpdate) { city.EndUpdate(); } channel.Post(GetChannelName(city), () => { var packet = new Packet(Command.TroopRemoved); packet.AddUInt32(city.Id); packet.AddUInt32(args.Stub.City.Id); packet.AddUInt16(args.Stub.TroopId); return(packet); }); }
private void TroopManagerTroopUnitUpdated(ICity city, TroopStubEventArgs args) { if (!ShouldUpdate(city)) { return; } RecalculateUpkeep(city); }
private void TroopManagerTroopUpdated(ICity city, TroopStubEventArgs args) { if (!ShouldUpdate(city)) { return; } channel.Post(GetChannelName(city), () => { var packet = new Packet(Command.TroopUpdated); packet.AddUInt32(city.Id); PacketHelper.AddToPacket(args.Stub, packet); return(packet); }); }