Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;


        if (Input.GetButtonDown("Fire1") && !UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject())
        {
            if (Physics.Raycast(ray, out hit, 1000))
            {
                if (hit.collider.tag == "Lane" && CharacterClicked && BM.SelectingMove)
                {
                    ObjectClicked         = true;
                    EnemyCharacterClicked = false;
                    BM.SelectingMove      = false;
                    if (tempEnemyUnitHolder != null)
                    {
                        tempEnemyUnitHolder.GetComponent <Character>().UnitChosen = false;
                    }
                    BM.SelectedLanePos = hit.collider.GetComponent <LaneInfo>().LanePos;
                    //BM.SelectedCharacter.GetComponent<Character>().ActionPoints -= 1;
                    //BM.SelectedCharacter.GetComponent<Character>().Moving = true;
                    Debug.Log("Lane Pos: " + BM.SelectedLanePos);
                    BM.AddMove();
                    BM.InfoText.text = "";
                    ResetSelection();
                }

                else if (hit.collider.tag == "Player")
                {
                    ResetSelection();
                    ObjectClicked         = false;
                    EnemyCharacterClicked = false;

                    if (tempEnemyUnitHolder != null)
                    {
                        tempEnemyUnitHolder.GetComponent <Character>().UnitChosen = false;
                    }

                    if (tempUnitHolder != null)
                    {
                        tempUnitHolder.GetComponent <Character>().UnitChosen = false;
                    }

                    CharacterClicked = true;
                    tempUnitHolder   = hit.collider.gameObject;
                    //Debug.Log("Character clicked");
                    hit.collider.GetComponent <Character>().CharacterClick();
                }

                else if (hit.collider.tag == "Enemy" && CharacterClicked && BM.SelectingAttack)
                {
                    ObjectClicked = false;
                    //Marker.SetActive(ObjectClicked);
                    BM.SelectingAttack = false;

                    if (tempEnemyUnitHolder != null)
                    {
                        tempEnemyUnitHolder.GetComponent <Character>().UnitChosen = false;
                    }

                    EnemyCharacterClicked = true;
                    tempEnemyUnitHolder   = hit.collider.gameObject;
                    //Debug.Log("Enemy clicked");
                    hit.collider.GetComponent <Character>().CharacterClick();
                    if (BM.ChoosingSkill.Length > 0)
                    {
                        BM.AddSkill(BM.ChoosingSkill);
                    }
                    else
                    {
                        BM.AddAttack();
                    }

                    BM.InfoText.text = "";
                    //BM.SelectedCharacter.GetComponent<Character>().ActionPoints -= 2;
                    BM.SelectedCharacter.GetComponent <Character>().Attacking = true;
                    ResetSelection();
                }
            }

            else
            {
                ResetSelection();
                //Debug.Log("Nothing Clicked ");
            }
        }
    }