Game Development Reference
In-Depth Information
The header file GPTScriptEngine.h is the blueprint for your scripting implementation, as shown in Listing 12-13.
Listing 12-13. GPTScriptEngine.h File
#ifndef _GPT_SCRIPT_ENGINE_H_
#define _GPT_SCRIPT_ENGINE_H_
#include "angelscript.h"
#include <vector>
struct ScriptModule
{
int id;
asIScriptModule* pModule;
};
struct GameObject
{
int id;
float x;
float y;
int color;
};
class GPTScriptEngine
{
public:
GPTScriptEngine();
~GPTScriptEngine();
bool AddGameObject(int id, float x, float y, int color,
const char* scriptCode);
void Update(float deltaTime);
void GetUpdatedObjects(std::vector<GameObject>& objects);
void Reset();
private:
typedef std::vector<ScriptModule> ScriptModuleVector;
asIScriptModule* BuildScriptModule(int gameObjectId, const
char* scriptCode);
asIScriptModule* FindScriptModule(int moduleId);
asIScriptEngine* m_pScriptEngine;
asIScriptContext* m_pScriptContext;
std::vector<ScriptModule> m_scriptModules;
};
 
Search WWH ::




Custom Search