Esempio n. 1
0
    private static void PrepareManufactureRemoval(Vector3Int gridPosition, GridStructure grid)
    {
        var structureData = grid.GetStructureDataFromTheGrid(gridPosition);

        structureData.PrepareForRemoval();
    }
Esempio n. 2
0
		internal override void ComputeConstraintForView(View view)
		{
			LayoutOptions vOptions = view.VerticalOptions;
			LayoutOptions hOptions = view.HorizontalOptions;

			var result = LayoutConstraint.None;

			// grab a snapshot of this grid's structure for computing the constraints
			var structure = new GridStructure(this);

			if (vOptions.Alignment == LayoutAlignment.Fill)
			{
				int row = GetRow(view);
				int rowSpan = GetRowSpan(view);
				List<RowDefinition> rowDefinitions = structure.Rows;

				var canFix = true;

				for (int i = row; i < row + rowSpan && i < rowDefinitions.Count; i++)
				{
					GridLength height = rowDefinitions[i].Height;
					if (height.IsAuto)
					{
						canFix = false;
						break;
					}
					if ((Constraint & LayoutConstraint.VerticallyFixed) == 0 && height.IsStar)
					{
						canFix = false;
						break;
					}
				}

				if (canFix)
					result |= LayoutConstraint.VerticallyFixed;
			}

			if (hOptions.Alignment == LayoutAlignment.Fill)
			{
				int col = GetColumn(view);
				int colSpan = GetColumnSpan(view);
				List<ColumnDefinition> columnDefinitions = structure.Columns;

				var canFix = true;

				for (int i = col; i < col + colSpan && i < columnDefinitions.Count; i++)
				{
					GridLength width = columnDefinitions[i].Width;
					if (width.IsAuto)
					{
						canFix = false;
						break;
					}
					if ((Constraint & LayoutConstraint.HorizontallyFixed) == 0 && width.IsStar)
					{
						canFix = false;
						break;
					}
				}

				if (canFix)
					result |= LayoutConstraint.HorizontallyFixed;
			}

			view.ComputedConstraint = result;
		}
Esempio n. 3
0
 public void Init()
 {
     structure = new GridStructure(3, 100, 100);
 }
Esempio n. 4
0
 public static void CreateStructureLogic(Type structureType, Vector3Int gridPosition, GridStructure grid)
 {
     if (structureType == typeof(ZoneStructureSO))
     {
         PrepareZoneStructure(gridPosition, grid);
     }
     else if (structureType == typeof(RoadStructureSO))
     {
         PrepareRoadStructure(gridPosition, grid);
     }
     else if (structureType == typeof(SingleFacilitySO))
     {
         PrepareFacilityStructure(gridPosition, grid);
     }
 }
Esempio n. 5
0
 public BuildingManager(PlacementManager placementManager, int cellSize, int width, int length)
 {
     this.placementManager = placementManager;
     grid = new GridStructure(cellSize, width, length);
 }
Esempio n. 6
0
 public PlayerBuildingSelectionState(GameManager gameManager, BuildingManager buildingManager, GridStructure grid) : base(gameManager)
 {
     this.buildingManager = buildingManager;
     this.grid            = grid;
 }
Esempio n. 7
0
    public static IEnumerable <StructureBaseSO> PrepareRoadDemolition(Vector3Int gridPosition, GridStructure grid)
    {
        RoadStructureSO roadData             = (RoadStructureSO)grid.GetStructureDataFromTheGrid(gridPosition);
        var             structuresAroundRoad = grid.GetStructuresDataInRange(gridPosition, roadData.structureRange);

        return(roadData.PrepareRoadDemolition(structuresAroundRoad));
    }
    public void CreateBuilding(Vector3 gridPosition, GridStructure grid)
    {
        GameObject newStructure = Instantiate(buildingPrefab, ground.position + gridPosition, Quaternion.identity);//adding ground to recieve same result whatever ground pos is

        grid.PlaceStructureOnGrid(newStructure, gridPosition);
    }
Esempio n. 9
0
 public GridEvaluator(GridStructure gridStructure)
 {
     this.grid = gridStructure;
     evaluateGrid();
 }
    public static RoadStructureHelper GetCorrectRoadPrefab(Vector3 gridPosition, StructureBaseSO structureDat, Dictionary<Vector3Int, GameObject> structuresToBeModified, GridStructure grid)
    {
        var neighborStatus = RoadManager.GetRoadNeighborStatus(gridPosition, grid, structuresToBeModified);
        RoadStructureHelper roadToReturn = null;
        roadToReturn = RoadManager.CheckIfStraightRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;
        roadToReturn = RoadManager.CheckIfCornerRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;
        roadToReturn = RoadManager.CheckIfThreewayRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;
        roadToReturn = RoadManager.CheckIfFourwayRoadFits(neighborStatus, roadToReturn, structureDat);
        if (roadToReturn != null)
            return roadToReturn;

        return roadToReturn;
    }
Esempio n. 11
0
 public PlayerDemolishState(GameManager gameManager, BuildingManager buildingManager, GridStructure grid) : base(gameManager)
 {
     this.buildingManager = buildingManager;
     this.grid            = grid;
 }
 public static void ModifyRoadCellsOnTheGrid(Dictionary<Vector3Int, GameObject> neighborDictionary, StructureBaseSO structureData, Dictionary<Vector3Int, GameObject> structuresToBeModified, GridStructure grid, IPlacementManager placementManager)
 {
     foreach (var keyValuePair in neighborDictionary)
     {
         grid.RemoveStructureFromTheGrid(keyValuePair.Key);
         placementManager.DestroySingleStructure(keyValuePair.Value);
         var roadStructure = GetCorrectRoadPrefab(keyValuePair.Key, structureData, structuresToBeModified, grid);
         var structure = placementManager.PlaceStructureOnTheMap(keyValuePair.Key, roadStructure.RoadPrefab, roadStructure.RoadPrefabRotation);
         grid.PlaceStructureOnTheGrid(structure, keyValuePair.Key, GameObject.Instantiate(structureData));
     }
     neighborDictionary.Clear();
 }
