TombEngine/TR5Main/Scripting/GameLogicScript.h
2018-09-23 12:01:07 +02:00

39 lines
No EOL
794 B
C++

#pragma once
#include <sol.hpp>
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <map>
#include "..\Global\global.h"
using namespace std;
typedef struct LuaFunction {
string Name;
string Code;
bool Executed;
};
class GameScript
{
private:
sol::state* m_lua;
string loadScriptFromFile(char* luaFilename);
map<__int16, __int16> m_itemsMap;
public:
vector<LuaFunction*> Triggers;
GameScript(sol::state* lua);
~GameScript();
bool ExecuteScript(char* luaFilename);
void EnableItem(__int16 id);
void DisableItem(__int16 id);
void PlayAudioTrack(__int16 track);
void ChangeAmbientSoundTrack(__int16 track);
bool ExecuteTrigger(__int16 index);
};