示例#1
0
 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);
         }
     }
 }
示例#2
0
    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;
            }
        }
    }