2022-10-09 01:13:17 -04:00
|
|
|
#ifndef _CINPUTGENERATOR
|
|
|
|
|
#define _CINPUTGENERATOR
|
2022-09-13 00:26:54 -04:00
|
|
|
|
2026-01-16 15:10:01 -08:00
|
|
|
#include "CArchitectureMessage.hpp"
|
2022-09-13 00:26:54 -04:00
|
|
|
#include "types.h"
|
|
|
|
|
|
2022-10-01 02:19:09 -04:00
|
|
|
#include "rstl/single_ptr.hpp"
|
|
|
|
|
|
|
|
|
|
#include "Kyoto/Input/IController.hpp"
|
|
|
|
|
|
2022-09-13 00:26:54 -04:00
|
|
|
class COsContext;
|
2022-10-01 02:19:09 -04:00
|
|
|
class IController;
|
2022-10-09 19:27:35 -07:00
|
|
|
class CArchitectureQueue;
|
2022-09-13 00:26:54 -04:00
|
|
|
|
|
|
|
|
class CInputGenerator {
|
|
|
|
|
public:
|
2022-10-09 19:27:35 -07:00
|
|
|
CInputGenerator(COsContext*, float leftDiv, float rightDiv);
|
2026-01-16 15:10:01 -08:00
|
|
|
void CreateUserInputMsg(CArchitectureQueue& queue, float dt, int i,
|
|
|
|
|
const CControllerGamepadData& cont);
|
2022-10-09 19:27:35 -07:00
|
|
|
bool Update(float dt, CArchitectureQueue& queue);
|
2022-10-01 02:19:09 -04:00
|
|
|
IController* GetController() const { return x4_controller.get(); }
|
|
|
|
|
|
2022-09-13 00:26:54 -04:00
|
|
|
private:
|
2022-10-01 02:19:09 -04:00
|
|
|
COsContext* x0_context;
|
|
|
|
|
rstl::single_ptr< IController > x4_controller;
|
|
|
|
|
bool x8_connectedControllers[4];
|
2022-10-09 01:37:23 -04:00
|
|
|
float xc_leftDiv;
|
|
|
|
|
float x10_rightDiv;
|
2022-09-13 00:26:54 -04:00
|
|
|
};
|
2022-10-01 02:19:09 -04:00
|
|
|
CHECK_SIZEOF(CInputGenerator, 0x14)
|
2022-09-13 00:26:54 -04:00
|
|
|
|
2022-10-09 01:13:17 -04:00
|
|
|
#endif // _CINPUTGENERATOR
|