Add Uuid object to ScriptEngine

This commit is contained in:
Andrew Meadows 2014-04-07 14:12:29 -07:00
parent 84d7e39d72
commit 23c6873d99
4 changed files with 71 additions and 2 deletions

View file

@ -60,7 +60,8 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam
_scriptName(),
_fileNameString(fileNameString),
_quatLibrary(),
_vec3Library()
_vec3Library(),
_uuidLibrary()
{
}
@ -83,7 +84,8 @@ ScriptEngine::ScriptEngine(const QUrl& scriptURL,
_scriptName(),
_fileNameString(),
_quatLibrary(),
_vec3Library()
_vec3Library(),
_uuidLibrary()
{
QString scriptURLString = scriptURL.toString();
_fileNameString = scriptURLString;
@ -197,6 +199,7 @@ void ScriptEngine::init() {
registerGlobalObject("Particles", &_particlesScriptingInterface);
registerGlobalObject("Quat", &_quatLibrary);
registerGlobalObject("Vec3", &_vec3Library);
registerGlobalObject("Uuid", &_uuidLibrary);
registerGlobalObject("Voxels", &_voxelsScriptingInterface);

View file

@ -22,6 +22,7 @@
#include "AbstractControllerScriptingInterface.h"
#include "Quat.h"
#include "ScriptUUID.h"
#include "Vec3.h"
class ParticlesScriptingInterface;
@ -121,6 +122,7 @@ private:
QString _fileNameString;
Quat _quatLibrary;
Vec3 _vec3Library;
ScriptUUID _uuidLibrary;
};
#endif /* defined(__hifi__ScriptEngine__) */

View file

@ -0,0 +1,35 @@
//
// ScriptUUID.h
// hifi
//
// Created by Andrew Meadows on 2014.04.07
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
//
#include <QDebug>
#include "ScriptUUID.h"
QUuid ScriptUUID::fromString(const QString& s) {
return QUuid(s);
}
QString ScriptUUID::toString(const QUuid& id) {
return id.toString();
}
QUuid ScriptUUID::generate() {
return QUuid::createUuid();
}
bool ScriptUUID::isEqual(const QUuid& idA, const QUuid& idB) {
return idA == idB;
}
bool ScriptUUID::isNull(const QUuid& id) {
return id.isNull();
}
void ScriptUUID::print(const QString& lable, const QUuid& id) {
qDebug() << qPrintable(lable) << id.toString();
}

View file

@ -0,0 +1,29 @@
//
// ScriptUUID.h
// hifi
//
// Created by Andrew Meadows on 2014.04.07
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
//
#ifndef __hifi__ScriptUUID__
#define __hifi__ScriptUUID__
#include <QUuid>
/// Scriptable interface a UUID helper class object. Used exclusively in the JavaScript API
class ScriptUUID : public QObject {
Q_OBJECT
public slots:
QUuid fromString(const QString& string);
QString toString(const QUuid& id);
QUuid generate();
bool isEqual(const QUuid& idA, const QUuid& idB);
bool isNull(const QUuid& id);
void print(const QString& lable, const QUuid& id);
};
#endif /* defined(__hifi__Vec3__) */