private void LateUpdate()
    {
        //check for reset
        if (currentControllerType != useController)
        {
            resetController = true;
        }
        else
        {
            resetController = false;
        }

        //set controller to none
        if (currentControllerType == Sui_Demo_ControllerType.none)
        {
            if (characterController != null) characterController.isActive = false;
            if (boatController != null) boatController.isActive = false;
        }

        //set controller to character
        if (currentControllerType == Sui_Demo_ControllerType.character)
        {
            if (boatController != null) boatController.isActive = false;
            if (characterController != null) characterController.isActive = true;
        }

        //set controller to boat
        if (currentControllerType == Sui_Demo_ControllerType.boat)
        {
            if (characterController != null) characterController.isActive = false;
            if (boatController != null) boatController.isActive = true;
        }

        //Place Charcter in Boat Object
        if (characterController != null)
        {
            if (currentControllerType == Sui_Demo_ControllerType.boat)
            {
                characterController.isInBoat = true;
                //characterController.cameraTarget.transform.parent = boatController.cameraTarget.transform;
                if(boatController.targetAnimator != null)
                {
                    characterController.cameraTarget.transform.position = boatController.targetAnimator.playerPosition.transform.position;
                    characterController.cameraTarget.transform.rotation = boatController.targetAnimator.playerPosition.transform.rotation;
                }
                else
                {
                    characterController.cameraTarget.transform.position = boatController.targetPranchaAnimator.playerPosition.transform.position;
                    characterController.cameraTarget.transform.rotation = boatController.targetPranchaAnimator.playerPosition.transform.rotation;
                }

                characterController.cameraTarget.gameObject.GetComponent<Collider>().enabled = false;
                characterController.cameraTarget.gameObject.GetComponent<Rigidbody>().isKinematic = true;
            }
            if (currentControllerType == Sui_Demo_ControllerType.character && resetController)
            {
                characterController.isInBoat = false;
                //characterController.cameraTarget.transform.parent = null;
                if(boatController.targetAnimator != null)
                {
                    characterController.cameraTarget.transform.position = boatController.targetAnimator.playerExit.transform.position;
                }
                else
                {
                    if(boatController.targetPranchaAnimator != null)
                    {
                        characterController.cameraTarget.transform.position = boatController.targetPranchaAnimator.playerExit.transform.position;
                    }
                }
                characterController.cameraTarget.gameObject.GetComponent<Collider>().enabled = true;
                characterController.cameraTarget.gameObject.GetComponent<Rigidbody>().useGravity = true;
                characterController.cameraTarget.gameObject.GetComponent<Rigidbody>().isKinematic = false;
            }
        }

        //reset
        if (resetController)
        {
            resetController = false;
            useController = currentControllerType;
        }
    }
Exemple #2
0
    void LateUpdate()
    {
        //check for reset
        if (currentControllerType != useController)
        {
            resetController = true;
        }
        else
        {
            resetController = false;
        }


        //set controller to none
        if (currentControllerType == Sui_Demo_ControllerType.none)
        {
            if (characterController != null)
            {
                characterController.isActive = false;
            }
            if (boatController != null)
            {
                boatController.isActive = false;
            }
            if (orbitController != null)
            {
                orbitController.isActive = false;
            }
        }

        //set controller to character
        if (currentControllerType == Sui_Demo_ControllerType.character)
        {
            if (boatController != null)
            {
                boatController.isActive = false;
            }
            if (orbitController != null)
            {
                orbitController.isActive = false;
            }
            if (characterController != null)
            {
                characterController.isActive = true;
            }
        }

        //set controller to boat
        if (currentControllerType == Sui_Demo_ControllerType.boat)
        {
            if (characterController != null)
            {
                characterController.isActive = false;
            }
            if (orbitController != null)
            {
                orbitController.isActive = false;
            }
            if (boatController != null)
            {
                boatController.isActive = true;
            }
        }

        //set controller to orbit
        if (currentControllerType == Sui_Demo_ControllerType.orbit)
        {
            if (characterController != null)
            {
                characterController.isActive = false;
            }
            if (boatController != null)
            {
                boatController.isActive = false;
            }
            if (orbitController != null)
            {
                orbitController.isActive = true;
            }
        }



        //Place Character in Boat Object
        if (characterController != null)
        {
            if (currentControllerType == Sui_Demo_ControllerType.boat)
            {
                characterController.isInBoat = true;
                characterController.cameraTarget.transform.position = boatController.targetAnimator.playerPosition.transform.position;
                characterController.cameraTarget.transform.rotation = boatController.targetAnimator.playerPosition.transform.rotation;
                characterController.cameraTarget.gameObject.GetComponent <Collider>().enabled      = false;
                characterController.cameraTarget.gameObject.GetComponent <Rigidbody>().isKinematic = true;
            }
            if (currentControllerType == Sui_Demo_ControllerType.character && resetController)
            {
                characterController.isInBoat = false;
                characterController.cameraTarget.transform.position = boatController.targetAnimator.playerExit.transform.position;
                characterController.cameraTarget.gameObject.GetComponent <Collider>().enabled      = true;
                characterController.cameraTarget.gameObject.GetComponent <Rigidbody>().useGravity  = true;
                characterController.cameraTarget.gameObject.GetComponent <Rigidbody>().isKinematic = false;
            }
        }

        //reset
        if (resetController)
        {
            resetController = false;
            useController   = currentControllerType;
        }
    }
 private void Start()
 {
     useController = currentControllerType;
     characterController = gameObject.GetComponent<ControllerPlayer>();
     boatController = gameObject.GetComponent<ControllerBoat>();
 }