Example #1
0
    // Use this for initialization
    void Start()
    {
        player = FindObjectOfType <characterMovement> ();

        spread          = player.activeWeapon.spread / 100;
        projectileSpeed = player.activeWeapon.projectileSpeed;
        lifetime        = player.activeWeapon.projectileLifetime;

        Destroy(gameObject, lifetime);

        Vector3 aimPos = transform.position;

        Vector3 playerPos = player.transform.position;

        aimPos.x -= playerPos.x;
        aimPos.y -= playerPos.y;

        float angle = Mathf.Atan2(aimPos.y, aimPos.x);

        //Debug.Log (angle);
        angle += Random.Range(-spread, spread);
        //Debug.Log (angle);

        float xVelocity = projectileSpeed * Mathf.Cos(angle);
        float yVelocity = projectileSpeed * Mathf.Sin(angle);

        playerVector = player.GetComponent <Rigidbody2D> ().velocity;

        GetComponent <Rigidbody2D> ().velocity = new Vector2(xVelocity + (playerVector.x * 0.75f), yVelocity + (playerVector.y * 0.75f));

        velocity = GetComponent <Rigidbody2D>().velocity;
    }
Example #2
0
 // Use this for initialization
 void Start()
 {
     //	angle = Mathf.Atan2 (player.transform.rotation.y,player.transform.rotation.x) * Mathf.Rad2Deg;
     canFire = true;
     player  = FindObjectOfType <characterMovement> ();
     projectile.GetComponent <Projectile>().damage = damage;
 }
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.GetComponent <characterMovement>())
     {
         characterMovement temp = other.gameObject.GetComponent <characterMovement>();
         temp.SpawnPoint = this;
     }
 }
Example #4
0
    void Start()
    {
        rigidBody = GetComponent <Rigidbody>();
        animator  = GetComponent <Animator>();
        movement  = GetComponent <characterMovement>();

        Check = FindObjectOfType <CheckMovingObjects>();
    }
Example #5
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.GetComponent <Collider2D>().tag == "Player")
     {
         Destroy(gameObject);
         characterMovement food1 = other.GetComponent <characterMovement>();
         food1.food.Add("burguer");
         print(food1.food[0]);
     }
 }
    // Use this for initialization
    void Start()
    {
        myCR = player.GetComponent <characterMovement>();

        //Setting transparency to the player preferences' transparency.
        Image material = GetComponent <Image>();

        material.color = new Color(material.color.r, material.color.g, material.color.b, globalDataPreserver.Instance.getButtonOpacity() / 255);
        Text buttonText = GetComponentInChildren <Text>();

        buttonText.color = new Color(buttonText.color.r, buttonText.color.g, buttonText.color.b, material.color.a);
    }
Example #7
0
    void Start()
    {
        if (ingameGlobalManager.instance.b_DesktopInputs)               // Init all axis
        {
            Input.ResetInputAxes();
        }

        if (gameObject.GetComponent <characterMovement> ())             // Access to the characterMovement component
        {
            charaMovement = gameObject.GetComponent <characterMovement> ();
        }

        DontDestroyOnLoad(gameObject);                                                  // Don't destroy if a new scene is loaded
    }
Example #8
0
    // Start is called before the first frame update
    void Start()
    {
        theEnemyMovement      = FindObjectOfType <enemyMovement>();
        theDemonEnemyScript   = FindObjectOfType <DemonEnemyScript>();
        theRollyScript        = FindObjectOfType <RollyScript>();
        theBossSpoooderScript = FindObjectOfType <BossSpoooderScript>();
        theBossRollyScript    = FindObjectOfType <BossRollyScript>();
        pickaxePoint1         = FindObjectOfType <PickaxePointScript>();
        theManager            = FindObjectOfType <manager>();

        theCharacterMovement = FindObjectOfType <characterMovement>();
        isOnGroundLeft       = false;
        isOnGroundRight      = false;
    }
Example #9
0
    public void initializedCanvasMobile()
    {
        if (ingameGlobalManager.instance.currentPlayer.GetComponent <characterMovement> ())
        {
            currentCharacter = ingameGlobalManager.instance.currentPlayer.GetComponent <characterMovement> ();


            currentCharacter.mobileToystickController = virtualJoystick;
            currentCharacter.mobileLeftJoystickToMove = virtualJoystickLeftStickToMove;


            currentCharacter.StopMoving();
            currentCharacter.pointerUp();
        }
    }
