public static void Reset()
    {
        Debug.Log("インプットマネージャーの設定を開始します。");
        InputManagerGenerator inputMgr = new InputManagerGenerator();

        inputMgr.Clear();

        //共通の入力設定
        inputMgr.AddAxis(AxisData.CreateKeyAxis("Horizontal"  , "left", "right"));//横軸
        inputMgr.AddAxis(AxisData.CreateKeyAxis("Vertical"    , "up"  , "down" ));//縦軸
        inputMgr.AddAxis(AxisData.CreatePadAxis("Horizontal"  , 1, 0));//横軸
        inputMgr.AddAxis(AxisData.CreatePadAxis("Vertical"    , 2, 0));//縦軸
        inputMgr.AddAxis(AxisData.CreateButton ("Accelerator" , "space"      , "joystick button 0" ));//適用・アクセル
        inputMgr.AddAxis(AxisData.CreateButton ("Brake"       , "backspace"  , "joystick button 1" ));//取消 ・ブレーキ
        inputMgr.AddAxis(AxisData.CreateButton ("Glider"      , "left shift" , "joystick button 2" ));//滑空
        inputMgr.AddAxis(AxisData.CreateButton ("Drift"       , "left ctrl"  , "joystick button 6" ));//ドリフト
        inputMgr.AddAxis(AxisData.CreateButton ("Menu"        , "escape"     , "joystick button 9" ));//メニュー

        //プレイヤーごとの入力設定
        for(int i=1; i <= 4; i++) {
            inputMgr.AddAxis(AxisData.CreatePadAxis("P" + i + "Horizontal"  , 1, i)); //横軸
            inputMgr.AddAxis(AxisData.CreatePadAxis("P" + i + "Vertical"    , 2, i)); //縦軸
            inputMgr.AddAxis(AxisData.CreateButton ("P" + i + "Accelerator" , "joystick " + i + " button 0" ));//適用・アクセル
            inputMgr.AddAxis(AxisData.CreateButton ("P" + i + "Brake"       , "joystick " + i + " button 1" ));//取消 ・ブレーキ
            inputMgr.AddAxis(AxisData.CreateButton ("P" + i + "Glider"      , "joystick " + i + " button 2" ));//滑空
            inputMgr.AddAxis(AxisData.CreateButton ("P" + i + "Drift"       , "joystick " + i + " button 6" ));//ドリフト
            inputMgr.AddAxis(AxisData.CreateButton ("P" + i + "Menu"        , "joystick " + i + " button 9" ));//メニュー
        }

        Debug.Log("設定を再設定しました。");
    }
    /// <summary>
    /// プレイヤーごとの入力設定を追加する
    /// </summary>
    /// <param name="inputManagerGenerator">Input manager generator.</param>
    /// <param name="playerIndex">Player index.</param>
    private static void AddPlayerInputSettings(InputManagerGenerator inputManagerGenerator, int playerIndex)
    {
        if (playerIndex < 0 || playerIndex > 3)
        {
            Debug.LogError("プレイヤーインデックスの値が不正です。");
        }
        string upKey = "", downKey = "", leftKey = "", rightKey = "", attackKey = "";

        GetAxisKey(out upKey, out downKey, out leftKey, out rightKey, out attackKey, playerIndex);

        int joystickNum = playerIndex + 1;

        // 横方向
        {
            var name = string.Format("Player{0} Horizontal", playerIndex);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 1));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
        }

        // 縦方向
        {
            var name = string.Format("Player{0} Vertical", playerIndex);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 2));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
        }


        // 攻撃
        {
            var axis   = new InputAxis();
            var name   = string.Format("Player{0} Attack", playerIndex);
            var button = string.Format("joystick {0} button 0", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        }
    }
Esempio n. 3
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        InputManager manager = target as InputManager;

        if (GUILayout.Button("反映"))
        {
            generator = new InputManagerGenerator();

            generator.Clear();

            var inputList = manager.GetInputSettingList();
            for (int i = 0; i < inputList.Length; i++)
            {
                var data = inputList[i];
                generator.AddAxis(InputAxis.CreateKeyAxis(data.name, data.negative, data.positive, data.altNegative, data.altPositive));

                if (data.isJoyPadAxisCreate)
                {
                    generator.AddAxis(InputAxis.CreatePadAxis(data.name, data.joyStickNum, data.axisNum));
                }
            }

            Debug.Log("反映成功");
        }
    }
