ControllerEmu: Use enum instead of bool for translatability

This commit is contained in:
JosJuice
2018-04-10 17:22:30 +02:00
parent 3f13dbe087
commit 7ed28297b2
23 changed files with 123 additions and 77 deletions

View File

@ -9,13 +9,14 @@
namespace ControllerEmu
{
Control::Control(std::unique_ptr<ControlReference> ref, bool translate_, const std::string& name_,
const std::string& ui_name_)
Control::Control(std::unique_ptr<ControlReference> ref, Translatability translate_,
const std::string& name_, const std::string& ui_name_)
: control_ref(std::move(ref)), translate(translate_), name(name_), ui_name(ui_name_)
{
}
Control::Control(std::unique_ptr<ControlReference> ref, bool translate_, const std::string& name_)
Control::Control(std::unique_ptr<ControlReference> ref, Translatability translate_,
const std::string& name_)
: Control(std::move(ref), translate_, name_, name_)
{
}

View File

@ -11,19 +11,26 @@ class ControlReference;
namespace ControllerEmu
{
enum Translatability
{
DoNotTranslate,
Translate
};
class Control
{
public:
virtual ~Control();
std::unique_ptr<ControlReference> const control_ref;
const bool translate;
const Translatability translate;
const std::string name;
const std::string ui_name;
protected:
Control(std::unique_ptr<ControlReference> ref, bool translate, const std::string& name,
Control(std::unique_ptr<ControlReference> ref, Translatability translate, const std::string& name,
const std::string& ui_name);
Control(std::unique_ptr<ControlReference> ref, bool translate, const std::string& name);
Control(std::unique_ptr<ControlReference> ref, Translatability translate,
const std::string& name);
};
} // namespace ControllerEmu

View File

@ -10,12 +10,12 @@
namespace ControllerEmu
{
Input::Input(bool translate_, const std::string& name_, const std::string& ui_name_)
Input::Input(Translatability translate_, const std::string& name_, const std::string& ui_name_)
: Control(std::make_unique<InputReference>(), translate_, name_, ui_name_)
{
}
Input::Input(bool translate_, const std::string& name_)
Input::Input(Translatability translate_, const std::string& name_)
: Control(std::make_unique<InputReference>(), translate_, name_)
{
}

View File

@ -12,7 +12,7 @@ namespace ControllerEmu
class Input : public Control
{
public:
Input(bool translate, const std::string& name, const std::string& ui_name);
Input(bool translate, const std::string& name);
Input(Translatability translate, const std::string& name, const std::string& ui_name);
Input(Translatability translate, const std::string& name);
};
} // namespace ControllerEmu

View File

@ -10,8 +10,8 @@
namespace ControllerEmu
{
Output::Output(bool translate, const std::string& name_)
: Control(std::make_unique<OutputReference>(), translate, name_)
Output::Output(Translatability translate_, const std::string& name_)
: Control(std::make_unique<OutputReference>(), translate_, name_)
{
}
} // namespace ControllerEmu

View File

@ -12,6 +12,6 @@ namespace ControllerEmu
class Output : public Control
{
public:
Output(bool translate, const std::string& name);
Output(Translatability translate, const std::string& name);
};
} // namespace ControllerEmu

View File

@ -28,9 +28,9 @@ AnalogStick::AnalogStick(const char* const name_, const char* const ui_name_,
: ControlGroup(name_, ui_name_, GroupType::Stick)
{
for (auto& named_direction : named_directions)
controls.emplace_back(std::make_unique<Input>(true, named_direction));
controls.emplace_back(std::make_unique<Input>(Translate, named_direction));
controls.emplace_back(std::make_unique<Input>(true, _trans("Modifier")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Modifier")));
numeric_settings.emplace_back(
std::make_unique<NumericSetting>(_trans("Radius"), default_radius, 0, 100));
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Dead Zone"), 0, 0, 50));

View File

@ -24,12 +24,12 @@ namespace ControllerEmu
Cursor::Cursor(const std::string& name_) : ControlGroup(name_, GroupType::Cursor)
{
for (auto& named_direction : named_directions)
controls.emplace_back(std::make_unique<Input>(true, named_direction));
controls.emplace_back(std::make_unique<Input>(Translate, named_direction));
controls.emplace_back(std::make_unique<Input>(true, _trans("Forward")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Backward")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Hide")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Recenter")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Forward")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Backward")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Hide")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Recenter")));
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Center"), 0.5));
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Width"), 0.5));

View File

@ -19,12 +19,12 @@ namespace ControllerEmu
{
Force::Force(const std::string& name_) : ControlGroup(name_, GroupType::Force)
{
controls.emplace_back(std::make_unique<Input>(true, _trans("Up")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Down")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Left")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Right")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Forward")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Backward")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Up")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Down")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Left")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Right")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Forward")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Backward")));
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Dead Zone"), 0, 0, 50));
}

View File

@ -27,7 +27,7 @@ ModifySettingsButton::ModifySettingsButton(std::string button_name)
void ModifySettingsButton::AddInput(std::string button_name, bool toggle)
{
controls.emplace_back(std::make_unique<Input>(true, std::move(button_name)));
controls.emplace_back(std::make_unique<Input>(Translate, std::move(button_name)));
threshold_exceeded.emplace_back(false);
associated_settings.emplace_back(false);
associated_settings_toggle.emplace_back(toggle);

View File

@ -20,8 +20,8 @@ namespace ControllerEmu
Slider::Slider(const std::string& name_, const std::string& ui_name_)
: ControlGroup(name_, ui_name_, GroupType::Slider)
{
controls.emplace_back(std::make_unique<Input>(true, _trans("Left")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Right")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Left")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Right")));
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Dead Zone"), 0, 0, 50));
}

View File

@ -19,12 +19,12 @@ namespace ControllerEmu
{
Tilt::Tilt(const std::string& name_) : ControlGroup(name_, GroupType::Tilt)
{
controls.emplace_back(std::make_unique<Input>(true, _trans("Forward")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Backward")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Left")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Right")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Forward")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Backward")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Left")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Right")));
controls.emplace_back(std::make_unique<Input>(true, _trans("Modifier")));
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Modifier")));
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Dead Zone"), 0, 0, 50));
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Circle Stick"), 0));