// 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; } } }
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; } } } }