TombEngine/TR5Main/Scripting/GameLogicScript.h

39 lines
794 B
C
Raw Normal View History

#pragma once
#include <sol.hpp>
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <map>
#include "..\Global\global.h"
using namespace std;
2018-09-23 12:01:07 +02:00
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:
2018-09-23 12:01:07 +02:00
vector<LuaFunction*> Triggers;
GameScript(sol::state* lua);
~GameScript();
2018-09-23 12:01:07 +02:00
bool ExecuteScript(char* luaFilename);
void EnableItem(__int16 id);
void DisableItem(__int16 id);
void PlayAudioTrack(__int16 track);
void ChangeAmbientSoundTrack(__int16 track);
2018-09-23 12:01:07 +02:00
bool ExecuteTrigger(__int16 index);
};