private void refreshOpponentLane(Lane lane) { if (lane.OpponentCard == null) { PlayingCard card = ai.pickCard(opponentHand.GetCards()); opponentHand.selectCard(card); GameObject cardGO = opponentHand.GetSelectedCard(); if (lane.setCard(cardGO, Lane.Slot.OPPONENT)) { arenaManager.placeCard(cardGO, lane.OpponentSlot); opponentHand.RemoveCard(cardGO); } } }
public bool CheckTarget(PotentialTarget target) { if (_handManager.GetSelectedCard() == null) { return(false); } if (!TargetingModeActive) { return(false); } // logic for whether target is valid will go here _target = target; return(true); }
public void PlayCardIfValid() { Card card = _handManager.GetSelectedCard(); if (card != null) { PotentialTarget target = _targetManager.GetTarget(); if ( (card.GetTargetType() == TargetType.None) || (card.GetTargetType() == TargetType.Enemy && target != null && target.GetComponentInParent(typeof(Enemy)) != null) || (card.GetTargetType() == TargetType.Friendly && target != null && (target.GetComponentInParent(typeof(Carrier)) != null || target.GetComponentInParent(typeof(Fighter)) != null)) ) { PlayCard(card); } } }
// Update is called once per frame void Update() { if (_targetManager.TargetingModeActive) { PotentialTarget target = _targetManager.GetTarget(); Card card = _handManager.GetSelectedCard(); Vector3[] positions = new Vector3[2]; positions[0] = card.transform.position; positions[1] = GetCurrentMousePosition(); _lineRenderer.SetPositions(positions); if (target != null) { _lineRenderer.endColor = Color.green; } else { _lineRenderer.endColor = Color.red; } } }