/// <summary>
    /// Start method. Initializes gameobjects
    /// </summary>
    protected override void KGFAwake()
    {
        base.KGFAwake();

        GameObject aSettingsGameObject = GameObject.Find("KGFOrbitCamSettings_3rdPerson").gameObject;

        itsCameraSettings.itsOrbitCamSettings3rdPerson = aSettingsGameObject.GetComponent <KGFOrbitCamSettings> ();

        itsPointNavigationSettings.itsClickTarget                 = transform.Find("clicktarget").gameObject;
        itsPointNavigationSettings.itsClickTargetProjector        = itsPointNavigationSettings.itsClickTarget.transform.Find("Projector").GetComponent <Projector> ();
        itsPointNavigationSettings.itsClickTargetInvalidProjector = itsPointNavigationSettings.itsClickTarget.transform.Find("InvalidProjector").GetComponent <Projector> ();
        itsPointNavigationSettings.itsValidParticles              = itsPointNavigationSettings.itsClickTarget.transform.Find("ValidParticles").gameObject;
        itsPointNavigationSettings.itsInvalidParticles            = itsPointNavigationSettings.itsClickTarget.transform.Find("InvalidParticles").gameObject;

        itsCharacter = transform.GetComponentInChildren <KGFCharacter3rdPerson> ();

        itsCharacter.SetCharacterController(this);

        GameObject anOrbitCamera = GameObject.Find("KGFOrbiterCam");

        itsCameraSettings.itsOrbitCam          = anOrbitCamera.GetComponent <KGFOrbitCam> ();
        itsCameraSettings.itsOrbitCamTransform = itsCameraSettings.itsOrbitCam.transform;
        itsCameraSettings.itsOrbitCamCamera    = itsCameraSettings.itsOrbitCam.GetComponent <Camera> ();

        SetCurrentSpeed(GetMinSpeed());

        itsCameraSettings.itsCameraLookatTransform = transform.Find("restricted/geometrycontainer/cameralookat");
        itsCameraSettings.itsCameraLookatTransformStartPosition = itsCameraSettings.itsCameraLookatTransform.localPosition;

        if (itsGlobalSettings.itsGeometry != null)
        {
            itsGlobalSettings.itsGeometryTransform = itsGlobalSettings.itsGeometry.transform;
        }
        initOrbitCam();
    }
    // Update is called once per frame
    void Update()
    {
        KGFCharacter3rdPerson aCharacter = itsController.GetCharacter();

        Vector2 aSpeed = new Vector2(itsController.GetRigidbodyVelocity().x, itsController.GetRigidbodyVelocity().z);

        itsSpeed = aSpeed.magnitude;
        if (itsSpeed > 0.2f && itsSpeed < itsMaxWalkSpeed)
        {
            itsWalking          = true;
            itsWalkingBackwards = false;
            itsRunning          = false;
        }
        else if (itsSpeed >= itsMaxWalkSpeed)
        {
            itsRunning = true;
        }
        else
        {
            itsWalking = false;
            itsRunning = false;
        }

        itsWalkingBackwards = false;
        if (aCharacter != null)
        {
            if (aCharacter.itsKGFCharacterData.itsResultingControllerDirection.z < 0)
            {
                itsWalking          = false;
                itsRunning          = false;
                itsWalkingBackwards = true;
            }
        }


        if (itsWalkingBackwards)
        {
            itsWalking = true;
        }


        itsAnimator.SetBool("Walking", itsWalking);
        itsAnimator.SetBool("Running", itsRunning);
        itsJumping = aCharacter.GetJumping();
        itsAnimator.SetBool("Jump", itsJumping);
    }
    /// <summary>
    /// Start method. Initializes gameobjects
    /// </summary>
    protected override void KGFAwake()
    {
        base.KGFAwake ();

        GameObject aSettingsGameObject = GameObject.Find("KGFOrbitCamSettings_3rdPerson").gameObject;
        itsCameraSettings.itsOrbitCamSettings3rdPerson = aSettingsGameObject.GetComponent<KGFOrbitCamSettings> ();

        itsPointNavigationSettings.itsClickTarget = transform.FindChild ("clicktarget").gameObject;
        itsPointNavigationSettings.itsClickTargetProjector = itsPointNavigationSettings.itsClickTarget.transform.FindChild ("Projector").GetComponent<Projector> ();
        itsPointNavigationSettings.itsClickTargetInvalidProjector = itsPointNavigationSettings.itsClickTarget.transform.FindChild ("InvalidProjector").GetComponent<Projector> ();
        itsPointNavigationSettings.itsValidParticles = itsPointNavigationSettings.itsClickTarget.transform.FindChild ("ValidParticles").gameObject;
        itsPointNavigationSettings.itsInvalidParticles = itsPointNavigationSettings.itsClickTarget.transform.FindChild ("InvalidParticles").gameObject;

        itsCharacter = transform.GetComponentInChildren<KGFCharacter3rdPerson> ();

        itsCharacter.SetCharacterController (this);

        GameObject anOrbitCamera = GameObject.Find("KGFOrbiterCam");

        itsCameraSettings.itsOrbitCam = anOrbitCamera.GetComponent<KGFOrbitCam> ();
        itsCameraSettings.itsOrbitCamTransform = itsCameraSettings.itsOrbitCam.transform;
        itsCameraSettings.itsOrbitCamCamera = itsCameraSettings.itsOrbitCam.GetComponent<Camera> ();

        SetCurrentSpeed ( GetMinSpeed ());

        itsCameraSettings.itsCameraLookatTransform = transform.FindChild ("restricted/geometrycontainer/cameralookat");
        itsCameraSettings.itsCameraLookatTransformStartPosition = itsCameraSettings.itsCameraLookatTransform.localPosition;

        if (itsGlobalSettings.itsGeometry != null)
        {
            itsGlobalSettings.itsGeometryTransform = itsGlobalSettings.itsGeometry.transform;

        }
        initOrbitCam();
    }