/// <summary> /// set les bool d'animator a chaque update /// </summary> private void AnimOnFloorSet() { bool onFloor = worldCollision.IsOnFloor() || worldCollision.IsOnCoinGround(); if (onFloor != anim.GetBool("onfloor")) { StartCoroutine(WaitFalseFloor("onfloor", onFloor, iterationDebug)); //anim.SetBool("onfloor", onFloor); } }
/// <summary> /// ici effectue un simple jump /// </summary> private void SimpleJump() { //get la collision CollisionSimple collisionJump = worldCollision.GetSimpleCollisionSafe(); switch (collisionJump) { case CollisionSimple.Ceilling: Debug.Log("jumpFromCeilling"); JumpFromCeilling(); break; case CollisionSimple.Ground: Debug.Log("jumpFromGround"); JumpFromGround(); break; case CollisionSimple.Wall: if (worldCollision.IsOnCoinGround()) { Jump(Vector3.up); break; } JumpFromWall(); break; default: Debug.Log("alors la je sais pas..."); break; } }
private bool WallCase(Vector3 initialVelocity, int leftSide = 1) { if (initialVelocity.x < 0) { if (!playerPenduleMove.IsAirTenseOrInCoolDown()) { Debug.Log("ici ne pas continuer vers la gauche"); worldCollision.CoolDownGrounded.StartCoolDown(); } return(true); } else { //Debug.Log("ici faire quelque chose pour ne pas bouncer..."); if (playerPenduleMove.IsAirTenseOrInCoolDown()) { //Debug.Log("ici accroche"); return(false); } //ici ne rien faire si l'une des normals est... sur le sol !!!! if (worldCollision.IsOnCoinGround()) { //Ici on est dans un coin //Debug.Log("ici dans un coin !"); } else { if (playerManager.IsOtherIsGripped(playerController.IdPlayer) && ropeHandler.IsTenseForAirMove) { if (playerInput.GetDirInput() != Vector3.zero) { //Debug.Log("ou encore la ?"); //PhysicsExt.ApplyConstForce(rb, -Vector3.right * leftSide, externalForce.ForceOnWall); } //Debug.Log("ici n'accroche pas au mur, car on peut faire air move !"); } else { //Debug.Log("accroche au mur !"); //PhysicsExt.ApplyConstForce(rb, Vector3.right * leftSide, externalForce.ForceOnWall); } return(false); } } return(true); }