public OnBoardDragon(Vector2Int targetPosition, Board board, CardDragon cardDragon) { DragonGenerator = GameObject.Find("DragonGenerator").GetComponent <DragonGenerator>(); Board = board; DestructibleType = DRAGON; BoardY = targetPosition.y; BoardX = targetPosition.x; ProjectY = BoardY; ProjectX = BoardX; Health = cardDragon.MaxHealth; MaxHealth = cardDragon.MaxHealth; Speed = cardDragon.Speed; Attack = cardDragon.Attack; Range = cardDragon.Range; Name = cardDragon.Name; Type = cardDragon.Type; Race = cardDragon.Race; Owner = cardDragon.Owner; SpeedRemained = 0; CanAttack = false; CanRetaliate = true; Alive = true; Board.Destructables[BoardY, BoardX] = this; }
public void CreateOnBoardDragon(int[] targetPosition, int type, int race, int owner) { CardDragon card = new CardDragon(type, race, owner); OnBoardDragon onBoardDragon = new OnBoardDragon(new Vector2Int(targetPosition[1], targetPosition[0]), Board, card); onBoardDragon.UpdateOnBoard(); if (!IsMe(owner)) { physicalCardGenerator.UpdateLastCard(race, type); LastPlayedCardExists = true; } }
public void UpdateLastCard(int element, int type) { if (LastPlayedCard == null) { LastPlayedCard = GameObject.Find("LastPlayedCard"); LastPlayedCard.transform.GetChild(0).gameObject.SetActive(true); } if (LastPlayedCard != null) { LastPlayedCard.transform.GetChild(0).Find("Front").gameObject.GetComponent <MeshRenderer>().material = card_materials[element, type]; if (type < 4) // it's a dragon card { CardDragon card = new CardDragon(type, element, 1); Transform canvas = LastPlayedCard.transform.GetChild(0).Find("Canvas"); canvas.Find("HealthText").gameObject.GetComponent <Text>().text = card.MaxHealth.ToString(); canvas.Find("HealthText").gameObject.SetActive(true); canvas.Find("AttackText").gameObject.GetComponent <Text>().text = card.Attack.ToString(); canvas.Find("AttackText").gameObject.SetActive(true); canvas.Find("RangeText").gameObject.GetComponent <Text>().text = card.Range.ToString(); canvas.Find("RangeText").gameObject.SetActive(true); canvas.Find("SpeedText").gameObject.GetComponent <Text>().text = card.Speed.ToString(); canvas.Find("SpeedText").gameObject.SetActive(true); canvas.Find("CostText").gameObject.GetComponent <Text>().text = card.GoldCost.ToString(); canvas.Find("Description").gameObject.SetActive(false); } else // it's a spell { CardSpell card = CardSpellCreator.GenerateCardSpell(type - 4, 1, element); Transform canvas = LastPlayedCard.transform.GetChild(0).Find("Canvas"); canvas.Find("HealthText").gameObject.SetActive(false); canvas.Find("AttackText").gameObject.SetActive(false); canvas.Find("RangeText").gameObject.SetActive(false); canvas.Find("SpeedText").gameObject.SetActive(false); canvas.Find("Description").gameObject.SetActive(true); canvas.Find("CostText").gameObject.GetComponent <Text>().text = card.ManaCost.ToString(); canvas.Find("Description").gameObject.GetComponent <Text>().text = card.Description; } } }
public GameObject CreateCard(int index, CardDragon card, bool flame = false, float scale = 0.1f, float angle = 270) { if (!done) { Debug.Log("Am apelat inainte de done"); return(null); } var hh = 1; if (index >= 5) { index -= 5; hh = -1; } var pos = new Vector3(0 + (index - 2) * width, hh * height, -0.1f); int element = card.Race; int type = card.Type; GameObject virtual_card = GameObject.Instantiate(dragonCard) as GameObject; virtual_card.transform.parent = cardHolder; virtual_card.transform.localPosition = pos; virtual_card.transform.localScale = new Vector3(scale, scale, scale); virtual_card.transform.Rotate(Vector3.up, angle); virtual_card.transform.GetChild(0).Find("Front").gameObject.GetComponent <Renderer>().material = card_materials[element, type]; Transform canvas = virtual_card.transform.GetChild(0).Find("Canvas"); canvas.Find("HealthText").gameObject.GetComponent <Text>().text = card.MaxHealth.ToString(); canvas.Find("AttackText").gameObject.GetComponent <Text>().text = card.Attack.ToString(); canvas.Find("CostText").gameObject.GetComponent <Text>().text = card.GoldCost.ToString(); canvas.Find("RangeText").gameObject.GetComponent <Text>().text = card.Range.ToString(); canvas.Find("SpeedText").gameObject.GetComponent <Text>().text = card.Speed.ToString(); return(virtual_card); }