#ifndef SCRIPTNODE_H
#define SCRIPTNODE_H

#include "scene/scenenode.h"
#include "sol.hpp"

class ScriptNode : public SceneNode
{
    sol::state m_script;
    std::vector<std::string> functions_name;

public:
    ScriptNode();
    void update();
    void execute(std::string);
    std::vector<std::string> possibleCompletion(std::string);
    sol::state& getScriptEngine() { return m_script; }
    void addAutoCompletionSymbol(const std::string& symbolName) { functions_name.push_back(symbolName); }
	
    /* -- LUA function -- */
    void print(std::string);
    void version();
    void clear();
    float getDeltaTime();
    void testfunc(int, float,float,float);
    void picker();
    void materialEditor();
    void rendering();
    void resourcePackEditor();
    void editor();
    void keymapper();
};

#endif // SCRIPTNODE_H