Esempio n. 13
0
 public static void CheckStructureTypeForCreationPreparation(Type structureType, Vector3Int gridPosition, GridStructure grid)
 {
     if (structureType == typeof(ZoneStructureSO))
     {
         PrepareZoneStructure(gridPosition, grid);
     }
     else if (structureType == typeof(RoadStructureSO))
     {
         PrepareRoadStructure(gridPosition, grid);
     }
     else if (structureType == typeof(SingleFacilitySO))
     {
         PrepareFacilityStructure(gridPosition, grid);
     }
     else
     {
         PrepareManufactureStructure(gridPosition, grid);
     }
 }
Esempio n. 14
0
 public static void PrepareFacilityStructureForUpgrade(Vector3Int gridPosition, GridStructure grid, StructureBaseSO structureData)
 {
     structureData.PrepareForRemoval();
     PrepareFacilityStructure(gridPosition, grid);
 }
Esempio n. 15
0
 public static bool CheckIfPositionHasChanged(Vector3 gridPosition, Vector3 previousPosition, GridStructure grid)
 {
     return(Vector3Int.FloorToInt(grid.CalculateGridPosition(gridPosition)).Equals(Vector3Int.FloorToInt(grid.CalculateGridPosition(previousPosition))) == false);
 }
 public ZonePlacementHelper(StructureRepository structureRepository, GridStructure grid, IPlacementManager placementManager, Vector3 mapBottomLeftCorner, IResourceManager resourceManager)
     : base(structureRepository, grid, placementManager, resourceManager)
 {
     this._mapBottomLeftCorner = mapBottomLeftCorner;
 }
Esempio n. 17
0
 public BuildingManager(int cellSize, int width, int length, PlacementManager placementManager, StructureRepository structureRepository)
 {
     this.grid                = new GridStructure(cellSize, width, length);
     this.placementManager    = placementManager;
     this.structureRepository = structureRepository;
 }
Esempio n. 18
0
 public int InitEx(string basedir, GridStructure gridStructure)
 {
     return(0);
 }
Esempio n. 19
0
    public static IEnumerable <StructureBaseSO> PrepareFacilityDemolition(Vector3Int gridPosition, GridStructure grid)
    {
        SingleFacilitySO faciltityData = (SingleFacilitySO)grid.GetStructureDataFromTheGrid(gridPosition);

        return(faciltityData.PrepareForDestruction());
    }
Esempio n. 20
0
 public int OpenEx(string basedir, out GridStructure gridStructure)
 {
     gridStructure = new GridStructure();
     return(0);
 }
Esempio n. 21
0
    public static void PrepareStructureForDemolition(Vector3Int gridPosition, GridStructure grid)
    {
        var structureData = grid.GetStructureDataFromTheGrid(gridPosition);

        structureData.PrepareForDestruction();
    }
 public RoadPlacementModificationHelper(StructureRepository structureRepository, GridStructure grid, IPlacementManager placementManager, IResourceManager resourceManager)
     : base(structureRepository, grid, placementManager, resourceManager)
 {
 }
Esempio n. 23
0
        public override Size Measure(double widthConstraint, double heightConstraint)
        {
            var structure = new GridStructure(Grid, widthConstraint, heightConstraint);

            return(new Size(structure.GridWidth(), structure.GridHeight()));
        }
Esempio n. 24
0
 public ManufacturerPlacementHelper(StructureRepository structureRepository, GridStructure grid, IPlacementManager placementManager, IResourceManager resourceManager)
     : base(structureRepository, grid, placementManager, resourceManager)
 {
 }
    public void CreateBuilding(Vector3 gridPosition, GridStructure grid)
    {
        GameObject newStructure = Instantiate(buildingPrefab, ground.position + gridPosition, Quaternion.identity);

        grid.PlaceStructureOnGrid(newStructure, gridPosition);
    }
 public void init()
 {
     gridStructure = new GridStructure(3, 100, 100);
 }
 public void Init()
 {
     _grid = new GridStructure(3, 10, 10);
 }
 // Start is called before the first frame update
 void Start()
 {
     _gridStructure = new GridStructure(3, width, length);
     inputManager.AddListenerOnPointerDownEvent(HandleInput);
 }
Esempio n. 29
0
 public StructureDemolitionHelper(StructureRepository structureRepository, GridStructure grid, IPlacementManager placementManager, IResourceManager resourceManager) : base(structureRepository, grid, placementManager, resourceManager)
 {
 }
Esempio n. 30
0
 public static void CheckStructureTypeForUpgradePreparation(Type structureType, StructureBaseSO structureData, Vector3Int gridPosition, GridStructure grid)
 {
     if (structureType == typeof(ZoneStructureSO))
     {
         PrepareZoneStructureForUpgrade(gridPosition, grid, structureData);
     }
     else if (structureType == typeof(SingleFacilitySO))
     {
         PrepareFacilityStructureForUpgrade(gridPosition, grid, structureData);
     }
 }