public bool SimilarItemNextToTile(Compass Compass, Building.Building building) { if (building.GetPrimitiveObject().GetBuildingType() == BuildingType.Infrastructure) { Tile t = GetNeighbour(Compass); if (t != null) { Building.Building neighbourBuilding = t.GetInfrastructureItem(); if (neighbourBuilding != null && neighbourBuilding.GetPrimitiveObject().GetBuildingCategory() == building.GetPrimitiveObject().GetBuildingCategory()) { return(true); } } } else if (building.GetPrimitiveObject().GetBuildingType() == BuildingType.Gameplay) { Tile t = GetNeighbour(Compass); if (t != null) { Building.Building neighbourBuilding = t.GetGameplayItem(); if (neighbourBuilding != null && neighbourBuilding.GetPrimitiveObject().GetBuildingCategory() == building.GetPrimitiveObject().GetBuildingCategory()) { return(true); } } } return(false); }
public float GetMovementCost() { if (infrastructureItem == null) { return(1); } return(1 * infrastructureItem.GetPrimitiveObject().GetMovementCost()); }
public int SimilarConstructedItemsAroundTile(Building.Building building) { Compass[] Compasss = { Compass.N, Compass.E, Compass.S, Compass.W }; int similarAmount = 0; if (building.GetPrimitiveObject().GetBuildingType() == BuildingType.Infrastructure) { foreach (Compass d in Compasss) { Tile t = GetNeighbour(d); if (t != null) { if (t.GetInfrastructureItem() != null && t.GetInfrastructureItem().GetPrimitiveObject().GetBuildingCategory() == building.GetPrimitiveObject().GetBuildingCategory()) { if (t.GetInfrastructureItem().IsConstructed(t.GetTileNumber(), true)) { similarAmount++; } } } } } else if (building.GetPrimitiveObject().GetBuildingType() == BuildingType.Gameplay) { foreach (Compass d in Compasss) { Tile t = GetNeighbour(d); if (t != null) { if (t.GetGameplayItem() != null && t.GetGameplayItem().GetPrimitiveObject().GetBuildingCategory() == building.GetPrimitiveObject().GetBuildingCategory()) { if (t.GetGameplayItem().IsConstructed(t.GetTileNumber(), true)) { similarAmount++; } } } } } return(similarAmount); }