1#pragma once
2
3#include "Library/Nerve/NerveExecutor.h"
4
5namespace al {
6class Sequence;
7struct GameSystemInfo;
8class AudioSystem;
9template <typename T>
10class AudioInfoListWithParts;
11class AccountHolder;
12class NetworkSystem;
13class HtmlViewer;
14class GamePadSystem;
15class ApplicationMessageReceiver;
16class WaveVibrationHolder;
17class AudioResourceLoadGroupInfo;
18} // namespace al
19
20class GameConfigData;
21class ProjectNfpDirector;
22
23class GameSystem : public al::NerveExecutor {
24public:
25 GameSystem();
26 virtual void init();
27 virtual void movement();
28 void setPadName();
29 bool tryChangeSequence(const char*);
30 void drawMain();
31
32 void exePlay();
33
34private:
35 al::Sequence* mSequence;
36 al::GameSystemInfo* mSystemInfo;
37 al::AudioSystem* mAudioSystem;
38 al::AudioInfoListWithParts<al::AudioResourceLoadGroupInfo>* mAudioInfoList;
39 al::AccountHolder* mAccountHolder;
40 al::NetworkSystem* mNetworkSystem;
41 void* field_40;
42 al::HtmlViewer* mHtmlViewer;
43 ProjectNfpDirector* mNfpDirector;
44 al::GamePadSystem* mGamePadSystem;
45 al::ApplicationMessageReceiver* mApplicationMessageReceiver;
46 al::WaveVibrationHolder* mWaveVibrationHolder;
47 bool mIsSinglePlay;
48 GameConfigData* mGameConfigData;
49 bool mIsSequenceSetupIncomplete;
50};
51
52namespace GameSystemFunction {
53GameSystem* getGameSystem();
54}
55