-
Notifications
You must be signed in to change notification settings - Fork 6
/
IBML.h
136 lines (101 loc) · 4.69 KB
/
IBML.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#pragma once
#include "Export.h"
#include "ILogger.h"
#include "virtools/CKAll.h"
#include <functional>
#include "Gui.h"
#include "ICommand.h"
class BML_EXPORT IMessageReceiver {
public:
virtual void OnPreStartMenu() {};
virtual void OnPostStartMenu() {};
virtual void OnExitGame() {};
virtual void OnPreLoadLevel() {};
virtual void OnPostLoadLevel() {};
virtual void OnStartLevel() {};
virtual void OnPreResetLevel() {};
virtual void OnPostResetLevel() {};
virtual void OnPauseLevel() {};
virtual void OnUnpauseLevel() {};
virtual void OnPreExitLevel() {};
virtual void OnPostExitLevel() {};
virtual void OnPreNextLevel() {};
virtual void OnPostNextLevel() {};
virtual void OnDead() {};
virtual void OnPreEndLevel() {};
virtual void OnPostEndLevel() {};
virtual void OnCounterActive() {};
virtual void OnCounterInactive() {};
virtual void OnBallNavActive() {};
virtual void OnBallNavInactive() {};
virtual void OnCamNavActive() {};
virtual void OnCamNavInactive() {};
virtual void OnBallOff() {};
virtual void OnPreCheckpointReached() {};
virtual void OnPostCheckpointReached() {};
virtual void OnLevelFinish() {};
virtual void OnGameOver() {};
virtual void OnExtraPoint() {};
virtual void OnPreSubLife() {};
virtual void OnPostSubLife() {};
virtual void OnPreLifeUp() {};
virtual void OnPostLifeUp() {};
};
class BML_EXPORT IBML : public IMessageReceiver {
public:
virtual CKContext* GetCKContext() = 0;
virtual CKRenderContext* GetRenderContext() = 0;
virtual void ExitGame() = 0;
virtual CKAttributeManager* GetAttributeManager() = 0;
virtual CKBehaviorManager* GetBehaviorManager() = 0;
virtual CKCollisionManager* GetCollisionManager() = 0;
virtual InputHook* GetInputManager() = 0;
virtual CKMessageManager* GetMessageManager() = 0;
virtual CKPathManager* GetPathManager() = 0;
virtual CKParameterManager* GetParameterManager() = 0;
virtual CKRenderManager* GetRenderManager() = 0;
virtual CKSoundManager* GetSoundManager() = 0;
virtual CKTimeManager* GetTimeManager() = 0;
virtual void AddTimer(CKDWORD delay, std::function<void()> callback) = 0;
virtual void AddTimerLoop(CKDWORD delay, std::function<bool()> callback) = 0;
virtual void AddTimer(float delay, std::function<void()> callback) = 0;
virtual void AddTimerLoop(float delay, std::function<bool()> callback) = 0;
virtual bool IsCheatEnabled() = 0;
virtual void EnableCheat(bool enable) = 0;
virtual void SendIngameMessage(CKSTRING msg) = 0;
virtual void RegisterCommand(ICommand* cmd) = 0;
virtual void SetIC(CKBeObject* obj, bool hierarchy = false) = 0;
virtual void RestoreIC(CKBeObject* obj, bool hierarchy = false) = 0;
virtual void Show(CKBeObject* obj, CK_OBJECT_SHOWOPTION show, bool hierarchy = false) = 0;
virtual bool IsIngame() = 0;
virtual bool IsPaused() = 0;
virtual bool IsPlaying() = 0;
virtual CKDataArray* GetArrayByName(CKSTRING name) = 0;
virtual CKGroup* GetGroupByName(CKSTRING name) = 0;
virtual CKMaterial* GetMaterialByName(CKSTRING name) = 0;
virtual CKMesh* GetMeshByName(CKSTRING name) = 0;
virtual CK2dEntity* Get2dEntityByName(CKSTRING name) = 0;
virtual CK3dEntity* Get3dEntityByName(CKSTRING name) = 0;
virtual CK3dObject* Get3dObjectByName(CKSTRING name) = 0;
virtual CKCamera* GetCameraByName(CKSTRING name) = 0;
virtual CKTargetCamera* GetTargetCameraByName(CKSTRING name) = 0;
virtual CKLight* GetLightByName(CKSTRING name) = 0;
virtual CKTargetLight* GetTargetLightByName(CKSTRING name) = 0;
virtual CKSound* GetSoundByName(CKSTRING name) = 0;
virtual CKTexture* GetTextureByName(CKSTRING name) = 0;
virtual CKBehavior* GetScriptByName(CKSTRING name) = 0;
virtual void RegisterBallType(CKSTRING ballFile, CKSTRING ballId, CKSTRING ballName, CKSTRING objName, float friction, float elasticity,
float mass, CKSTRING collGroup, float linearDamp, float rotDamp, float force, float radius) = 0;
virtual void RegisterFloorType(CKSTRING floorName, float friction, float elasticity, float mass, CKSTRING collGroup, bool enableColl) = 0;
virtual void RegisterModulBall(CKSTRING modulName, bool fixed, float friction, float elasticity, float mass, CKSTRING collGroup,
bool frozen, bool enableColl, bool calcMassCenter, float linearDamp, float rotDamp, float radius) = 0;
virtual void RegisterModulConvex(CKSTRING modulName, bool fixed, float friction, float elasticity, float mass, CKSTRING collGroup,
bool frozen, bool enableColl, bool calcMassCenter, float linearDamp, float rotDamp) = 0;
virtual void RegisterTrafo(CKSTRING modulName) = 0;
virtual void RegisterModul(CKSTRING modulName) = 0;
virtual int GetModCount() = 0;
virtual class IMod* GetMod(int index) = 0;
virtual float GetSRScore() = 0;
virtual int GetHSScore() = 0;
virtual void SkipRenderForNextTick() = 0;
};