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