Example #10
0
    // Start is called before the first frame update
    void Start()
    {
        maxEnemyHealth = 1;
        enemyHealth    = maxEnemyHealth;

        facingRight = false;
        facingLeft  = true;
        seen        = false;
        enraged     = false;
        shot        = true;

        enemyRigid           = GetComponent <Rigidbody2D>();
        theManager           = FindObjectOfType <manager>();
        theCharacterMovement = FindObjectOfType <characterMovement>();
    }
Example #11
0
 // Update is called once per frame
 void Update()
 {
     //Input.GetKeyDown(KeyCode.X) && canThrow
     if (Input.GetKeyDown(KeyCode.X) && canThrow)
     {
         Vector3 spawnPos = new Vector3(transform.position.x, transform.position.y, transform.position.z);
         moveScript = GetComponent <characterMovement>();
         boomerang.GetComponent <boomerangAbility>().moveDirection = moveScript.playerDirection;
         canThrow = false;
         boomerang.transform.position = spawnPos;
         boomerang.GetComponent <boomerangAbility>().ResetFunction();
         //GameObject coolDude = Instantiate(boomerang, spawnPos, Quaternion.identity);
         //coolDude.GetComponent<boomerangAbility>().instantiatedPrefab = coolDude;
     }
 }
Example #12
0
    // Start is called before the first frame update
    void Start()
    {
        maxEnemyHealth = 3;
        enemyHealth    = maxEnemyHealth;
        bossSpawn      = this.transform.position;

        canTurnRight = false;
        canTurnLeft  = false;
        movingLeft   = true;
        movingRight  = false;
        facingRight  = false;
        facingLeft   = true;
        seen         = false;

        enemyRigid           = GetComponent <Rigidbody2D>();
        theManager           = FindObjectOfType <manager>();
        theCharacterMovement = FindObjectOfType <characterMovement>();
        theBossPoint         = FindObjectOfType <BossPoint>();
    }
Example #13
0
    // Update is called once per frame
    void Update()
    {
        if(charTransform == null){
            Debug.Log("finging new char");
            character = GameObject.FindWithTag("player");
            charTransform = character.GetComponent<Transform>();
            charMoveScript = character.GetComponent<characterMovement>();
        }

        transform.position = new Vector3(charTransform.position.x, charTransform.position.y + 15,charTransform.position.z-15);
        /*
        if(characterMovement.physics.wall == charMoveScript.gravity){
            transform.position = new Vector3(charTransform.position.x, 15,charTransform.position.z-15);
            Debug.Log("camaera shift!");
        } else {
            transform.position = new Vector3(charTransform.position.x, charTransform.position.y + 15,charTransform.position.z-15);
        }
        */
    }
    // Update is called once per frame
    void Update()
    {
        movement = GetComponent <characterMovement>();
        if (movement.isMoving && isRiding == true)
        {
            rigidBody.isKinematic = false;
            this.transform.parent = null;
            collider.enabled      = true;
            transform.position    = new Vector3(transform.position.x, transform.position.y + 2, transform.position.z);
            rigidBody.AddForce(Vector3.up * 10);
            //rigidBody.AddForce(Vector3.up * 600);
            isRiding = false;
            Debug.Log("epic");
        }

        if (isRiding == false)
        {
            movement.GetComponent <NetworkObjectScript>().Transmit = true;
        }
    }
Example #15
0
    // Start is called before the first frame update
    void Start()
    {
        maxEnemyHealth = 1;
        enemyHealth    = maxEnemyHealth;

        canTurnRight = false;
        canTurnLeft  = false;
        movingLeft   = true;
        movingRight  = false;
        facingRight  = false;
        facingLeft   = true;
        seen         = false;

        isWalking = true;
        isRolling = false;

        enemyRigid           = GetComponent <Rigidbody2D>();
        theManager           = FindObjectOfType <manager>();
        theCharacterMovement = FindObjectOfType <characterMovement>();
    }
