11 snapshot =
target.snapshotValue();
13 if (!
root)
return nullptr;
14 const auto found =
root->find(
"properties");
26Result<void> AudioSourceRuntimeApplier::apply(
const AudioSourceTarget&
target,
27 audio::Source*
source)
const {
29 return eve::editing::failed<void>(EditorStatus::Rejected,
RuleId(
"editor.audio.runtime-source"),
30 "Live audio source is required");
31 const auto diagnostics =
target.validate();
38 return eve::editing::failed<void>(EditorStatus::Failed,
RuleId(
"editor.audio.runtime-properties"),
39 "Audio source properties are unavailable");
40 source->setVolume(
static_cast<float>(*value<double>(*
values,
"play.volume")));
41 source->setPitch(
static_cast<float>(*value<double>(*
values,
"play.pitch")));
43 const auto&
position = *value<EditorValue::Array>(*
values,
"spatial.position");
44 const auto& velocity = *value<EditorValue::Array>(*
values,
"spatial.velocity");
45 const auto&
direction = *value<EditorValue::Array>(*
values,
"spatial.direction");
46 source->setPosition(
static_cast<float>(*
position[0].getIf<double>()),
47 static_cast<float>(*
position[1].getIf<double>()),
48 static_cast<float>(*
position[2].getIf<double>()));
49 source->setVelocity(
static_cast<float>(*velocity[0].getIf<double>()),
50 static_cast<float>(*velocity[1].getIf<double>()),
51 static_cast<float>(*velocity[2].getIf<double>()));
53 static_cast<float>(*
direction[1].getIf<double>()),
54 static_cast<float>(*
direction[2].getIf<double>()));
55 source->setRelative(*value<bool>(*
values,
"spatial.relative"));
56 source->setAttenuationDistances(
57 static_cast<float>(*value<double>(*
values,
"spatial.reference-distance")),
58 static_cast<float>(*value<double>(*
values,
"spatial.maximum-distance")));
59 return eve::editing::applied<void>();
62Result<void> AudioSourceRuntimeSink::publish(
const AudioSourceTarget& candidate) {
std::map< std::string, Var > values
std::array< float, 3 > position
std::map< std::string, PropertyRule > properties
RoadLaneDirection direction
const UnitySourceAsset & source
std::map< std::string, Value > Object
editing::DiagnosticSeverity DiagnosticSeverity
editing::Value EditorValue
editing::Diagnostic EditorDiagnostic
editing::Status EditorStatus
audio_editing::AudioSourceRuntimeApplier AudioSourceRuntimeApplier
Build metadata (engine git commit, build time, third-party version).