/// <summary> /// est-ce qu'on peut bouger droite / gauche ? /// </summary> /// <returns></returns> private bool CanMove() { /*//si on ne bouge pas les input, ne rien faire * if (playerInput.Horiz == 0 && playerInput.Verti == 0) * return (false); */ //si on a juste sauté, ne rien faire if (!worldCollision.CoolDownGroundedJump.IsReady() || !worldCollision.CoolDownGrounded.IsReady()) { return(false); } if (playerPenduleMove.IsAirTense) { return(false); } //ne pas bouger quand on est gripped if (grip.Gripped) { return(false); } //si on est en l'air, et pas sur un objet exeption, ne rien faire (pour l'instant !!) if (!worldCollision.IsGroundedSafe()) { //ici on est peut être pas grounded, mais on peut être sur ExeptionPlayer ?? if (!worldCollision.IsGroundeExeptionSafe()) { //ici on est en l'air //Debug.Log("ici on est en l'air, ne rien faire"); playerAirMove.TryToMove(); return(false); } else { //Debug.Log("ici on peut bouger ????? on est su rle player..."); return(false); //ici on est en collision avec un player ? OK } } if (worldCollision.GetSimpleCollisionSafe() == CollisionSimple.Ceilling) { return(false); } /* * //on est au sol, on bouge les inputs et les coolDown JUMP & MOVE sont OP ! * Collider coll; * if (!worldCollision.PlatformManager.IsWalkable(out coll)) * return (false); */ return(true); }
/// <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; } }