Esempio n. 1
0
    /// <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);
        }
    }
Esempio n. 2
0
    /// <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;
        }
    }
Esempio n. 3
0
    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);
    }