public virtual void InitCity(ICity city, CallbackProcedure callbackProcedure, IActionFactory actionFactory) { var mainBuilding = city.MainBuilding; callbackProcedure.OnStructureConvert(mainBuilding); city.Worker.DoPassive(city, actionFactory.CreateCityPassiveAction(city.Id), false); }
/// <summary> /// Changes a structure to a new type. /// </summary> public virtual void StructureChange(IStructure structure, ushort newType, byte newLvl, CallbackProcedure callbackProcedure, IStructureCsvFactory structureCsvFactory) { structure.City.BeginUpdate(); structure.BeginUpdate(); structure.IsBlocked = 0; structureCsvFactory.GetUpgradedStructure(structure, newType, newLvl); structure.Technologies.BeginUpdate(); structure.Technologies.Parent = structure.City.Technologies; structure.Technologies.Clear(); OnStructureUpgradeDowngrade(structure); structure.Technologies.EndUpdate(); structure.EndUpdate(); structure.City.EndUpdate(); callbackProcedure.OnStructureConvert(structure); }