public void BuildBuilding(GlobalCardDefinitionItem definition, CardDefinitionBaseItem baseDefinition) { DestroyCurrentBuilding(); CurrentBuiltBuilding = GameObject.Instantiate(definition.CardBuildingObjectPrefab); CurrentBuiltBuilding.SetBuilding(definition.CardCost, baseDefinition.BaseCardSkillLinkedToCard); CurrentBuiltBuilding.transform.SetParent(this.transform, false); CurrentBuiltBuilding.GetComponent <SpriteRenderer>().sortingOrder = (GetComponent <SpriteRenderer>().sortingOrder + 1); Vector3 pos = transform.position; pos.z = transform.position.y; CurrentBuiltBuilding.transform.position = pos; }
public void BuildStructureForCard(BaseCard card) { ConCards cc = ConfactoryFinder.Instance.Get <ConCards>(); GlobalCardDefinitionItem cardDefinition = cc.CardsDefinitionLibrary.GetCardDefinitionByName(card.CardName); CardDefinitionBaseItem baseCardDefinition = (cc.CardsDefinitionLibrary.GetCardTypeFromCard(card.CardName) == CardType.UpgradeCard) ? cc.CardsDefinitionLibrary.GetCardBaseItemOfUpgradeItem((CardDefinitionUpgradeItem)cardDefinition) : (CardDefinitionBaseItem)cardDefinition; for (int i = 0; i < _buildFields.Count; i++) { if (_buildFields[i].Available && _buildFields[i].CurrentBuiltBuilding == null) { _buildFields[i].BuildBuilding(cardDefinition, baseCardDefinition); break; } } }
public BaseCard CreateCard(string cardName) { BaseCard cardCreating = null; GlobalCardDefinitionItem cardRepresentingItem = CardsDefinitionLibrary.GetCardDefinitionByName(cardName); if (cardRepresentingItem != null) { if (cardRepresentingItem.GetType().IsAssignableFrom(typeof(CardDefinitionBaseItem))) { cardCreating = new Card(cardName, (CardDefinitionBaseItem)cardRepresentingItem); } else if (cardRepresentingItem.GetType().IsAssignableFrom(typeof(CardDefinitionUpgradeItem))) { cardCreating = new UpgradeCard(cardName, (CardDefinitionUpgradeItem)cardRepresentingItem, CardsDefinitionLibrary.GetCardBaseItemOfUpgradeItem((CardDefinitionUpgradeItem)cardRepresentingItem)); } } return(cardCreating); }