hook the user's avatar object into the Interface ScriptEngine

This commit is contained in:
Stephen Birarda 2014-01-22 09:13:25 -08:00
parent 98c25aa3ee
commit 6b44172467
4 changed files with 8 additions and 5 deletions

View file

@ -101,7 +101,7 @@ void Agent::run() {
scriptedAvatar.setUUID(_scriptEngine.getDataServerScriptingInterface().getUUID());
// give this AvatarData object to the script engine
_scriptEngine.setAvatarData(&scriptedAvatar);
_scriptEngine.setAvatarData(&scriptedAvatar, "Avatar");
_scriptEngine.setScriptContents(scriptContents);
_scriptEngine.run();

View file

@ -4261,6 +4261,9 @@ void Application::loadScript(const QString& fileNameString){
// we can use the same ones from the application.
scriptEngine->getVoxelsScriptingInterface()->setPacketSender(&_voxelEditSender);
scriptEngine->getParticlesScriptingInterface()->setPacketSender(&_particleEditSender);
// hook our avatar object into this script engine
scriptEngine->setAvatarData(&_myAvatar, "MyAvatar");
QThread* workerThread = new QThread(this);

View file

@ -71,14 +71,14 @@ ScriptEngine::~ScriptEngine() {
//printf("ScriptEngine::~ScriptEngine()...\n");
}
void ScriptEngine::setAvatarData(AvatarData* avatarData) {
void ScriptEngine::setAvatarData(AvatarData* avatarData, char* objectName) {
_avatarData = avatarData;
// remove the old Avatar property, if it exists
_engine.globalObject().setProperty("Avatar", QScriptValue());
_engine.globalObject().setProperty(objectName, QScriptValue());
// give the script engine the new Avatar script property
registerGlobalObject("Avatar", _avatarData);
registerGlobalObject(objectName, _avatarData);
}
void ScriptEngine::setupMenuItems() {

View file

@ -59,7 +59,7 @@ public:
void setIsAvatar(bool isAvatar) { _isAvatar = isAvatar; }
bool isAvatar() const { return _isAvatar; }
void setAvatarData(AvatarData* avatarData);
void setAvatarData(AvatarData* avatarData, char* objectName);
public slots:
void init();