Esempio n. 1
0
    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();
 }