History

first cut at moving entity scripts into ScriptEngine

Brad Hefta-Gaub committed 11 years ago

Commit 18fbf891 parent 56118e46 files · +283 −316Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.h (1 of 6 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.h+16−0
@@ -40,6 +40,12 @@ const unsigned int SCRIPT_DATA_CALLBACK_USECS = floor(((1.0f / 60.0f) * 1000 * 1 · 39 unmodified lines
4040
4141 typedef QHash<QString, QScriptValueList> RegisteredEventHandlers;
4242
43+class EntityScriptDetails {
44+public:
45+ QString scriptText;
46+ QScriptValue scriptObject;
47+};
48+
4349 class ScriptEngine : public QScriptEngine, public ScriptUser {
4450 Q_OBJECT
4551 public:
@@ -100,6 +106,13 @@ public: · 54 unmodified lines
100106 Q_INVOKABLE void print(const QString& message);
101107 Q_INVOKABLE QUrl resolvePath(const QString& path) const;
102108
109+ // Entity Script Related methods
110+ Q_INVOKABLE void loadEntityScript(const EntityItemID& entityID, const QString& entityScript, bool forceRedownload = false); // will call the preload method once loaded
111+ Q_INVOKABLE void unloadEntityScript(const EntityItemID& entityID); // will call unload method
112+ Q_INVOKABLE void callEntityScriptMethod(const EntityItemID& entityID, const QString& methodName);
113+ Q_INVOKABLE void callEntityScriptMethod(const EntityItemID& entityID, const QString& methodName, const MouseEvent& event);
114+ Q_INVOKABLE void callEntityScriptMethod(const EntityItemID& entityID, const QString& methodName, const EntityItemID& otherID, const Collision& collision);
115+
103116 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
104117 // NOTE - this is intended to be a public interface for Agent scripts, and local scripts, but not for EntityScripts
105118 Q_INVOKABLE void stop();
@@ -149,6 +162,9 @@ protected: · 43 unmodified lines
149162 QSet<QUrl> _includedURLs;
150163 bool _wantSignals = true;
151164
165+ QHash<EntityItemID, EntityScriptDetails> _entityScripts;
166+
167+
152168 private:
153169 void init();
154170 QString getFilename() const;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t