/****************************************************** * Function: GetAxis * Parameters: * whichPlayer - Players ONE through FOUR * whichJoystick - Left, Right, or DPAD * whichAxis - X or Y * Return: * Returns the float value of the axis desired for * the specific player and joystick ******************************************************/ public static float GetAxis(PLAYER_NUMBER whichPlayer, JOYSTICK whichJoystick, AXIS whichAxis) { float axisValue = 0.0f; string inputToCheck = ""; #if UNITY_ANDROID if (whichJoystick != JOYSTICK.LEFT) inputToCheck += "A_"; #endif inputToCheck += "P" + ((int)whichPlayer).ToString() + "_"; switch (whichJoystick) { case JOYSTICK.LEFT: inputToCheck += "LeftStick_"; break; case JOYSTICK.RIGHT: inputToCheck += "RightStick_"; break; case JOYSTICK.DPAD: inputToCheck += "DPad_"; break; default: break; } switch (whichAxis) { case AXIS.X: inputToCheck += "X"; break; case AXIS.Y: inputToCheck += "Y"; break; default: return 0.0f; } axisValue = Input.GetAxis(inputToCheck); return axisValue; }
/// <summary> /// プレイヤーのステータスの初期の処理 /// </summary> /// <param name="color"></param> public void Create(PLAYER_NUMBER number, SKILL_TYPE skill, bool joystickFlg = true) { currentHealth = maxHealth; isDeath = false; playerNumber = number; switch (playerNumber) { case PLAYER_NUMBER.ONE: gameObject.layer = LayerMask.NameToLayer("Player_Red"); playerColorFX = Color.red; playerColor = OBJECT_COLOR.RED; break; case PLAYER_NUMBER.TWO: gameObject.layer = LayerMask.NameToLayer("Player_Blue"); playerColorFX = Color.blue; playerColor = OBJECT_COLOR.BLUE; cam.rect = new Rect(0.5f, 0, 0.5f, 1); break; case PLAYER_NUMBER.THREE: gameObject.layer = LayerMask.NameToLayer("Player_Green"); playerColorFX = Color.green; playerColor = OBJECT_COLOR.GREEN; break; case PLAYER_NUMBER.FOUR: gameObject.layer = LayerMask.NameToLayer("Player_Yellow"); playerColorFX = Color.yellow; playerColor = OBJECT_COLOR.YELLOW; break; } skillType = skill; useJoystick = joystickFlg; if (!useJoystick) { verticalKeyName = "Vertical Move"; horizontalKeyName = "Horizontal Move"; attackInputName = "Normal Attack"; } }
/// <summary> /// プレイヤーのステータスの初期の処理 /// </summary> /// <param name="color"></param> public void Create(PLAYER_NUMBER number, OBJECT_COLOR color, bool joystickFlg) { currentHealth = maxHealth; isDeath = false; playerColor = color; SetAllObjectColor(); playerNumber = number; //switch (playerNumber) //{ // case PLAYER_NUMBER.ONE: // gameObject.layer = LayerMask.NameToLayer("Player_Red"); // playerColorFX = Color.red; // playerColor = OBJECT_COLOR.RED; // break; // case PLAYER_NUMBER.TWO: // gameObject.layer = LayerMask.NameToLayer("Player_Blue"); // playerColorFX = Color.blue; // playerColor = OBJECT_COLOR.BLUE; // cam.rect = new Rect(0.5f, 0, 0.5f, 1); // break; // case PLAYER_NUMBER.THREE: // gameObject.layer = LayerMask.NameToLayer("Player_Green"); // playerColorFX = Color.green; // playerColor = OBJECT_COLOR.GREEN; // break; // case PLAYER_NUMBER.FOUR: // gameObject.layer = LayerMask.NameToLayer("Player_Yellow"); // playerColorFX = Color.yellow; // playerColor = OBJECT_COLOR.YELLOW; // break; //} useJoystick = joystickFlg; if (!useJoystick) { verticalKeyName = "Vertical Move"; horizontalKeyName = "Horizontal Move"; attackInputName = "Normal Attack"; } }
// CTOR public ButtonServerController(string i_ControlName, PLAYER_NUMBER i_PlayerNumber) : base(i_ControlName, i_PlayerNumber) { }
/****************************************************** * Function: GetTrigger * Parameters: * whichPlayer - Players ONE through FOUR * whichTrigger - Left or Right * Return: * Returns the float value of the desired trigger * for the desired player ******************************************************/ public static float GetTrigger(PLAYER_NUMBER whichPlayer, TRIGGER whichTrigger) { float triggerValue = 0.0f; string inputToCheck = ""; #if UNITY_ANDROID inputToCheck += "A_"; #endif inputToCheck += "P" + ((int)whichPlayer).ToString() + "_Trigger_"; switch (whichTrigger) { case TRIGGER.LEFT: inputToCheck += "L"; break; case TRIGGER.RIGHT: inputToCheck += "R"; break; default: break; } triggerValue = Input.GetAxis(inputToCheck); #if UNITY_ANDROID inputToCheck.Replace('A', 'F'); float fireTVValue = Input.GetAxis(inputToCheck); if (Mathf.Abs(triggerValue) < Mathf.Abs(fireTVValue)) { triggerValue = fireTVValue; } #endif return triggerValue; }
/****************************************************** * Function: GetButton * Parameters: * whichPlayer - Players ONE through FOUR * whichButton - A, B, X, Y, Bumper L, Bumper R, * Leftstick Click, Rightstick Click, Start, * Back * whichState - Up or Down * Return: * Returns true or false for the desired state of * the desired button of the desired player * *NOTE* - Any advancement of menus should use A for * confirm and B for cancel as Start and Back are * not Android friendly ******************************************************/ public static bool GetButton(PLAYER_NUMBER whichPlayer, CONTROLLER_BUTTON whichButton, BUTTON_STATE whichState) { bool buttonValue = false; string inputToCheck = "P" + ((int)whichPlayer).ToString() + "_"; switch (whichButton) { case CONTROLLER_BUTTON.A: inputToCheck += "Button_A"; break; case CONTROLLER_BUTTON.B: inputToCheck += "Button_B"; break; case CONTROLLER_BUTTON.X: inputToCheck += "Button_X"; break; case CONTROLLER_BUTTON.Y: inputToCheck += "Button_Y"; break; case CONTROLLER_BUTTON.BUMPER_L: inputToCheck += "Bumper_L"; break; case CONTROLLER_BUTTON.BUMPER_R: inputToCheck += "Bumper_R"; break; case CONTROLLER_BUTTON.START: inputToCheck += "Start"; break; case CONTROLLER_BUTTON.BACK: inputToCheck += "Back"; break; case CONTROLLER_BUTTON.LEFTSTICK_CLICK: inputToCheck += "LeftStick_Click"; break; case CONTROLLER_BUTTON.RIGHTSTICK_CLICK: inputToCheck += "RightStick_Click"; break; default: break; } if (whichState == BUTTON_STATE.DOWN) buttonValue = Input.GetButtonDown(inputToCheck); else if (whichState == BUTTON_STATE.UP) buttonValue = Input.GetButtonUp(inputToCheck); else if (whichState == BUTTON_STATE.HELD) buttonValue = Input.GetButton(inputToCheck); return buttonValue; }
// CTOR public WiFiServerController(string i_ControlName, PLAYER_NUMBER i_PlayerNumber) { m_ControlName = i_ControlName; m_PlayerNumber = i_PlayerNumber; }