Example #1
0
    private void RunIfAttackAction(RaycastHit hit)
    {
        if (hit.collider.GetComponent <BaseStats>().HP > 0)
        {
            removeSelectedTileByMouse();

            RingSelectedEnemy.SetActiveRing();

            heading = hit.collider.transform.position - transform.position;
            heading.Normalize();
            transform.forward = heading;

            if (currentSelectedObj == SelectedObj.enemy && RingInTheSamePosition(hit))
            {
                currentSelectedObj = SelectedObj.none;
                RingSelectedEnemy.SetDeactiveRing();
                AttackEnemy(hit);
            }
            currentSelectedObj = SelectedObj.enemy;

            if (hit.collider.gameObject.transform.position != RingSelectedEnemy.GetRingPosition())
            {
                RingSelectedEnemy.GetEnemyPosition(hit.collider.GetComponent <UnitMovement>());
            }
        }
    }
Example #2
0
    private bool RingInTheSamePosition(RaycastHit hit)
    {
        if (hit.collider.gameObject.transform.position.x == RingSelectedEnemy.GetRingPosition().x)
        {
            if (hit.collider.gameObject.transform.position.z == RingSelectedEnemy.GetRingPosition().z)
            {
                if (RingSelectedEnemy.GetRingPosition().y > 0)
                {
                    return(true);
                }
            }
        }

        return(false);
    }