Example #16
0
    // Start is called before the first frame update
    void Start()
    {
        theCharacterMovement  = FindObjectOfType <characterMovement>();
        theEnemyMovement      = FindObjectOfType <enemyMovement>();
        LevelLoader           = FindObjectOfType <LevelLoader>();
        theMovePickaxe        = FindObjectOfType <MovePickaxe>();
        theBossWall1          = FindObjectOfType <BossWall1>();
        theBossSpoooderScript = FindObjectOfType <BossSpoooderScript>();
        theBossRollyScript    = FindObjectOfType <BossRollyScript>();
        theBossPoint          = FindObjectOfType <BossPoint>();
        theBossWall2          = FindObjectOfType <BossWall2>();

        attackCountdown = false;
        attackTime      = 0;
        currentScene    = SceneManager.GetActiveScene();


        isPaused = false;

        /*
         * //SpriteRenderer dirtdim = dirt.GetComponent<SpriteRenderer>();
         * for (int i = 0; i<10;i++)
         * {
         *  for(int j = 0; j < 10; j++)
         *  {
         *      //Vector3 pos = dirt.transform.position;
         *      //pos.x = dirtdim.size.x * i;
         *      //pos.y = dirtdim.size.y * j;
         *      //Instantiate(dirt,pos, Quaternion.identity);
         *  }
         * }
         */

        mainScore      = PlayerPrefs.GetInt("Player Score");
        mainScore      = 0;
        pointText.text = "Score: " + mainScore;
    }
Example #17
0
 // Use this for initialization
 void Start()
 {
     charTransform = character.GetComponent<Transform>();
     charMoveScript = character.GetComponent<characterMovement>();
     Screen.SetResolution(1280, 768, true);
 }
Example #18
0
 private void Awake()
 {
     characterMovement = FindObjectOfType <characterMovement>();
 }
 // Use this for initialization
 void Start()
 {
     character = GetComponentInParent <characterMovement>();
     hasBonus  = false;
     GuiAnim   = bonusGUI.GetComponent <Animator>();
 }
Example #20
0
 // Start is called before the first frame update
 void Start()
 {
     theCharacterMovement = FindObjectOfType <characterMovement>();
     theManager           = FindObjectOfType <manager>();
 }
Example #21
0
    public IEnumerator menupausa(characterMovement player)
    {
        yield return(new WaitForSeconds(1));

        player.menuPausa = false;
    }
Example #22
0
 public void Resume(characterMovement player)
 {
     StartCoroutine(menupausa(player));
     Time.timeScale = 1;
 }
Example #23
0
 // Start is called before the first frame update
 void Start()
 {
     theCharacterMovement = FindObjectOfType <characterMovement>();
     facingLeft           = false;
     facingRight          = false;
 }
Example #24
0
 // Use this for initialization
 void Start()
 {
     charMovement = GetComponent <characterMovement>();
 }
Example #25
0
 // Start is called before the first frame update
 void Start()
 {
     theCharacterMovement = FindObjectOfType <characterMovement>();
     theManager           = FindObjectOfType <manager>();
     isBeingHeld          = false;
 }
Example #26
0
 // Use this for setting the portal up.
 public void getReady()
 {
     rb             = player.GetComponent <Rigidbody2D>();
     playerMovement = player.GetComponent <characterMovement>();
 }
