0
0
mirror of https://github.com/Nimac0/SDL_Minigame synced 2026-01-12 07:53:43 +00:00
SDL_Minigame/include/InputAction.h
2024-10-12 20:23:18 +02:00

40 lines
957 B
C++

#pragma once
#include <functional>
#include <vector>
#include <string>
#include "Key.h"
#include "InputActionType.h"
struct InputAction
{
std::string name;
std::vector<Key> keys;
std::function<void()> callback;
InputActionType type;
InputValue value;
InputAction() = default;
InputAction(const std::string& actionName, std::function<void()> actionCallback)
: name(actionName), callback(actionCallback) {}
InputAction(const std::string& actionName, std::function<void()> actionCallback, InputActionType actionType)
: name(actionName), callback(actionCallback), type(actionType)
{
switch (type)
{
case InputActionType::Boolean:
value = false;
break;
case InputActionType::Float:
value = 0.0f;
break;
default:
value = false;
break;
}
}
};