Exemplo n.º 1
0
    public void Init(World worldScript, BuildingInfo.Type bType, Building prefab)
    {
        world            = worldScript;
        myRotation       = Rotation.none;
        myBuildingPrefab = prefab;

        List <Tuple <int, int> > relativeCoordinates   = BuildingInfo.RetrieveRelativeCoordinates(bType);
        List <Tuple <int, int> > requiredRoadPositions = BuildingInfo.RetrieveRequiredRoadPositions(bType);

        foreach (Tuple <int, int> coord in relativeCoordinates)
        {
            BuildingSelectionSquare square = UnityEngine.Object.Instantiate(SquarePrefab);
            square.transform.position = new Vector2(originX + coord.Item1 + spriteOffset, originY + coord.Item2 + spriteOffset);
            square.relativeX          = coord.Item1;
            square.relativeY          = coord.Item2;
            square.myType             = BuildingSelectionSquare.Type.building;
            mySquares.Add(square);
        }

        foreach (Tuple <int, int> coord in requiredRoadPositions)
        {
            BuildingSelectionSquare square = UnityEngine.Object.Instantiate(SquarePrefab);
            square.transform.position = new Vector2(originX + coord.Item1 + spriteOffset, originY + coord.Item2 + spriteOffset);
            square.relativeX          = coord.Item1;
            square.relativeY          = coord.Item2;
            square.myType             = BuildingSelectionSquare.Type.entrance;
            mySquares.Add(square);
        }

        this.buildingType = bType;
    }
Exemplo n.º 2
0
 // Special multiplier defined by child peep
 public virtual float RetrieveBuildingDurationMultiplier(BuildingInfo.Type type)
 {
     switch (type)
     {
     default:
         return(1);
     }
 }
Exemplo n.º 3
0
    public List <CodeTile> RetrieveBuildingEntranceTilesType(BuildingInfo.Type type)
    {
        List <CodeTile> returnList     = new List <CodeTile>();
        var             entrancesGroup = (buildings.Where(b => b.Type == type).Select(b => b.Entrances));

        foreach (var group in entrancesGroup)
        {
            returnList.AddRange(group);
        }
        return(returnList);
    }
Exemplo n.º 4
0
    public override float RetrieveBuildingDurationMultiplier(BuildingInfo.Type type)
    {
        switch (type)
        {
        case BuildingInfo.Type.TAVERN:
            return(5.4f);

        case BuildingInfo.Type.BOOTH_PRODUCE:
            return(3.0f);

        case BuildingInfo.Type.BOOTH_GEMS:
            return(10.0f);

        case BuildingInfo.Type.BOOTH_FISH:
            return(3.0f);

        default:
            return(2.4f);
        }
    }
Exemplo n.º 5
0
    public Card GenerateBuildingCard(CardType type)
    {
        Card     returnCard     = null;
        Building buildingPrefab = null;

        BuildingInfo.Type buildingType = BuildingInfo.Type.ARCHERY;

        switch (type)
        {
        case CardType.BuildArchery:
            buildingPrefab = archeryAsset;
            buildingType   = BuildingInfo.Type.ARCHERY;
            break;

        case CardType.BuildBath:
            buildingPrefab = bathAsset;
            buildingType   = BuildingInfo.Type.BATH;
            break;

        case CardType.BuildBlacksmith:
            buildingPrefab = blacksmithAsset;
            buildingType   = BuildingInfo.Type.BLACKSMITH;
            break;

        case CardType.BuildBoothFish:
            buildingPrefab = fishBoothAsset;
            buildingType   = BuildingInfo.Type.BOOTH_FISH;
            break;

        case CardType.BuildBoothGems:
            buildingPrefab = gemsBoothAsset;
            buildingType   = BuildingInfo.Type.BOOTH_GEMS;
            break;

        case CardType.BuildBoothProduce:
            buildingPrefab = produceBoothAsset;
            buildingType   = BuildingInfo.Type.BOOTH_PRODUCE;
            break;

        case CardType.BuildBoothSeeds:
            buildingPrefab = seedsBoothAsset;
            buildingType   = BuildingInfo.Type.BOOTH_SEEDS;
            break;

        case CardType.BuildButcher:
            buildingPrefab = butcherAsset;
            buildingType   = BuildingInfo.Type.BUTCHER;
            break;

        case CardType.BuildChapel:
            buildingPrefab = chapelAsset;
            buildingType   = BuildingInfo.Type.CHAPEL;
            break;

        case CardType.BuildCloth:
            buildingPrefab = clothAsset;
            buildingType   = BuildingInfo.Type.CLOTH;
            break;

        case CardType.BuildInn:
            buildingPrefab = innAsset;
            buildingType   = BuildingInfo.Type.INN;
            break;

        case CardType.BuildScribe:
            buildingPrefab = scribeAsset;
            buildingType   = BuildingInfo.Type.SCRIBE;
            break;

        case CardType.BuildStables:
            buildingPrefab = stablesAsset;
            buildingType   = BuildingInfo.Type.STABLES;
            break;

        case CardType.BuildTanner:
            buildingPrefab = tannerAsset;
            buildingType   = BuildingInfo.Type.TANNER;
            break;

        case CardType.BuildTavern:
            buildingPrefab = tavernAsset;
            buildingType   = BuildingInfo.Type.TAVERN;
            break;

        default:
            break;
        }

        if (buildingPrefab != null)
        {
            C_Building bCard = Instantiate(buildingCardPrefab);
            bCard.world = this.world;
            bCard.buildingSelectionPrefab     = this.buildingSelectionPrefab;
            bCard.buildingPrefab              = buildingPrefab;
            bCard.buildingType                = buildingType;
            bCard.cardUI.CardLogo.sprite      = buildingPrefab.Icon;
            bCard.cardUI.CardTitle.text       = buildingPrefab.Name;
            bCard.cardUI.CardDescription.text = buildingPrefab.Description;
            returnCard = bCard;
        }

        Assert.IsNotNull(returnCard);
        return(returnCard);
    }