Example #27
0
    public override void OnInspectorGUI()
    {
        if (SeeInspector.boolValue)                         // If true Default Inspector is drawn on screen
        {
            DrawDefaultInspector();
        }

        serializedObject.Update();

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("See Inspector :", GUILayout.Width(85));
        EditorGUILayout.PropertyField(SeeInspector, new GUIContent(""), GUILayout.Width(30));
        EditorGUILayout.EndHorizontal();

        GUIStyle style_Yellow_01     = new GUIStyle(GUI.skin.box); style_Yellow_01.normal.background = Tex_01;
        GUIStyle style_Blue          = new GUIStyle(GUI.skin.box); style_Blue.normal.background = Tex_03;
        GUIStyle style_Purple        = new GUIStyle(GUI.skin.box); style_Purple.normal.background = Tex_04;
        GUIStyle style_Orange        = new GUIStyle(GUI.skin.box); style_Orange.normal.background = Tex_05;
        GUIStyle style_Yellow_Strong = new GUIStyle(GUI.skin.box); style_Yellow_Strong.normal.background = Tex_02;


        //GUILayout.Label("");
        characterMovement myScript = (characterMovement)target;


        EditorGUILayout.HelpBox("This script allow to setup character movement on desktop and Mobile", MessageType.Info);
        EditorGUILayout.LabelField("");

        EditorGUILayout.BeginVertical(style_Yellow_01);
        EditorGUILayout.HelpBox("The next 4 fields need to be connected", MessageType.Info);

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Character Rigidbody :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(rbBodyCharacter, new GUIContent(""), GUILayout.Width(200));
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Character Camera :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(objCamera, new GUIContent(""), GUILayout.Width(200));
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Mobile Stick controller :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(mobileToystickController, new GUIContent(""), GUILayout.Width(200));
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Add Force Position :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(addForceObj, new GUIContent(""), GUILayout.Width(200));
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.EndVertical();

        EditorGUILayout.LabelField("");

        EditorGUILayout.BeginVertical(style_Orange);
        EditorGUILayout.HelpBox("Character speed", MessageType.Info);
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Character speed :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(characterSpeed, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();

        /*
         * EditorGUILayout.BeginHorizontal();
         * EditorGUILayout.LabelField("Speed multiplier (Run) :", GUILayout.Width(160));
         * EditorGUILayout.PropertyField(speedMultiplier, new GUIContent(""), GUILayout.Width(40));
         * EditorGUILayout.EndHorizontal();
         */
        EditorGUILayout.EndVertical();



        EditorGUILayout.BeginVertical(style_Orange);
        EditorGUILayout.HelpBox("Character Climbing Max Angle", MessageType.Info);
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Max angle (Max 80):", GUILayout.Width(160));
        EditorGUILayout.PropertyField(MaxAngle, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Ray Minimum Distance:", GUILayout.Width(160));
        EditorGUILayout.PropertyField(hitDistanceMin, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Ray Maximum Distance:", GUILayout.Width(160));
        EditorGUILayout.PropertyField(hitDistanceMax, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("More info:", GUILayout.Width(60));
        EditorGUILayout.PropertyField(moreInfoMaxAngle, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();

        if (moreInfoMaxAngle.boolValue)
        {
            EditorGUILayout.HelpBox("You have to adapt the Ray Minimum Distance and Max Distance depending the Max Angle." +
                                    "\nFor Max Angle:" +
                                    "\n45 choose Min = .15 and Max = .45" +
                                    "\n70 choose Min = .25 and Max = .55" +
                                    "\n80 choose Min = .45 and Max = .85", MessageType.Info);
        }


        EditorGUILayout.EndVertical();


        EditorGUILayout.BeginVertical(style_Orange);
        EditorGUILayout.HelpBox("Camera Options", MessageType.Info);
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Minimum Camera Angle :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(minimum, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Maximum Camera Angle :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(maximum, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.EndVertical();

        EditorGUILayout.LabelField("");


        EditorGUILayout.BeginVertical(style_Blue);
        EditorGUILayout.HelpBox("Desktop Mouse and Keyboard Options", MessageType.Info);
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Mouse sensibility :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(sensibilityMouse, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();

        if (objCanvasInput)
        {
            //-> Mouse Invert Y Cam Axis
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Invert Y Look: ", GUILayout.Width(160));
            mouseInvertYAxisCam.intValue = EditorGUILayout.Popup(mouseInvertYAxisCam.intValue, s_inputListKeyboardBool.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> forward Keyboard
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Forward : ", GUILayout.Width(160));
            forwardKeyboard.intValue = EditorGUILayout.Popup(forwardKeyboard.intValue, s_inputListKeyboardButton.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> backward Keyboard
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Backward : ", GUILayout.Width(160));
            backwardKeyboard.intValue = EditorGUILayout.Popup(backwardKeyboard.intValue, s_inputListKeyboardButton.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> left Keyboard
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Left : ", GUILayout.Width(160));
            leftKeyboard.intValue = EditorGUILayout.Popup(leftKeyboard.intValue, s_inputListKeyboardButton.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> right Keyboard
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Right : ", GUILayout.Width(160));
            rightKeyboard.intValue = EditorGUILayout.Popup(rightKeyboard.intValue, s_inputListKeyboardButton.ToArray());
            EditorGUILayout.EndHorizontal();


            //-> Crouch
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Crouch: ", GUILayout.Width(160));

            EditorGUILayout.LabelField("Allow:", GUILayout.Width(40));
            EditorGUILayout.PropertyField(allowCrouch, new GUIContent(""), GUILayout.Width(20));
            if (allowCrouch.boolValue)
            {
                KeyboardCrouch.intValue = EditorGUILayout.Popup(KeyboardCrouch.intValue, s_inputListKeyboardButton.ToArray());
            }
            EditorGUILayout.EndHorizontal();

            /*
             * //-> Run
             * EditorGUILayout.BeginHorizontal();
             * GUILayout.Label("Run: ", GUILayout.Width(160));
             *
             * EditorGUILayout.LabelField("Allow:", GUILayout.Width(40));
             * EditorGUILayout.PropertyField(b_AllowRun, new GUIContent(""), GUILayout.Width(20));
             *
             * EditorGUILayout.EndHorizontal();
             */
        }


        EditorGUILayout.EndVertical();

        //EditorGUILayout.LabelField ("");

        EditorGUILayout.BeginVertical(style_Blue);
        EditorGUILayout.HelpBox("Desktop Joystick Options", MessageType.Info);
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Joystick sensibility :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(sensibilityJoystick, new GUIContent(""), GUILayout.Width(40));
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Joystick sensibility curve :", GUILayout.Width(160));
        EditorGUILayout.PropertyField(animationCurveJoystick, new GUIContent(""), GUILayout.Width(200));
        EditorGUILayout.EndHorizontal();

        if (objCanvasInput)
        {
            //-> Joystick Input to move  Horizontaly
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Horizontal Body: ", GUILayout.Width(160));
            HorizontalAxisBody.intValue = EditorGUILayout.Popup(HorizontalAxisBody.intValue, s_inputListJoystickAxis.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> Joystick Input to move  verticaly
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Vertical Body : ", GUILayout.Width(160));
            VerticalAxisBody.intValue = EditorGUILayout.Popup(VerticalAxisBody.intValue, s_inputListJoystickAxis.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> Joystick Input to move  Horizontaly
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Horizontal Cam : ", GUILayout.Width(160));
            JoystickHorizontalAxisCam.intValue = EditorGUILayout.Popup(JoystickHorizontalAxisCam.intValue, s_inputListJoystickAxis.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> Joystick Input to move  verticaly
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Vertical Cam : ", GUILayout.Width(160));
            JoystickVerticalAxisCam.intValue = EditorGUILayout.Popup(JoystickVerticalAxisCam.intValue, s_inputListJoystickAxis.ToArray());
            EditorGUILayout.EndHorizontal();


            //-> Joystick Input Invert Y Cam Axis
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Invert Y Look: ", GUILayout.Width(160));
            joystickInvertYAxisCam.intValue = EditorGUILayout.Popup(joystickInvertYAxisCam.intValue, s_inputListJoystickBool.ToArray());
            EditorGUILayout.EndHorizontal();

            //-> Joystick Crouch Button
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Crouch Button: ", GUILayout.Width(160));
            EditorGUILayout.LabelField("Allow:", GUILayout.Width(40));
            EditorGUILayout.PropertyField(allowCrouch, new GUIContent(""), GUILayout.Width(20));
            if (allowCrouch.boolValue)
            {
                JoystickCrouch.intValue = EditorGUILayout.Popup(JoystickCrouch.intValue, s_inputListJoystickButton.ToArray());
            }
            EditorGUILayout.EndHorizontal();

            /*
             * //-> Run
             * EditorGUILayout.BeginHorizontal();
             * GUILayout.Label("Run: ", GUILayout.Width(160));
             *
             * EditorGUILayout.LabelField("Allow:", GUILayout.Width(40));
             * EditorGUILayout.PropertyField(b_AllowRun, new GUIContent(""), GUILayout.Width(20));
             *
             * EditorGUILayout.EndHorizontal();
             */
        }

        EditorGUILayout.EndVertical();

        //EditorGUILayout.LabelField ("");

        EditorGUILayout.BeginVertical(style_Blue);
        EditorGUILayout.HelpBox("Mobile Joystick Options", MessageType.Info);


        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Player Movement use :", GUILayout.Width(160));


        //-> Left Stick
        string newtitle = "Left Stick";

        if (!b_MobileMovement_Stick.boolValue)
        {
            newtitle = "Left Buttons";
        }

        if (GUILayout.Button(newtitle, GUILayout.Width(200)))
        {
            b_MobileMovement_Stick.boolValue = !b_MobileMovement_Stick.boolValue;

            GameObject Grp_Canvas = GameObject.Find("Grp_Canvas");

            Transform[]         allChildren  = Grp_Canvas.GetComponentsInChildren <Transform>(true);
            canvasMobileConnect mobileCanvas = null;

            foreach (Transform child in allChildren)
            {
                if (child.name == "mobileCanvas")
                {
                    mobileCanvas = child.GetComponent <canvasMobileConnect>();
                    break;
                }
            }
            Undo.RegisterFullObjectHierarchyUndo(mobileCanvas.grp_LeftButtonsMove, mobileCanvas.grp_LeftButtonsMove.name);
            Undo.RegisterFullObjectHierarchyUndo(mobileCanvas.virtualJoystickLeftStickToMove, mobileCanvas.virtualJoystickLeftStickToMove.name);

            if (b_MobileMovement_Stick.boolValue)
            {
                mobileCanvas.grp_LeftButtonsMove.SetActive(false);
                mobileCanvas.virtualJoystickLeftStickToMove.gameObject.SetActive(true);
            }
            else
            {
                mobileCanvas.grp_LeftButtonsMove.SetActive(true);
                mobileCanvas.virtualJoystickLeftStickToMove.gameObject.SetActive(false);
            }
        }
        EditorGUILayout.EndHorizontal();

        /*
         * // Left Options (Buttons)
         * if (!b_MobileMovement_Stick.boolValue){
         * }
         * // Left Options (Stick)
         * else
         * {
         *  EditorGUILayout.BeginHorizontal();
         *  EditorGUILayout.LabelField("Mobile stick sensibility :", GUILayout.Width(160));
         *  EditorGUILayout.PropertyField(LeftStickSensibility, new GUIContent(""), GUILayout.Width(200));
         *  EditorGUILayout.EndHorizontal();
         * }
         */


        //EditorGUILayout.LabelField("");


        //-> Right Stick
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Player Camera Rotation use :", GUILayout.Width(160));

        newtitle = "Right Stick";
        if (!b_MobileCamRotation_Stick.boolValue)
        {
            newtitle = "No Stick";
        }


        if (GUILayout.Button(newtitle, GUILayout.Width(200)))
        {
            b_MobileCamRotation_Stick.boolValue = !b_MobileCamRotation_Stick.boolValue;

            GameObject Grp_Canvas = GameObject.Find("Grp_Canvas");

            Transform[]         allChildren  = Grp_Canvas.GetComponentsInChildren <Transform>(true);
            canvasMobileConnect mobileCanvas = null;

            foreach (Transform child in allChildren)
            {
                if (child.name == "mobileCanvas")
                {
                    mobileCanvas = child.GetComponent <canvasMobileConnect>();
                    break;
                }
            }
            Undo.RegisterFullObjectHierarchyUndo(mobileCanvas.virtualJoystick, mobileCanvas.virtualJoystick.name);
            if (!b_MobileCamRotation_Stick.boolValue)
            {
                mobileCanvas.virtualJoystick.gameObject.SetActive(false);
            }
            else
            {
                mobileCanvas.virtualJoystick.gameObject.SetActive(true);
            }
        }
        EditorGUILayout.EndHorizontal();

        // Right Stick Options
        if (b_MobileCamRotation_Stick.boolValue)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Mobile stick sensibility :", GUILayout.Width(160));
            EditorGUILayout.PropertyField(sensibilityMobile, new GUIContent(""), GUILayout.Width(200));
            EditorGUILayout.EndHorizontal();


            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Mobile stick sensibility curve :", GUILayout.Width(160));
            EditorGUILayout.PropertyField(animationCurveMobile, new GUIContent(""), GUILayout.Width(200));
            EditorGUILayout.EndHorizontal();
        }
        // No Stick Options
        else
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("sensibility :", GUILayout.Width(160));
            EditorGUILayout.PropertyField(mobileSpeedRotation, new GUIContent(""), GUILayout.Width(200));
            EditorGUILayout.EndHorizontal();
        }


        //-> Crouch Button
        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Crouch Button: ", GUILayout.Width(160));
        EditorGUILayout.LabelField("Allow:", GUILayout.Width(40));
        EditorGUILayout.PropertyField(allowCrouch, new GUIContent(""), GUILayout.Width(20));
        if (allowCrouch.boolValue)
        {
            JoystickCrouch.intValue = EditorGUILayout.Popup(JoystickCrouch.intValue, s_inputListJoystickButton.ToArray());
        }
        EditorGUILayout.EndHorizontal();

        /*
         * //-> Run
         * EditorGUILayout.BeginHorizontal();
         * GUILayout.Label("Run: ", GUILayout.Width(160));
         *
         * EditorGUILayout.LabelField("Allow:", GUILayout.Width(40));
         * EditorGUILayout.PropertyField(b_AllowRun, new GUIContent(""), GUILayout.Width(20));
         *
         * EditorGUILayout.EndHorizontal();
         */
        EditorGUILayout.EndVertical();



        EditorGUILayout.LabelField("");
        EditorGUILayout.LabelField("");

        serializedObject.ApplyModifiedProperties();
    }