mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 19:56:44 +02:00
partial work on blending of animation settings
This commit is contained in:
parent
8a2e3d5045
commit
c9e8c21d8d
2 changed files with 59 additions and 3 deletions
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QJSonDocument>
|
||||||
|
|
||||||
#include <ByteCountCoding.h>
|
#include <ByteCountCoding.h>
|
||||||
#include <GLMHelpers.h>
|
#include <GLMHelpers.h>
|
||||||
|
@ -120,6 +121,63 @@ void EntityItemProperties::setSittingPoints(const QVector<SittingPoint>& sitting
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EntityItemProperties::setAnimationSettings(const QString& value) {
|
||||||
|
// the animations setting is a JSON string that may contain various animation settings.
|
||||||
|
// if it includes fps, frameIndex, or running, those values will be parsed out and
|
||||||
|
// will over ride the regular animation settings
|
||||||
|
|
||||||
|
QJsonDocument settingsAsJson = QJsonDocument::fromJson(value.toUtf8());
|
||||||
|
QJsonObject settingsAsJsonObject = settingsAsJson.object();
|
||||||
|
QVariantMap settingsMap = settingsAsJsonObject.toVariantMap();
|
||||||
|
if (settingsMap.contains("fps")) {
|
||||||
|
float fps = settingsMap["fps"].toFloat();
|
||||||
|
setAnimationFPS(fps);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settingsMap.contains("frameIndex")) {
|
||||||
|
float frameIndex = settingsMap["frameIndex"].toFloat();
|
||||||
|
setAnimationFrameIndex(frameIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settingsMap.contains("running")) {
|
||||||
|
bool running = settingsMap["running"].toBool();
|
||||||
|
setAnimationIsPlaying(running);
|
||||||
|
}
|
||||||
|
|
||||||
|
_animationSettings = value;
|
||||||
|
_animationSettingsChanged = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
QString EntityItemProperties::getAnimationSettings() const {
|
||||||
|
// the animations setting is a JSON string that may contain various animation settings.
|
||||||
|
// if it includes fps, frameIndex, or running, those values will be parsed out and
|
||||||
|
// will over ride the regular animation settings
|
||||||
|
QString value = _animationSettings;
|
||||||
|
|
||||||
|
QJsonDocument settingsAsJson = QJsonDocument::fromJson(value.toUtf8());
|
||||||
|
QJsonObject settingsAsJsonObject = settingsAsJson.object();
|
||||||
|
QVariantMap settingsMap = settingsAsJsonObject.toVariantMap();
|
||||||
|
if (settingsMap.contains("fps")) {
|
||||||
|
float fps = settingsMap["fps"].toFloat();
|
||||||
|
setAnimationFPS(fps);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settingsMap.contains("frameIndex")) {
|
||||||
|
float frameIndex = settingsMap["frameIndex"].toFloat();
|
||||||
|
setAnimationFrameIndex(frameIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settingsMap.contains("running")) {
|
||||||
|
bool running = settingsMap["running"].toBool();
|
||||||
|
setAnimationIsPlaying(running);
|
||||||
|
}
|
||||||
|
|
||||||
|
_animationSettings = value;
|
||||||
|
_animationSettingsChanged = true;
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
|
||||||
|
|
||||||
void EntityItemProperties::debugDump() const {
|
void EntityItemProperties::debugDump() const {
|
||||||
qDebug() << "EntityItemProperties...";
|
qDebug() << "EntityItemProperties...";
|
||||||
|
|
|
@ -192,9 +192,7 @@ public:
|
||||||
void setAnimationFrameIndex(float value) { _animationFrameIndex = value; _animationFrameIndexChanged = true; }
|
void setAnimationFrameIndex(float value) { _animationFrameIndex = value; _animationFrameIndexChanged = true; }
|
||||||
void setAnimationIsPlaying(bool value) { _animationIsPlaying = value; _animationIsPlayingChanged = true; }
|
void setAnimationIsPlaying(bool value) { _animationIsPlaying = value; _animationIsPlayingChanged = true; }
|
||||||
void setAnimationFPS(float value) { _animationFPS = value; _animationFPSChanged = true; }
|
void setAnimationFPS(float value) { _animationFPS = value; _animationFPSChanged = true; }
|
||||||
void setAnimationSettings(const QString& value)
|
void setAnimationSettings(const QString& value);
|
||||||
{ _animationSettings = value; _animationSettingsChanged = true; }
|
|
||||||
|
|
||||||
|
|
||||||
void setGlowLevel(float value) { _glowLevel = value; _glowLevelChanged = true; }
|
void setGlowLevel(float value) { _glowLevel = value; _glowLevelChanged = true; }
|
||||||
void setLocalRenderAlpha(float value) { _localRenderAlpha = value; _localRenderAlphaChanged = true; }
|
void setLocalRenderAlpha(float value) { _localRenderAlpha = value; _localRenderAlphaChanged = true; }
|
||||||
|
|
Loading…
Reference in a new issue