public static void ShowUI(BuildingNearRoad Building) { switch (Building.CurrentState) { case State_Construction state: { instance.constructionUI.Show(state); break; } case AB_State_ProductionCycle state: { instance.ab_production_UI.Show(state); break; } case PB_ProductionCycle state: { instance.pb_Production_UI.Show(state); break; } default: break; } instance.gameObject.SetActive(true); }
public State_Construction(BuildingNearRoad building) { Building = building; if (building is ActiveBuilding activeBuilding) { buildingParams = activeBuilding.AbParams; } if (building is PassiveBuilding passiveBuilding) { buildingParams = passiveBuilding.PBParams; } }
static void place(Vector2Int tileID) { currentGO.GetComponent <SpriteRenderer>().sortingOrder = Map.MapSideSize * 3 - (int)currentGO.transform.position.y * 2; if (currentBuilding is StandaloneBuilding) { currentBuilding.Initialize(tileID); } else if (currentBuilding is BuildingNearRoad) { BuildingNearRoad bnr = (BuildingNearRoad)currentBuilding; bnr.Initialize(tileID, tileID + GameUtility.GetNearbyIDByDirection(currentRotation)); } Map.PlaceBuildingOnMap(currentGO, currentBuilding, tileID); currentBuilding = null; StopedConstructing.Invoke(); }