Esempio n. 1
0
void MainWindow::loadScene(const QString& filename)
{
    QSettings config(filename, QSettings::IniFormat);
    QSettings::Status status = config.status();
    if (status == QSettings::AccessError) {
        qWarning() << "An access error occurred (e.g. trying to load a non-readable file):" << filename;
        return;
    } else if (status == QSettings::FormatError) {
        qWarning() << "A format error in the INI file occurred:" << filename;
        return;
    }

    const int version = config.value("general/version", -1).toInt();
    if (version != 1) {
        qWarning() << "Unknown version in file, aborting:" << filename;
        return;
    }

    m_scene->load(config);

    config.beginGroup("tool-handler");
    m_toolsUi->sbRadius->setValue(ToolHandler::operationRadius());
    m_toolsUi->cmbTool->setCurrentIndex(config.value("tool", 0).toInt());
    config.endGroup();

    Config::self()->load(config);

    m_sceneFile = filename;

    updateActionState();
}
Esempio n. 2
0
void MetalineEnemy::moveMetalineEnemy()
{
	updateActionState();
	
	if (actionState == DEFAULT_ACTION_STATE)
	{
		
	}
	else if (actionState == PLAYER_DETECTED_ACTION_STATE)
	{
		if (!hasCollided)
		{
			GameState *gs = GameState::GetInstance();
			Vector3f playerPos = gs->GetPlayerPosition();
			Vertex newDirection;
			newDirection.x = playerPos(0) - this->center.x;
			newDirection.y = playerPos(1) - this->center.y;
			newDirection.z = playerPos(2) - this->center.z;
			normalize(newDirection);
			this->velocity = Vec3f(newDirection.x * this->speed, newDirection.y * this->speed,
								   newDirection.z * this->speed);
		}
	}
	else if (actionState == SOUND_DETECTED_ACTION_STATE)
	{
		//Move Toward Sound TODO
	}
	
	this->center.x = this->center.x + (this->velocity)[0];
	this->center.y = this->center.y + (this->velocity)[1];
	this->center.z = this->center.z + (this->velocity)[2];
}
Esempio n. 3
0
void ActionRootState::setActionName(const QString &actionName)
{
    if (m_actionName != actionName) {
        bool wasValid = valid();

        m_actionName = actionName;
        updateActionState();

        Q_EMIT actionNameChanged();

        if (wasValid != valid()) Q_EMIT validChanged();
    }
}
Esempio n. 4
0
void EditTalkableAction::actionInstanceCreated(Action *action)
{
	switch (actionRole(action->context()))
	{
		case ChatRole:
			setChatActionTitleAndIcon(action);
			break;
		case BuddyRole:
			setBuddyActionTitleAndIcon(action);
			break;
	}

	updateActionState(action);
}
Esempio n. 5
0
void ActionRootState::setActionGroup(QDBusActionGroup *actionGroup)
{
    if (m_actionGroup != actionGroup) {
        bool wasValid = valid();

        if (m_actionGroup) {
            disconnect(m_actionGroup, 0, this, 0);
        }
        m_actionGroup = actionGroup;

        if (m_actionGroup) {
            connect(m_actionGroup, &QDBusActionGroup::statusChanged, this, [&](bool) { updateActionState(); });
            connect(m_actionGroup, &QDBusActionGroup::actionAppear, this, [&](const QString&) { updateActionState(); });
            connect(m_actionGroup, &QDBusActionGroup::actionVanish, this, [&](const QString&) { updateActionState(); });
            connect(m_actionGroup, &QDBusActionGroup::actionStateChanged, this, [&](QVariant) { updateActionState(); });

            connect(m_actionGroup, &QObject::destroyed, this, [&](QObject*) { updateActionState(); });
        }
        updateActionState();
        Q_EMIT actionGroupChanged();

        if (wasValid != valid()) Q_EMIT validChanged();
    }
}