Esempio n. 4
0
    public static void Reset()
    {
        Debug.Log("インプットマネージャーの設定を開始します。");
        InputManagerGenerator inputMgr = new InputManagerGenerator();

        inputMgr.Clear();

        //共通の入力設定
        inputMgr.AddAxis(AxisData.CreateKeyAxis("Horizontal", "left", "right"));              //横軸
        inputMgr.AddAxis(AxisData.CreateKeyAxis("Vertical", "up", "down"));                   //縦軸
        inputMgr.AddAxis(AxisData.CreatePadAxis("Horizontal", 1, 0));                         //横軸
        inputMgr.AddAxis(AxisData.CreatePadAxis("Vertical", 2, 0));                           //縦軸
        inputMgr.AddAxis(AxisData.CreateButton("Accelerator", "space", "joystick button 0")); //適用・アクセル
        inputMgr.AddAxis(AxisData.CreateButton("Brake", "backspace", "joystick button 1"));   //取消 ・ブレーキ
        inputMgr.AddAxis(AxisData.CreateButton("Glider", "left shift", "joystick button 2")); //滑空
        inputMgr.AddAxis(AxisData.CreateButton("Drift", "left ctrl", "joystick button 6"));   //ドリフト
        inputMgr.AddAxis(AxisData.CreateButton("Menu", "escape", "joystick button 9"));       //メニュー


        //プレイヤーごとの入力設定
        for (int i = 1; i <= 4; i++)
        {
            inputMgr.AddAxis(AxisData.CreatePadAxis("P" + i + "Horizontal", 1, i));                          //横軸
            inputMgr.AddAxis(AxisData.CreatePadAxis("P" + i + "Vertical", 2, i));                            //縦軸
            inputMgr.AddAxis(AxisData.CreateButton("P" + i + "Accelerator", "joystick " + i + " button 0")); //適用・アクセル
            inputMgr.AddAxis(AxisData.CreateButton("P" + i + "Brake", "joystick " + i + " button 1"));       //取消 ・ブレーキ
            inputMgr.AddAxis(AxisData.CreateButton("P" + i + "Glider", "joystick " + i + " button 2"));      //滑空
            inputMgr.AddAxis(AxisData.CreateButton("P" + i + "Drift", "joystick " + i + " button 6"));       //ドリフト
            inputMgr.AddAxis(AxisData.CreateButton("P" + i + "Menu", "joystick " + i + " button 9"));        //メニュー
        }

        Debug.Log("設定を再設定しました。");
    }
Esempio n. 5
0
    /// <summary>
    /// グローバルな入力設定を追加する(OK、キャンセルなど)
    /// </summary>
    /// <param name="inputManagerGenerator">Input manager generator.</param>
    private static void AddGlobalInputSettings(InputManagerGenerator inputManagerGenerator)
    {
        // 横方向
        {
            var name = "Horizontal";
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, "a", "d", "left", "right"));
        }

        // 縦方向
        {
            var name = "Vertical";
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, "s", "w", "down", "up"));
        }

        // 決定
        {
            var name = "Submit";
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, "z", "joystick button 0"));
        }

        // キャンセル
        {
            var name = "Cancel";
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, "x", "joystick button 1"));
        }
    }
    public static void EnableSteeringContoller()
    {
        InputManagerGenerator inputManagerGenerator = new InputManagerGenerator();

        // 現在の設定をクリア
        inputManagerGenerator.Clear();

        // ハンドル入力を登録
        {
            var name = "HANDLE";
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, 0, 1));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, "a", "d", "left", "right"));
        }
        // ボタン入力を登録
        foreach (var button in buttons)
        {
            var buttonName = button.Key;
            var inputName  = button.Value;
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(buttonName, inputName, inputName));
        }

        // デフォルト
        {
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis("Horizontal", 0, 1));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis("Horizontal", "a", "d", "left", "right"));
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis("Vertical", 0, 2));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis("Vertical", "s", "w", "down", "up"));
            inputManagerGenerator.AddAxis(InputAxis.CreateButton("Submit", "enter", "joystick button 0"));
            inputManagerGenerator.AddAxis(InputAxis.CreateButton("Cancel", "escape", "joystick button 1"));
        }

        // 完了
        Debug.Log("ProjectSetting/InputにSteeringControllerを設定しました。");
    }
