Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            enemyScript.CardMoveTest();
        }

        if (updateMousePos)
        {
            selectedCard.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 140)); //Don't use constant for z but it's f****d up.
        }

        Hover(Input.mousePosition);

        if (Input.GetMouseButtonDown(0) && !updateMousePos)
        {
            Click(Input.mousePosition);
        }

        if (Input.GetMouseButtonUp(0))
        {
            if (selectedButton != null)
            {
                selectedButton.Select(false);
                selectedButton = null;
                EndTurn();
            }
        }

        if (Input.GetMouseButtonUp(0) && updateMousePos)
        {
            updateMousePos = false;
            if (selectedButton != null)
            {
                selectedButton.Select(false);
                selectedButton = null;
                //PlayCard();
            }

            if (selectedCard != null && !selectedCard.GetInPlayArea())
            {
                //selectedCard.transform.localPosition = oldCardPosition;
                selectedCard.Reset();
                //selectedCard.Select(false);
                selectedCard = null;
                //PlayCard();
            }
            else if (selectedCard != null && selectedCard.GetInPlayArea())
            {
                if (playAreaCard != null)
                {
                    playAreaCard.Reset();
                }
                selectedCard.SetAreaParent();
                playAreaCard = selectedCard;
            }
        }
    }
Esempio n. 2
0
    void Click(Vector3 mposition)
    {
        RaycastHit hit;
        Ray        ray = camera.ScreenPointToRay(mposition);

        if (Physics.Raycast(ray, out hit))
        {
            Transform objectHit = hit.transform;
            if (objectHit.tag == "Card")
            {
                updateMousePos = true;
                if (selectedCard != null)
                {
                    selectedCard.Select(false);
                }
                selectedCard = objectHit.gameObject.GetComponent <CardBehavior>();
                selectedCard.Select(true);
                oldCardPosition = selectedCard.transform.localPosition;
            }

            else if (objectHit.tag == "Button")
            {
                selectedButton = objectHit.gameObject.GetComponent <ButtonBehavior>();
                selectedButton.Select(true);
            }


            else if (objectHit.tag == "Combatant")
            {
                if (selectedCombatant != null)
                {
                    selectedCombatant.Select(false);
                }
                selectedCombatant = objectHit.gameObject.GetComponent <CombatantBehavior>();
                selectedCombatant.Select(true);

                if (playAreaCard != null)
                {
                    PlayCard();
                }
            }

            else if (objectHit.tag == "PlayArea")
            {
                if (playAreaCard != null)
                {
                    playAreaCard.Reset();
                    playAreaCard = null;
                }
            }

            else
            {
                if (selectedCard != null)
                {
                    selectedCard.Select(false);
                    selectedCard = null;
                }

                if (selectedCombatant != null)
                {
                    selectedCombatant.Select(false);
                    selectedCombatant = null;
                }
            }
        }
    }