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; }
// Special multiplier defined by child peep public virtual float RetrieveBuildingDurationMultiplier(BuildingInfo.Type type) { switch (type) { default: return(1); } }
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); }
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); } }
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); }