Esempio n. 7
0
    /// <summary>
    /// インプットマネージャーを設定します。
    /// </summary>
    public void SetInputManager()
    {
        //接続されているコントローラーの名前を取得
        var controllerNames = Input.GetJoystickNames();

        Debug.Log("インプットマネージャーの設定を開始します。");
        InputManagerGenerator inputManagerGenerator = new InputManagerGenerator();

        Debug.Log("設定を全てクリアします。");
        inputManagerGenerator.Clear();
        for (int i = 0; i < 2 /*controllerNames.Length*/; ++i)
        {
            if (i < controllerNames.Length)
            {
                AddPlayerInputSettings(inputManagerGenerator, i, controllerNames[i]);
                Debug.Log(string.Format("player{0} に {1} を割り当てました。", i, controllerNames[i]));
            }
            else
            {
                AddPlayerInputSettings(inputManagerGenerator, i, "");
                Debug.Log(string.Format("player{0} に キーボード入力のみ割り当てました。", i));
            }
        }

        Debug.Log("インプットマネージャーの設定が完了しました。");
    }
Esempio n. 8
0
    public static void Clear()
    {
        Debug.Log("インプットマネージャーの設定を開始します。");
        InputManagerGenerator inputManagerGenerator = new InputManagerGenerator();

        Debug.Log("設定を全てクリアします。");
        inputManagerGenerator.Clear();
    }
    public static void Clear()
    {
        Debug.Log("インプットマネージャーの設定を開始します。");
        InputManagerGenerator inputManagerGenerator = new InputManagerGenerator();

        Debug.Log("設定を全てクリアします。");
        inputManagerGenerator.Clear();
    }
Esempio n. 10
0
    /// <summary>
    /// グローバルな入力設定を追加する(OK、キャンセルなど)
    /// </summary>
    /// <param name="inputManagerGenerator">Input manager generator.</param>
    private static void AddGlobalInputSettings(InputManagerGenerator inputManagerGenerator)
    {
        // 横方向
        {
            var name = "Horizontal";
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, 0, 1));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, "a", "d", "left", "right"));
        }

        // 縦方向
        {
            var name = "Vertical";
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, 0, 2));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, "s", "w", "down", "up"));
        }
    }
Esempio n. 11
0
    public static void ResetInputManager()
    {
        Debug.Log("インプットマネージャーの設定を開始します。");
        InputManagerGenerator inputManagerGenerator = new InputManagerGenerator();

        Debug.Log("設定を全てクリアします。");
        inputManagerGenerator.Clear();

        Debug.Log("プレイヤーごとの設定を追加します。");
        for (int i = 0; i < 4; i++)
        {
            AddPlayerInputSettings(inputManagerGenerator, i);
        }

        Debug.Log("グローバル設定を追加します。");
        AddGlobalInputSettings(inputManagerGenerator);

        Debug.Log("インプットマネージャーの設定が完了しました。");
    }
Esempio n. 12
0
    /// <summary>
    /// プレイヤーごとの入力設定を追加する
    /// </summary>
    /// <param name="inputManagerGenerator">Input manager generator.</param>
    /// <param name="playerIndex">Player index.</param>
    private static void AddPlayerInputSettings(InputManagerGenerator inputManagerGenerator, int playerIndex)
    {
        if (playerIndex < 0 || playerIndex > 3)
        {
            Debug.LogError("プレイヤーインデックスの値が不正です。");
        }
        string        upKey = "", downKey = "", leftKey = "", rightKey = "";
        List <string> fireKeys;

        GetAxisKey(out upKey, out downKey, out leftKey, out rightKey, out fireKeys, playerIndex);

        int joystickNum = playerIndex + 1;

        Debug.Log("プレイヤー" + joystickNum + "の設定を追加します。");

        // 横方向
        {
            var name = string.Format("P{0}Horizontal", playerIndex);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 1));
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 5));            //5thAxis
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
        }

        // 縦方向
        {
            var name = string.Format("P{0}Vertical", playerIndex);
            //Yはinvert設定しないとギャクに成る
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 2, true));
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 6, true));            //6thAxis
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
        }


        // 攻撃
        for (int i = 0; i < FIRENUM; i++)
        {
            var axis   = new InputAxis();
            var name   = string.Format("P{0}Fire{1}", playerIndex, i + 1);
            var button = string.Format("joystick {0} button {1}", joystickNum, i);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, fireKeys[i]));
        }
    }
