get current state (active Effects) over JSON Interface (#608)

* Create ActiveEffectDefinition.h

* Update EffectEngine.h

* Update Hyperion.h

* Update Effect.h

* Update EffectEngine.cpp

* Update Hyperion.cpp

* Update JsonClientConnection.cpp


Former-commit-id: 5664b69da6893dd0d0de0e7c74c01cdcafd57310
This commit is contained in:
Paulchen-Panther
2016-04-24 17:07:31 +02:00
committed by brindosch
parent d4dda2dcc4
commit bb9b02cf05
7 changed files with 67 additions and 0 deletions

View File

@@ -514,6 +514,20 @@ void JsonClientConnection::handleServerInfoCommand(const Json::Value &)
effects.append(effect);
}
// collect active effect info
Json::Value & activeEffects = info["activeEffects"] = Json::Value(Json::arrayValue);
const std::list<ActiveEffectDefinition> & activeEffectsDefinitions = _hyperion->getActiveEffects();
for (const ActiveEffectDefinition & activeEffectDefinition : activeEffectsDefinitions)
{
Json::Value activeEffect;
activeEffect["script"] = activeEffectDefinition.script;
activeEffect["priority"] = activeEffectDefinition.priority;
activeEffect["timeout"] = activeEffectDefinition.timeout;
activeEffect["args"] = activeEffectDefinition.args;
activeEffects.append(activeEffect);
}
// send the result
sendMessage(result);