Merge pull request #1614 from birarda/scripted-avatar

expose MyAvatar to Interface ScriptEngine
This commit is contained in:
Philip Rosedale 2014-01-22 10:57:45 -08:00
commit eccf1e0fac
5 changed files with 9 additions and 6 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, const QString& 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, const QString& objectName);
public slots:
void init();

View file

@ -21,7 +21,7 @@ quint8 DataServerClient::_sequenceNumber = 0;
const char MULTI_KEY_VALUE_SEPARATOR = '|';
const char DATA_SERVER_HOSTNAME[] = "localhost";
const char DATA_SERVER_HOSTNAME[] = "data.highfidelity.io";
const unsigned short DATA_SERVER_PORT = 3282;
const HifiSockAddr& DataServerClient::dataServerSockAddr() {