Esempio n. 13
0
    /** ********************************************************************************
    * @summary グローバルな入力設定を追加する(OK、キャンセルなど)
    ***********************************************************************************/
    private static void AddGlobalInputSettings(InputManagerGenerator inputManagerGenerator)
    {
        // 横方向
        {
            var name = "Horizontal";
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, 0, 1));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, "a", "d", "left", "right"));
        }

        // 縦方向
        {
            var name = "Vertical";
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, 0, 2));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, "s", "w", "down", "up"));
        }

        // 決定
        {
            var name = "OK";
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, "z", "joystick button 3"));
        }

        // キャンセル
        {
            var name = "Cancel";
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, "x", "joystick button 2"));
        }

        // ポーズ
        {
            var name = "Pause";
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, "return", "joystick button 11"));
        }

        // デバッグ用リセット
        {
            var name = "DebugReset";
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, "escape", "joystick button 10"));
        }
    }
Esempio n. 14
0
    /// <summary>
    /// プレイヤーごとの入力設定を追加する
    /// </summary>
    /// <param name="inputManagerGenerator">Input manager generator.</param>
    /// <param name="playerIndex">Player index.</param>
    ///

    private static void AddPlayerInputSettings(InputManagerGenerator inputManagerGenerator, int playerIndex)
    {
        if (playerIndex < 0 || playerIndex > 3)
        {
            Debug.LogError("プレイヤーインデックスの値が不正です。");
        }
        string upKey = "", downKey = "", leftKey = "", rightKey = "", attackKey = "";

        GetAxisKey(out upKey, out downKey, out leftKey, out rightKey, out attackKey, playerIndex);
        List <string> buttonCodeList = Enum.GetNames(typeof(UdonObservable.InputRx.GamePad.GamePadObservable.ButtonCode)).ToList();
        int           joystickNum = playerIndex + 1;

        // 横方向
        {
            var name = string.Format("Player{0} Horizontal", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 1));
            // inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
        }

        // 縦方向
        {
            var name = string.Format("Player{0} Vertical", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 2));
            // inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
        }


        // 全てのキーの生成
        {
            foreach (var key in buttonCodeList.Select((value, index) => new { value, index }))
            {
                var name   = string.Format("Player{0} {1}", joystickNum, key.value);
                var button = string.Format("joystick {0} button {1}", joystickNum, key.index);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
            }
        }
    }
