public Building.ConstructionPhase GeneratePhase() { var ret = new Building.ConstructionPhase { CapacityBonus = this.CapacityBonus, ConstructionType = this.PhaseType, HouseCountRequirements = this.HouseCountRequirement, HousingValue = this.HousingValue, MultiplyProductionPerHouse = this.MultiplyProductionPerHouse, RareMaterialRequirement = new ItemQuantity(ResourcesPrefabManager.Instance.GetItemPrefab(this.RareMaterialID), 1), UpkeepCosts = this.UpkeepCosts, UpkeepProductions = this.UpkeepProductions, }; var nameLoc = $"BuildPhaseLoc_{UID.Generate()}"; References.GENERAL_LOCALIZATION.Add(nameLoc, this.Name); ret.NameLocKey = nameLoc; var reqList = new List <Building.BuildingRequirement>(); foreach (var req in this.BuildingRequirements) { reqList.Add(new Building.BuildingRequirement { ReqBuilding = ResourcesPrefabManager.Instance.GetItemPrefab(req.ReqBuildingID) as Building, UpgradeIndex = req.ReqUpgradeIndex, }); } ret.BuildingRequirements = reqList.ToArray(); return(ret); }
public static DM_ConstructionPhase SerializePhase(Building.ConstructionPhase phase) { return(new DM_ConstructionPhase { PhaseType = phase.ConstructionType, HouseCountRequirement = phase.HouseCountRequirements, ConstructionTime = phase.GetConstructionTime(), ConstructionCosts = (BuildingResourceValues)At.GetField(phase, "m_constructionCosts"), UpkeepCosts = phase.UpkeepCosts, UpkeepProductions = phase.UpkeepProductions, CapacityBonus = phase.CapacityBonus, MultiplyProductionPerHouse = phase.MultiplyProductionPerHouse, HousingValue = phase.HousingValue, RareMaterial = phase.RareMaterial?.Name, BuildingRequirements = (from req in phase.BuildingRequirements select new DM_BuildingRequirement() { ReqBuildingName = req.ReqBuilding?.Name, ReqUpgradeIndex = req.UpgradeIndex }).ToList(), }); }
public static SL_ConstructionPhase SerializePhase(Building.ConstructionPhase phase) { return(new SL_ConstructionPhase { Name = LocalizationManager.Instance.GetLoc(phase.NameLocKey), PhaseType = phase.ConstructionType, HouseCountRequirement = phase.HouseCountRequirements, ConstructionTime = phase.GetConstructionTime(), ConstructionCosts = (BuildingResourceValues)At.GetField(phase, "m_constructionCosts"), UpkeepCosts = phase.UpkeepCosts, UpkeepProductions = phase.UpkeepProductions, CapacityBonus = phase.CapacityBonus, MultiplyProductionPerHouse = phase.MultiplyProductionPerHouse, HousingValue = phase.HousingValue, RareMaterialID = phase.RareMaterial?.ItemID ?? -1, BuildingRequirements = (from req in phase.BuildingRequirements select new SL_BuildingRequirement() { ReqBuildingID = req.ReqBuilding?.ItemID ?? -1, ReqUpgradeIndex = req.UpgradeIndex }).ToList(), }); }