analog_from_button get direction implementation
This commit is contained in:
		| @@ -287,13 +287,13 @@ void Controller_NPad::RequestPadStateUpdate(u32 npad_id) { | ||||
|         analog_state[static_cast<std::size_t>(JoystickId::Joystick_Left)]->GetAnalogDirectionStatus( | ||||
|             Input::AnalogDirection::DOWN)); | ||||
|  | ||||
|     pad_state.r_stick_up.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] | ||||
|                                     ->GetAnalogDirectionStatus(Input::AnalogDirection::RIGHT)); | ||||
|     pad_state.r_stick_left.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] | ||||
|                                       ->GetAnalogDirectionStatus(Input::AnalogDirection::LEFT)); | ||||
|     pad_state.r_stick_right.Assign( | ||||
|         analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] | ||||
|             ->GetAnalogDirectionStatus(Input::AnalogDirection::UP)); | ||||
|             ->GetAnalogDirectionStatus(Input::AnalogDirection::RIGHT)); | ||||
|     pad_state.r_stick_left.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] | ||||
|                                       ->GetAnalogDirectionStatus(Input::AnalogDirection::LEFT)); | ||||
|     pad_state.r_stick_up.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] | ||||
|                                     ->GetAnalogDirectionStatus(Input::AnalogDirection::UP)); | ||||
|     pad_state.r_stick_down.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] | ||||
|                                       ->GetAnalogDirectionStatus(Input::AnalogDirection::DOWN)); | ||||
|  | ||||
|   | ||||
| @@ -34,6 +34,20 @@ public: | ||||
|                                y * coef * (x == 0 ? 1.0f : SQRT_HALF)); | ||||
|     } | ||||
|  | ||||
|     bool GetAnalogDirectionStatus(Input::AnalogDirection direction) const override { | ||||
|         switch (direction) { | ||||
|         case Input::AnalogDirection::RIGHT: | ||||
|             return right->GetStatus(); | ||||
|         case Input::AnalogDirection::LEFT: | ||||
|             return left->GetStatus(); | ||||
|         case Input::AnalogDirection::UP: | ||||
|             return up->GetStatus(); | ||||
|         case Input::AnalogDirection::DOWN: | ||||
|             return down->GetStatus(); | ||||
|         } | ||||
|         return false; | ||||
|     } | ||||
|  | ||||
| private: | ||||
|     Button up; | ||||
|     Button down; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user