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>()); } } }
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); }