public IEnumerator TriggerDeath() { tracking = false; /* Basic death while we don't have a real character. we just disappear */ /* * if (target != null && target.tag == "Player") { * target.localScale = new Vector3(0,0,0); * target.gameObject.SetActive(false); * } */ target.GetComponent <CharacterControl>().Dying = true; Instantiate(wrongSoundPrefab, transform.position, transform.rotation); GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraMove>().enabled = false; /* Wait 2 seconds until we restart the level */ yield return(new WaitForSeconds(3f)); LevelDebugManager levelDebugManager = GameObject.Find("LevelDebugManager").transform.GetComponent <LevelDebugManager>(); levelDebugManager.Death(); }
private void FixedUpdate() { if (RIGID_BODY.velocity.y < -0.2f) { RIGID_BODY.velocity += (-Vector3.up * GravityMultiplier); } if (RIGID_BODY.velocity.y > 0.2f && !Jump) { RIGID_BODY.velocity += (-Vector3.up * PullMultiplier); } playerRig.localPosition = Vector3.Lerp(playerRig.localPosition, new Vector3(0, -0.46f, playerRigPosZ), 6 * Time.deltaTime); if (transform.position.y < -10) { LevelDebugManager levelDebugManager = GameObject.Find("LevelDebugManager").transform.GetComponent <LevelDebugManager>(); levelDebugManager.Death(); } if (Dying) { animator.SetBool(CharacterControl.TransitionParameter.Dying.ToString(), true); Dying = false; } }
public void Trigger() { // Tell the animation controller about our // recent triggering //triggered = true; cameraTarget.GetComponent <CameraTarget>().offsetFromFocusPoint = newOffsetFromFocusPoint; if (newDistance > 0) { gameCamera.GetComponent <CameraMove>().distance = newDistance; } cameraTarget.GetComponent <CameraTarget>().fastX = fastX; gameCamera.GetComponent <CameraMove>().isRotY = fastX; if (isCheckpointPosition) { GameObject[] objs = GameObject.FindGameObjectsWithTag("checkpoint_pos"); objs[0].transform.position = new Vector3(transform.position.x + inRestartPlayerPositionOffset.x, objs[0].transform.position.y, objs[0].transform.position.z); if (GameObject.Find("LevelDebugManager")) { LevelDebugManager levelDebugManager = GameObject.Find("LevelDebugManager").transform.GetComponent <LevelDebugManager>(); levelDebugManager.inRestartNewPrefab = inRestartNewPrefab; levelDebugManager.inRestartNewPrefabPosition = transform.position + inRestartNewPrefabPositionOffset; levelDebugManager.lastCheckpoint = this; } } }
public IEnumerator InstantiateNewStuffTimed(Transform inRestartNewPrefab, Vector3 inRestartNewPrefabPosition, Checkpoint checkpoint) { /* change camera parameters - like Trigger() from Checkpoint.cs */ if (checkpoint) { savedCheckpointVirtual = new Checkpoint(); savedCheckpointVirtual.newOffsetFromFocusPoint = checkpoint.newOffsetFromFocusPoint; savedCheckpointVirtual.newDistance = checkpoint.newDistance; savedCheckpointVirtual.fastX = checkpoint.fastX; } var newOffsetFromFocusPoint = savedCheckpointVirtual.newOffsetFromFocusPoint; var newDistance = savedCheckpointVirtual.newDistance; var fastX = savedCheckpointVirtual.fastX; /* ====================================== */ yield return(new WaitForSeconds(2f)); var inst = Instantiate(inRestartNewPrefab); inst.position = new Vector3(inRestartNewPrefabPosition.x, GameObject.Find("Character").transform.position.y, GameObject.Find("Character").transform.position.z); LevelDebugManager levelDebugManager = GameObject.Find("LevelDebugManager").transform.GetComponent <LevelDebugManager>(); levelDebugManager.inRestartNewPrefab = inRestartNewPrefab; levelDebugManager.inRestartNewPrefabPosition = inRestartNewPrefabPosition; var gameCamera = GameObject.FindGameObjectWithTag("MainCamera").transform; var cameraTarget = GameObject.Find("CameraTarget").transform; cameraTarget.GetComponent <CameraTarget>().offsetFromFocusPoint = newOffsetFromFocusPoint; if (newDistance > 0) { gameCamera.GetComponent <CameraMove>().distance = newDistance; } cameraTarget.GetComponent <CameraTarget>().fastX = fastX; gameCamera.GetComponent <CameraMove>().isRotY = fastX; }