mirror of
https://github.com/CraftyBoss/SuperMarioOdysseyOnline.git
synced 2024-11-28 22:23:05 +00:00
50 lines
948 B
C++
50 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
|