mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-11 04:56:49 +03:00
Add ScriptInterfaceGame, a new base class for GameLogicScript that doesn't know about sol.
This commit is contained in:
parent
0563755dba
commit
22114650b1
3 changed files with 40 additions and 0 deletions
38
TR5Main/Scripting/ScriptInterfaceGame.h
Normal file
38
TR5Main/Scripting/ScriptInterfaceGame.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#pragma once
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#include <functional>
|
||||||
|
#include "room.h"
|
||||||
|
#include "level.h"
|
||||||
|
|
||||||
|
typedef DWORD D3DCOLOR;
|
||||||
|
using VarMapVal = std::variant< short,
|
||||||
|
std::reference_wrapper<MESH_INFO>,
|
||||||
|
std::reference_wrapper<LEVEL_CAMERA_INFO>,
|
||||||
|
std::reference_wrapper<SINK_INFO>,
|
||||||
|
std::reference_wrapper<SOUND_SOURCE_INFO>,
|
||||||
|
std::reference_wrapper<AI_OBJECT>>;
|
||||||
|
|
||||||
|
using CallbackDrawString = std::function<void(std::string const&, D3DCOLOR, int, int, int)>;
|
||||||
|
|
||||||
|
class ScriptInterfaceGame {
|
||||||
|
public:
|
||||||
|
virtual void ProcessDisplayStrings(float dt) = 0;
|
||||||
|
|
||||||
|
|
||||||
|
virtual void InitCallbacks() = 0;
|
||||||
|
|
||||||
|
virtual void OnStart() = 0;
|
||||||
|
virtual void OnLoad() = 0;
|
||||||
|
virtual void OnControlPhase(float dt) = 0;
|
||||||
|
virtual void OnSave() = 0;
|
||||||
|
virtual void OnEnd() = 0;
|
||||||
|
|
||||||
|
virtual void SetCallbackDrawString(CallbackDrawString) = 0;
|
||||||
|
virtual void FreeLevelScripts() = 0;
|
||||||
|
virtual bool AddName(std::string const& key, VarMapVal val) = 0;
|
||||||
|
virtual void ExecuteScriptFile(std::string const& luaFileName) = 0;
|
||||||
|
virtual void ExecuteFunction(std::string const& luaFileName) = 0;
|
||||||
|
|
||||||
|
virtual void AssignItemsAndLara() = 0;
|
||||||
|
};
|
|
@ -190,6 +190,7 @@ CALL gen.bat</Command>
|
||||||
<ClInclude Include="Game\memory\Vector.h" />
|
<ClInclude Include="Game\memory\Vector.h" />
|
||||||
<ClInclude Include="Game\gui.h" />
|
<ClInclude Include="Game\gui.h" />
|
||||||
<ClInclude Include="Game\particle\SimpleParticle.h" />
|
<ClInclude Include="Game\particle\SimpleParticle.h" />
|
||||||
|
<ClInclude Include="Scripting\ScriptInterfaceGame.h" />
|
||||||
<ClInclude Include="Specific\phd_global.h" />
|
<ClInclude Include="Specific\phd_global.h" />
|
||||||
<ClInclude Include="Game\memory\qmalloc.h" />
|
<ClInclude Include="Game\memory\qmalloc.h" />
|
||||||
<ClInclude Include="Game\pickup\pickuputil.h" />
|
<ClInclude Include="Game\pickup\pickuputil.h" />
|
||||||
|
|
|
@ -709,6 +709,7 @@
|
||||||
<ClInclude Include="Objects\TR5\Object\tr5_expandingplatform.h" />
|
<ClInclude Include="Objects\TR5\Object\tr5_expandingplatform.h" />
|
||||||
<ClInclude Include="Game\gui.h" />
|
<ClInclude Include="Game\gui.h" />
|
||||||
<ClInclude Include="Game\effects\lara_fx.h" />
|
<ClInclude Include="Game\effects\lara_fx.h" />
|
||||||
|
<ClInclude Include="Scripting\ScriptInterfaceGame.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="Resources.rc" />
|
<ResourceCompile Include="Resources.rc" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue