public float GetBuildingProductionProgress(int id) { BuildingControl building = GetBuildingById(id); if (building == null) { return(0); } return(building.ProductionProgress); }
public void OnStartBuildingProduction(int id) { if (GetBuildingIsWorking(id)) { return; } BuildingControl building = GetBuildingById(id); building.OnStartBuildingProduction(); }
public int BuildNew(BuildingInfoModel building) { IdCounter++; BuildingControl newBuilding = new BuildingControl { Id = IdCounter, BuildingInfo = building }; newBuilding.ProductionIsFinished += ProductionIsFinished; newBuilding.Init(); _buildings.Add(newBuilding); return(IdCounter); }
public bool GetBuildingIsWorking(int id) { BuildingControl building = GetBuildingById(id); return(building != null && building.IsWorking); }
public BuildingInfoModel GetBuildingInfo(int id) { BuildingControl building = GetBuildingById(id); return(building?.BuildingInfo); }
private void ProductionIsFinished(BuildingControl building) { ProductionIsFinishedAction?.Invoke(building.Id, building.BuildingInfo); }