void OnTriggerEnter(Collider other) { //if (!isTrapTriggered) //{ if (other.gameObject.tag == "Trap" || other.gameObject.tag == "turningTrap" || other.gameObject.tag == "loopTrap") { // playerRB.transform.DOPunchPosition(new Vector3(0, 0, 100f * Time.deltaTime), 1, 5, 1, false); //playerRB.transform.DOPunchRotation(new Vector3(0, 0, 100f * Time.deltaTime), 1, 10, 1); // isTrapTriggered = true; // trapInt_CurrentNode = script.CurrentNode; /* player.GetComponent<Animator>().enabled = false; * playerRB.detectCollisions = true; * playerRB.DOJump(PathNode[(script.CurrentNode) - 2].transform.position, 0.75f, 2, 0.315f, false).SetEase(script.anim_ease) * * .OnStart(() => * { * * script.trapCollided = false; * pathFollower.GetComponent<PathFollower>().CheckNode(); * script.trapCollided = true; * * }) * .OnPlay(()=> { * * script.CurrentNode--; * * } * * ) * * .OnComplete(() => * { * * pathFollower.GetComponent<PathFollower>().CheckNode(); * script.trapCollided = false; * }); * * isCollided = true;*/ script.isGrounded = false; pathFollower.GetComponent <PathFollower>().enabled = false; ragdollActivate.SetActiveRagdollPhysics(true); playerRB.AddForce(new Vector3(Random.Range(-4000f, -3000), 0, Random.Range(-4000f, 4000f)) + new Vector3(0, 4000f, 0)); playerRB.AddTorque(new Vector3(0, 100f, 0)); if (playerRB.velocity == Vector3.zero) { Debug.Log("velocity ifine girdi."); StartCoroutine(SpawnAtLastCheckpoint()); } //playerRB.AddForce(-transform.forward*4000f+ new Vector3(0,4000f,0)); } else if (other.gameObject.tag == "Jumper") { var meshJumper = other.gameObject.GetComponentInChildren <MeshRenderer>(); var meshJumperY = meshJumper.bounds.size.y; // CALCULATION OF THE COMPRESS RATIO var meshCompressDiff = (meshJumperY) - (meshJumperY * 0.2f); // var meshOriginalScaleY = other.gameObject.transform.localScale.y; var meshCompressedScaleY = other.gameObject.transform.localScale.y * 0.2f; var playerRBmoveInY = meshCompressDiff; // INIT DIFFERENCE TO MOVEMENT IN Y FOR RB var playerOriginPosY = playerRB.transform.position.y; var playerMoveToInY = playerOriginPosY - playerRBmoveInY; var jumperRB = other.GetComponent <Rigidbody>(); var originY = other.gameObject.transform.localScale.y; // other.gameObject.transform.DOScaleY(0.398f,0.35f).OnComplete(()=> { }); pathFollower.GetComponent <PathFollower>().enabled = false; Sequence jumperSeq = DOTween.Sequence(); if (!jumperFlag) { jumperSeq .Append(other.gameObject.transform.DOScaleY(meshCompressedScaleY, 0.15f).SetEase(Ease.OutQuart)) .Join(playerRB.DOMoveY(playerMoveToInY, 0.15f).SetEase(Ease.OutQuart)) .Append(other.gameObject.transform.DOScaleY(meshOriginalScaleY, 0.12f).SetEase(Ease.InQuart)) .Join(playerRB.DOMoveY(playerOriginPosY, 0.12f).SetEase(Ease.InQuart)) .Append(DOTweenModulePhysics.DOJump(playerRB, PathNode[(script.CurrentNode) + 2].transform.position, 6f, 1, 0.50f, false) .OnStart(() => { script.isGrounded = false; script.trapCollided = true; script.CheckNode(); }) .OnComplete(() => { script.CurrentNode += 2; script.isGrounded = true; script.trapCollided = false; script.CheckNode(); })) .OnStart(() => { }) .OnUpdate(() => { jumperFlag = true; }) .OnComplete(() => { jumperFlag = false; pathFollower.GetComponent <PathFollower>().enabled = true; }) ; } } //} }