mirror of
https://github.com/CraftyBoss/SuperMarioOdysseyOnline.git
synced 2024-11-24 12:15:16 +00:00
51 lines
948 B
C
51 lines
948 B
C
|
#pragma once
|
||
|
|
||
|
#include "container/seadOffsetList.h"
|
||
|
#include "controller/seadControllerBase.h"
|
||
|
|
||
|
namespace sead
|
||
|
{
|
||
|
class ControllerMgr;
|
||
|
class ControllerAddon;
|
||
|
|
||
|
namespace ControllerDefine
|
||
|
{
|
||
|
enum AddonId : int
|
||
|
{
|
||
|
};
|
||
|
enum ControllerId : int
|
||
|
{
|
||
|
_15 = 15,
|
||
|
_16 = 16
|
||
|
};
|
||
|
enum DeviceId : int
|
||
|
{
|
||
|
};
|
||
|
|
||
|
} // namespace ControllerDefine
|
||
|
|
||
|
class Controller : public ControllerBase
|
||
|
{
|
||
|
SEAD_RTTI_OVERRIDE(Controller, ControllerBase)
|
||
|
public:
|
||
|
Controller(ControllerMgr*);
|
||
|
virtual ~Controller();
|
||
|
virtual void calc();
|
||
|
virtual bool isConnected();
|
||
|
ControllerAddon* getAddonByOrder(ControllerDefine::AddonId, int);
|
||
|
ControllerAddon* getAddon(ControllerDefine::AddonId);
|
||
|
|
||
|
protected:
|
||
|
virtual void calcImpl_() = 0;
|
||
|
virtual bool isIdle_();
|
||
|
virtual void setIdle_();
|
||
|
|
||
|
private:
|
||
|
int mControllerId;
|
||
|
ControllerMgr* mMgr;
|
||
|
OffsetList<ControllerAddon> mAddonList;
|
||
|
OffsetList<void*> _160; // unknown type
|
||
|
};
|
||
|
|
||
|
} // namespace sead
|