Exemplo n.º 1
0
QVariantMap ShowMenu::toJsonObject()
{
    QVariantMap object = Action::toJsonObject();

    if (sceneObject())
        object.insert("object", sceneObject()->toJsonObject());

    return object;
}
Exemplo n.º 2
0
QVariantMap Show::toJsonObject()
{
    QVariantMap data = ChangeVisibility::toJsonObject();

    if (sceneObject() && qobject_cast<Character*>(sceneObject()))
        data.insert("state", mCharacterState);

    return data;
}
Exemplo n.º 3
0
QString Show::displayText() const
{
    QString text("");
    if (sceneObject())
        text += sceneObject()->objectName();

    Character* character = qobject_cast<Character*>(sceneObject());
    if (character)
        text += QString(" (%1)").arg(character->currentState());

    return text;
}
Exemplo n.º 4
0
	void draw() const
	{
		if (renderable)
		{
			material.program().use();
			material.program().set("world", sceneObject().transform().worldMatrix());
			renderable->draw();
		}
	}
Exemplo n.º 5
0
QString ChangeVisibility::displayText() const
{
    if (! sceneObject())
        return "";

    QString text("");
    if (sceneObject())
        text += sceneObject()->objectName() + " ";

    Character* character = qobject_cast<Character*>(sceneObject());
    if (character && toShow()) {
        const Show* _this = qobject_cast<const Show*>(this);
        if (_this) {
            text += QString("(%1) ").arg(_this->characterState());
        }
    }

    const Fade* fade = fadeAction();
    const Slide* slide = slideAction();

    double duration = 0.0;

    if (fade && fade->duration() || slide && slide->duration()) {
        text += tr("with") + " ";

        if (fade && fade->duration()) {
            text += QString("%1%2").arg("fade").arg(fade->fadeTypeString());
            if (fade->duration() > duration)
                duration = fade->duration();
        }

        if (fade && fade->duration() && slide && slide->duration())
            text += " " + tr("and") + " ";

        if (slide && slide->duration()) {
            text += tr("slide");
            if (slide->duration() > duration)
                duration = slide->duration();
        }
        text += QString(" %1 %2s").arg(tr("in")).arg(QString::number(duration,'f', 2));
    }

    return text;
}
Exemplo n.º 6
0
ShowMenu::ShowMenu(const QVariantMap& data, QObject *parent) :
    Action(data, parent)
{
    init();

    if (data.contains("object") && data.value("object").type() == QVariant::Map) {
        Object* object = ResourceManager::instance()->createResource(data.value("object").toMap(), false);
        setSceneObject(object);
    }

    //in case of an invalid Menu object
    if (sceneObject()) {
        Menu * menu = qobject_cast<Menu*>(sceneObject());
        if (! menu) {
            sceneObject()->deleteLater();
            setSceneObject(0);
        }
    }

    if (! sceneObject()) {
        setSceneObject(new Menu(this));
    }

}
Exemplo n.º 7
0
	CameraFlyer::CameraFlyer(const HSceneObject& parent)
		:Component(parent), mPitch(0.0f), mYaw(0.0f), mLastButtonState(false)
	{
		setName("CameraFlyer");

		mCamera = sceneObject()->getComponent<CCamera>();
		mCamera->setNearClipDistance(5);

		mMoveForward = VirtualButton("Forward");
		mMoveBack = VirtualButton("Back");
		mMoveLeft = VirtualButton("Left");
		mMoveRight = VirtualButton("Right");
		mFastMove = VirtualButton("FastMove");
		mRotateCam = VirtualButton("RotateCam");
		mHorizontalAxis = VirtualAxis("Horizontal");
		mVerticalAxis = VirtualAxis("Vertical");
	}
Exemplo n.º 8
0
	CameraFlyer::CameraFlyer(const HSceneObject& parent)
		:Component(parent), mPitch(0.0f), mYaw(0.0f), mLastButtonState(false)
	{
		// Set a name for the component, so we can find it later if needed
		setName("CameraFlyer");

		// Find the camera component we're influencing (must be on the same SceneObject we're on)
		mCamera = sceneObject()->getComponent<CCamera>();
		mCamera->setNearClipDistance(5);

		// Get handles for key bindings. Actual keys attached to these bindings will be registered during app start-up.
		mMoveForward = VirtualButton("Forward");
		mMoveBack = VirtualButton("Back");
		mMoveLeft = VirtualButton("Left");
		mMoveRight = VirtualButton("Right");
		mFastMove = VirtualButton("FastMove");
		mRotateCam = VirtualButton("RotateCam");
		mHorizontalAxis = VirtualAxis("Horizontal");
		mVerticalAxis = VirtualAxis("Vertical");
	}
Exemplo n.º 9
0
void ShowMenu::focusOut()
{
    if (sceneObject() && SceneManager::currentScene()) {
        SceneManager::currentScene()->removeObject(sceneObject(), false, true);
    }
}
Exemplo n.º 10
0
void ShowMenu::focusIn()
{
    if (sceneObject() && SceneManager::currentScene())
        SceneManager::currentScene()->appendObject(sceneObject(), true, true);
}