Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public float GetMovementCost()
 {
     if (infrastructureItem == null)
     {
         return(1);
     }
     return(1 * infrastructureItem.GetPrimitiveObject().GetMovementCost());
 }
Exemplo n.º 3
0
        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);
        }