Esempio n. 15
0
    public static void Resetting()
    {
        Debug.Log("start to change input manger");
        InputManagerGenerator gen = new InputManagerGenerator();

        gen.Clear();
        gen.AddAxis(InputAxis.Init("LRight", "", "", "a", "d", 0, 0.1f, 2, true, false, AxisType.JoystickAxis, 1, 0));
        gen.AddAxis(InputAxis.Init("LDown", "", "", "s", "w", 0, 0.1f, 2, true, false, AxisType.JoystickAxis, 2, 0));
        gen.AddAxis(InputAxis.Init("RRight", "", "", "", "", 0, 0.1f, 2, true, false, AxisType.JoystickAxis, 3, 1));
        gen.AddAxis(InputAxis.Init("RDown", "", "", "", "", 0, 0.1f, 2, true, false, AxisType.JoystickAxis, 4, 1));
        gen.AddAxis(InputAxis.Init("L2", "", "", "", "", 0, 0.1f, 2, true, false, AxisType.JoystickAxis, 5, 1));
        gen.AddAxis(InputAxis.Init("R2", "", "", "", "", 0, 0.1f, 2, true, false, AxisType.JoystickAxis, 6, 1));
        gen.AddAxis(InputAxis.Init("L1", "", "joystick button 4", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("R1", "", "joystick button 5", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("L3", "", "joystick button 10", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("R3", "", "joystick button 11", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("Rectangle", "", "joystick button 0", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("Cross", "", "joystick button 1", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("Circle", "", "joystick button 2", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("Triangle", "", "joystick button 3", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
        gen.AddAxis(InputAxis.Init("Right", "", "", "", "", 0, 0.1f, 1000, false, false, AxisType.JoystickAxis, 7, 1));
        gen.AddAxis(InputAxis.Init("Up", "", "", "", "", 0, 0.1f, 1000, false, false, AxisType.JoystickAxis, 8, 1));
        gen.AddAxis(InputAxis.Init("None", "", "", "", "", 1000, 0.1f, 1000, false, false, AxisType.KeyOrMouseButton, 1, 1));
    }
Esempio n. 16
0
    /** ********************************************************************************
    * @summary プレイヤーごとの入力設定を追加する
    ***********************************************************************************/
    private static void AddPlayerInputSettings(InputManagerGenerator inputManagerGenerator, int playerIndex)
    {
        if (playerIndex < 0 || playerIndex > 3)
        {
            Debug.LogError("プレイヤーインデックスの値が不正です。");
        }
        string upKey = "", downKey = "", leftKey = "", rightKey = "", jumpKey = "", characterKey = "", eraserKey = "", chalkKey = "", changeStateKey = "", actionKey = "";

        GetAxisKey(out upKey, out downKey, out leftKey, out rightKey, out jumpKey, out characterKey, out eraserKey, out chalkKey, out changeStateKey, out actionKey, playerIndex);

        int joystickNum = playerIndex + 1;

        // 横方向
        {
            var name = string.Format("Player{0} Horizontal", playerIndex);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 1));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
        }

        // 縦方向
        {
            var name = string.Format("Player{0} Vertical", playerIndex);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 2));
            inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
        }

        // チョーク

        /*
         * {
         *  var axis = new InputAxis();
         *  var name = string.Format("Player{0} Chalk", playerIndex);
         *  var button = string.Format("joystick {0} button 0", joystickNum);
         *  inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, chalkKey));
         * }
         */

        // 黒板消し
        {
            var name   = string.Format("Player{0} Eraser", playerIndex);
            var button = string.Format("joystick {0} button 4", joystickNum);   // 4: L1
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, eraserKey));
        }

        // キャラクター

        /*
         * {
         *  var axis = new InputAxis();
         *  var name = string.Format("Player{0} Character", playerIndex);
         *  var button = string.Format("joystick {0} button 3", joystickNum);
         *  inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, characterKey));
         * }
         */

        // ステート切り替え
        {
            var name   = string.Format("Player{0} ChangeState", playerIndex);
            var button = string.Format("joystick {0} button 5", joystickNum);   // 5: R1
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, changeStateKey));
        }

        // アクション
        {
            var name   = string.Format("Player{0} Action", playerIndex);
            var button = string.Format("joystick {0} button 0", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, actionKey));
        }

        // ジャンプ
        {
            var name   = string.Format("Player{0} Jump", playerIndex);
            var button = string.Format("joystick {0} button 2", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, jumpKey));
        }
    }
    /// <summary>
    /// プレイヤーごとの入力設定を追加する
    /// </summary>
    /// <param name="inputManagerGenerator">Input manager generator.</param>
    /// <param name="playerIndex">Player index.</param>
    private static void AddPlayerInputSettings(InputManagerGenerator inputManagerGenerator, int playerIndex)
    {
        if (playerIndex < 1 || playerIndex > 4)
        {
            Debug.LogError("プレイヤーインデックスの値が不正です。");
        }

        string upKey = "", downKey = "", leftKey = "", rightKey = "", attackKey = "";

        GetAxisKey(out upKey, out downKey, out leftKey, out rightKey, out attackKey, playerIndex);

        int joystickNum = playerIndex;

        // 横方向
        {
            var name = string.Format("Player{0} Horizontal", playerIndex);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 1));
            //inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
        }

        // 縦方向
        {
            var name = string.Format("Player{0} Vertical", playerIndex);

            var padAxis = InputAxis.CreatePadAxis(name, joystickNum, 2);

            padAxis.invert = true;

            inputManagerGenerator.AddAxis(padAxis);
            //inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
        }

        // 横方向
        {
            var name = string.Format("Player{0} Horizontal2", playerIndex);
            inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, joystickNum, 4));
            //inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
        }

        // 縦方向
        {
            var name = string.Format("Player{0} Vertical2", playerIndex);

            var padAxis = InputAxis.CreatePadAxis(name, joystickNum, 5);

            padAxis.invert = true;

            inputManagerGenerator.AddAxis(padAxis);
            //inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
        }


        // 攻撃
        //{
        //    var axis = new InputAxis();
        //    var name = string.Format("Player{0} Attack", playerIndex);
        //    var button = string.Format("joystick {0} button 1", joystickNum);
        //    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        //}


        // Cancel
        {
            var axis   = new InputAxis();
            var name   = string.Format("Player{0} Cancel", playerIndex);
            var button = string.Format("joystick {0} button 2", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        }

        // Item
        {
            var axis   = new InputAxis();
            var name   = string.Format("Player{0} Item", playerIndex);
            var button = string.Format("joystick {0} button 3", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        }

        // Throw
        {
            var axis   = new InputAxis();
            var name   = string.Format("Player{0} Throw", playerIndex);
            var button = string.Format("joystick {0} button 0", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        }

        //Hold
        {
            var axis   = new InputAxis();
            var name   = string.Format("Player{0} Hold", playerIndex);
            var button = string.Format("joystick {0} button 1", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        }

        // Dash
        {
            var axis   = new InputAxis();
            var name   = string.Format("Player{0} Dash", playerIndex);
            var button = string.Format("joystick {0} button 5", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        }

        // Pause 難市
        {
            var axis   = new InputAxis();
            var name   = string.Format("Player{0} Pause", playerIndex);
            var button = string.Format("joystick {0} button 7", joystickNum);
            inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, button, attackKey));
        }
    }
Esempio n. 18
0
    /// <summary>
    /// プレイヤーごとの入力設定を追加する
    /// </summary>
    /// <param name="inputManagerGenerator">Input manager generator.</param>
    /// <param name="playerIndex">Player index.</param>
    private static void AddPlayerInputSettings(InputManagerGenerator inputManagerGenerator, int playerIndex, string controllerName)
    {
        if (playerIndex < 0 || playerIndex > 3)
        {
            Debug.LogError("プレイヤーインデックスの値が不正です。");
        }
        string upKey = "", downKey = "", leftKey = "", rightKey = "", attackKey1 = "", attackKey2 = "", attackKey3 = "";

        GetAxisKey(out upKey, out downKey, out leftKey, out rightKey, out attackKey1, out attackKey2, out attackKey3, playerIndex);

        int joystickNum = playerIndex + 1;

        //ここに各コントローラーの設定を作成
        #region BSGPAC02 Series
        if (controllerName == "BSGPAC02 Series")
        {
            //スティック
            //横方向
            {
                var name = string.Format("Player{0}_Horizontal", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 1));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
            }

            //縦方向
            {
                var name = string.Format("Player{0}_Vertical", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 2));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
            }


            //攻撃ボタン
            //弱
            {
                var name   = string.Format("Player{0}_Attack1", playerIndex);
                var button = string.Format("joystick {0} button 0", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey1));
            }

            //中
            {
                var name   = string.Format("Player{0}_Attack2", playerIndex);
                var button = string.Format("joystick {0} button 1", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey2));
            }

            //強
            {
                var name   = string.Format("Player{0}_Attack3", playerIndex);
                var button = string.Format("joystick {0} button 2", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey3));
            }


            //決定キーなどの設定
            {
                //決定
                {
                    var name = "OK";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "z", "joystick button 1"));
                }

                //キャンセル
                {
                    var name = "Cancel";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "x", "joystick button 2"));
                }

                //ポーズ
                {
                    var name = "Pause";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "escape", "joystick button 8"));
                }
            }
        }
        #endregion
        #region RAP.N3
        else if (controllerName == "RAP.N3")
        {
            //スティック
            //横方向
            {
                var name = string.Format("Player{0}_Horizontal", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 1));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
            }

            //縦方向
            {
                var name = string.Format("Player{0}_Vertical", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 2));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
            }


            //攻撃ボタン
            //弱
            {
                //var axis = new InputAxis();
                var name   = string.Format("Player{0}_Attack1", playerIndex);
                var button = string.Format("joystick {0} button 1", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey1));
            }

            //中
            {
                var name   = string.Format("Player{0}_Attack2", playerIndex);
                var button = string.Format("joystick {0} button 2", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey2));
            }

            //強
            {
                var name   = string.Format("Player{0}_Attack3", playerIndex);
                var button = string.Format("joystick {0} button 7", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey3));
            }


            //決定キーなどの設定
            {
                //決定
                {
                    var name = "OK";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "z", "joystick button 0"));
                }

                //キャンセル
                {
                    var name = "Cancel";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "x", "joystick button 1"));
                }

                //ポーズ
                {
                    var name = "Pause";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "escape", "joystick button 8"));
                }
            }
        }
        #endregion
        #region Logicool Dual Action
        else if (controllerName == "Logicool Dual Action")
        {
            //スティック
            //横方向
            {
                var name = string.Format("Player{0}_Horizontal", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 1));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
            }

            //縦方向
            {
                var name = string.Format("Player{0}_Vertical", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 2));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
            }


            //攻撃ボタン
            //弱
            {
                var name   = string.Format("Player{0}_Attack1", playerIndex);
                var button = string.Format("joystick {0} button 0", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey1));
            }

            // 中
            {
                var name   = string.Format("Player{0}_Attack2", playerIndex);
                var button = string.Format("joystick {0} button 1", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey2));
            }

            //強
            {
                var name   = string.Format("Player{0}_Attack3", playerIndex);
                var button = string.Format("joystick {0} button 2", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey3));
            }


            //決定キーなどの設定
            {
                //決定
                {
                    var name = "OK";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "z", "joystick button 1"));
                }

                //キャンセル
                {
                    var name = "Cancel";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "x", "joystick button0"));
                }

                //ポーズ
                {
                    var name = "Pause";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "escape", "joystick button 7"));
                }
            }
        }
        #endregion
        #region Controller (Gamepad F310)
        else if (controllerName == "Controller (Gamepad F310)")
        {
            //スティック
            //横方向
            {
                var name = string.Format("Player{0}_Horizontal", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 1));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
            }

            //縦方向
            {
                var name = string.Format("Player{0}_Vertical", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreatePadAxis(name, controllerName, joystickNum, 2));
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
            }


            //攻撃ボタン
            //弱
            {
                var name   = string.Format("Player{0}_Attack1", playerIndex);
                var button = string.Format("joystick {0} button 0", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey1));
            }

            //中
            {
                var name   = string.Format("Player{0}_Attack2", playerIndex);
                var button = string.Format("joystick {0} button 1", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey2));
            }

            //強
            {
                var name   = string.Format("Player{0}_Attack3", playerIndex);
                var button = string.Format("joystick {0} button 2", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, button, attackKey3));
            }


            //決定キーなどの設定
            {
                //決定
                {
                    var name = "OK";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "z", "joystick button 1"));
                }

                //キャンセル
                {
                    var name = "Cancel";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "x", "joystick button0"));
                }

                //ポーズ
                {
                    var name = "Pause";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "escape", "joystick button 7"));
                }
            }
        }
        #endregion
        //キーボードのみ設定
        else
        {
            #region キーボードのみ
            //スティック
            //横方向
            {
                var name = string.Format("Player{0}_Horizontal", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, leftKey, rightKey, "", ""));
            }

            //縦方向
            {
                var name = string.Format("Player{0}_Vertical", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreateKeyAxis(name, downKey, upKey, "", ""));
            }


            //攻撃ボタン
            //弱
            {
                //var axis = new InputAxis();
                var name = string.Format("Player{0}_Attack1", playerIndex);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "", attackKey1));
            }

            //中
            {
                var name   = string.Format("Player{0}_Attack2", playerIndex);
                var button = string.Format("joystick {0} button 1", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "", attackKey2));
            }

            //強
            {
                var name   = string.Format("Player{0}_Attack3", playerIndex);
                var button = string.Format("joystick {0} button 2", joystickNum);
                inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "", attackKey3));
            }


            //決定キーなどの設定
            {
                //決定
                {
                    var name = "OK";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "z", ""));
                }

                //キャンセル
                {
                    var name = "Cancel";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "x", ""));
                }

                //ポーズ
                {
                    var name = "Pause";
                    inputManagerGenerator.AddAxis(InputAxis.CreateButton(name, controllerName, "escape", ""));
                }
            }
            #endregion
            Debug.Log("***player" + playerIndex + " -> " + controllerName + " の入力が設定されていません キーボードのみ設定します***");
        }
    }