public void Initialize(Deck.CardDef _def, Tile startingTile, bool _enemy) { board = FindObjectOfType <Board>(); //illuminated = new List<Tile>(); def = _def; enemy = _enemy; MoveTo(startingTile); curLife = def.life; obj = FindObjectOfType <Objective>(); sr = GetComponent <SpriteRenderer>(); if (enemy) { sr.color = Color.red; } traits = new List <Trait>(); if (def.description.Contains("Taunt")) { traits.Add(Trait.TAUNT); } if (def.description.Contains("Charge")) { traits.Add(Trait.CHARGE); } if (def.description.Contains("Poison")) { traits.Add(Trait.POISON); } if (traits.Contains(Trait.CHARGE)) { remainingMovement = def.movement; canAttack = true; } taunters = new List <Unit>(); }
public void Draw() { if (cards.Count >= maxHandSize) { return; } Deck.CardDef cardDef = deck.Draw(); if (cardDef != null) { Card card = ((GameObject)(Instantiate(Resources.Load("Card")))).GetComponent <Card>(); card.Initialize(cardDef, enemy, this); cards.Add(card); } UpdateCards(); }
public void Initialize(Deck.CardDef _def, bool _enemy, Hand _hand, bool _showcase = false) { def = _def; enemy = _enemy; cam = Camera.main; transform.position = cam.transform.position - (Vector3)startOffset; targetPos = transform.position; targetRotation = transform.rotation.eulerAngles.z; hand = _hand; showcase = _showcase; board = FindObjectOfType <Board>(); mana = GameObject.Find("PlayerMana").GetComponent <Counter>(); description = transform.GetChild(0).GetComponent <Text>(); visual = transform.GetChild(1).GetComponent <Image>(); cost = transform.GetChild(2).GetComponent <Text>(); life = transform.GetChild(3).GetComponent <Text>(); attack = transform.GetChild(4).GetComponent <Text>(); movement = transform.GetChild(5).GetComponent <Text>(); range = transform.GetChild(6).GetComponent <Text>(); name = transform.GetChild(7).GetComponent <Text>(); if (enemy) { description.enabled = false; visual.enabled = false; cost.enabled = false; life.enabled = false; attack.enabled = false; movement.enabled = false; range.enabled = false; name.enabled = false; } else { description.text = "" + def.description; //visual.sprite = Resources.Load(def.visual) as Sprite; cost.text = "" + def.cost; life.text = "" + def.life; attack.text = "" + def.attack; movement.text = "" + def.movement; range.text = "" + def.range; name.text = "" + def.name; } }
// Update is called once per frame void Update() { //if less than 5 cards, draw while (cards.Count < 5) { Deck.CardDef cardDef = deck.Draw(); if (cardDef == null) //stop when no cards in deck { break; } //make card object Card card = ((GameObject)(GameObject.Instantiate(Resources.Load("Card")))).GetComponent <Card>(); cards.Add(card); } for (int i = 0; i < cards.Count; i++) { Card card = cards[i]; //Vector2 targetPos = GetTargetPos(i, cards.Count); //card.targetPos = targetPos; UpdateCard(card, i, cards.Count); } }