/// <summary> /// Building constructor for loading a serialized building /// Allows the removal of duplicate code in places where save states must be loaded /// </summary> /// <param name="pmusSavedBuilding">A serialized building.</param> /// <param name="pmusFactionOwner">The owning faction of the building to be loaded.</param> public Building(GameInfo.SavedBuilding pmusSavedBuilding, Faction pmusFactionOwner) { UpgradeLevel = pmusSavedBuilding.UpgradeLevel; MapGameObject = CreateBuildingObject(pmusSavedBuilding.BuildingType, pmusFactionOwner.Type); BuildingType = pmusSavedBuilding.BuildingType; OwningFaction = pmusFactionOwner; BuildingCost = CalculateBuildingCost(pmusSavedBuilding.BuildingType); ObjectType = MapObjectType.Building; }
/// <summary> /// Method to load a mine from a saved game state /// </summary> /// <param name="pmusSavedBuilding"></param> /// <param name="pmusOwningFaction"></param> public MineBuilding(GameInfo.SavedBuilding pmusSavedBuilding, Faction pmusOwningFaction) : base(pmusSavedBuilding, pmusOwningFaction) { Miners = pmusSavedBuilding.Miners; MinerCap = (int)Mathf.Pow(mcintMaterialCost, UpgradeLevel + 1); }