working support for editor property json serialization
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
@@ -322,11 +322,9 @@ namespace ScriptCanvasEditor
|
||||
return;
|
||||
}
|
||||
|
||||
auto& variableOverrides = parseOutcome.GetValue();
|
||||
|
||||
if (!m_variableOverrides.IsEmpty())
|
||||
{
|
||||
variableOverrides.CopyPreviousOverriddenValues(m_variableOverrides);
|
||||
parseOutcome.GetValue().CopyPreviousOverriddenValues(m_variableOverrides);
|
||||
}
|
||||
|
||||
m_variableOverrides = parseOutcome.TakeValue();
|
||||
@@ -351,8 +349,7 @@ namespace ScriptCanvasEditor
|
||||
}
|
||||
|
||||
auto runtimeComponent = gameEntity->CreateComponent<ScriptCanvas::RuntimeComponent>();
|
||||
auto runtimeOverrides = ConvertToRuntime(m_variableOverrides);
|
||||
runtimeComponent->SetRuntimeDataOverrides(runtimeOverrides);
|
||||
runtimeComponent->TakeRuntimeDataOverrides(ConvertToRuntime(m_variableOverrides));
|
||||
}
|
||||
|
||||
void EditorScriptCanvasComponent::OnCatalogAssetAdded(const AZ::Data::AssetId& assetId)
|
||||
@@ -518,8 +515,8 @@ namespace ScriptCanvasEditor
|
||||
[[maybe_unused]] AZ::Entity* scriptCanvasEntity = assetData->GetScriptCanvasEntity();
|
||||
AZ_Assert(scriptCanvasEntity, "This graph must have a valid entity");
|
||||
BuildGameEntityData();
|
||||
AzToolsFramework::ToolsApplicationNotificationBus::Broadcast(&AzToolsFramework::ToolsApplicationEvents::InvalidatePropertyDisplay, AzToolsFramework::Refresh_EntireTree_NewContent);
|
||||
UpdateName();
|
||||
AzToolsFramework::ToolsApplicationNotificationBus::Broadcast(&AzToolsFramework::ToolsApplicationEvents::InvalidatePropertyDisplay, AzToolsFramework::Refresh_EntireTree_NewContent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -283,7 +283,7 @@ namespace ScriptCanvasEditor
|
||||
loadResult.m_runtimeAsset.Get()->GetData().m_debugMap = luaAssetResult.m_debugMap;
|
||||
loadResult.m_runtimeComponent = loadResult.m_entity->CreateComponent<ScriptCanvas::RuntimeComponent>();
|
||||
CopyAssetEntityIdsToOverrides(runtimeDataOverrides);
|
||||
loadResult.m_runtimeComponent->SetRuntimeDataOverrides(runtimeDataOverrides);
|
||||
loadResult.m_runtimeComponent->TakeRuntimeDataOverrides(AZStd::move(runtimeDataOverrides));
|
||||
Execution::Context::InitializeActivationData(loadResult.m_runtimeAsset->GetData());
|
||||
Execution::InitializeInterpretedStatics(loadResult.m_runtimeAsset->GetData());
|
||||
}
|
||||
|
||||
@@ -93,9 +93,9 @@ namespace ScriptCanvas
|
||||
return m_runtimeOverrides;
|
||||
}
|
||||
|
||||
void RuntimeComponent::SetRuntimeDataOverrides(const RuntimeDataOverrides& overrideData)
|
||||
void RuntimeComponent::TakeRuntimeDataOverrides(RuntimeDataOverrides&& overrideData)
|
||||
{
|
||||
m_runtimeOverrides = overrideData;
|
||||
m_runtimeOverrides = AZStd::move(overrideData);
|
||||
m_runtimeOverrides.EnforcePreloadBehavior();
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace ScriptCanvas
|
||||
|
||||
const RuntimeDataOverrides& GetRuntimeDataOverrides() const;
|
||||
|
||||
void SetRuntimeDataOverrides(const RuntimeDataOverrides& overrideData);
|
||||
void TakeRuntimeDataOverrides(RuntimeDataOverrides&& overrideData);
|
||||
|
||||
protected:
|
||||
static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible)
|
||||
|
||||
@@ -50,16 +50,6 @@ namespace AZ
|
||||
, "scriptCanvasType"
|
||||
, context));
|
||||
|
||||
ScriptCanvas::Datum::eOriginality originality;
|
||||
AZ_Assert(azrtti_typeid<decltype(outputDatum->m_originality)>() == azrtti_typeid<decltype(originality)>()
|
||||
, "m_originality type changed and won't load properly");
|
||||
result.Combine(ContinueLoadingFromJsonObjectField
|
||||
( &originality
|
||||
, azrtti_typeid<decltype(outputDatum->m_originality)>()
|
||||
, inputValue
|
||||
, "originality"
|
||||
, context));
|
||||
|
||||
AZStd::any storage;
|
||||
{ // datum storage begin
|
||||
AZ::Uuid typeId = AZ::Uuid::CreateNull();
|
||||
@@ -98,10 +88,10 @@ namespace AZ
|
||||
( &label
|
||||
, azrtti_typeid<decltype(outputDatum->m_datumLabel)>()
|
||||
, inputValue
|
||||
, "originality"
|
||||
, "label"
|
||||
, context));
|
||||
|
||||
Datum copy(scType, originality, AZStd::any_cast<void>(&storage), scType.GetAZType());
|
||||
Datum copy(scType, Datum::eOriginality::Original, AZStd::any_cast<void>(&storage), scType.GetAZType());
|
||||
copy.SetLabel(label);
|
||||
*outputDatum = copy;
|
||||
|
||||
@@ -152,15 +142,7 @@ namespace AZ
|
||||
, defaultScriptDataPtr ? &defaultScriptDataPtr->GetType() : nullptr
|
||||
, azrtti_typeid<decltype(inputScriptDataPtr->GetType())>()
|
||||
, context));
|
||||
|
||||
result.Combine(ContinueStoringToJsonObjectField
|
||||
( outputValue
|
||||
, "originality"
|
||||
, &inputScriptDataPtr->m_originality
|
||||
, defaultScriptDataPtr ? &defaultScriptDataPtr->m_originality : nullptr
|
||||
, azrtti_typeid<decltype(inputScriptDataPtr->m_originality)>()
|
||||
, context));
|
||||
|
||||
|
||||
{ // datum storage begin
|
||||
{
|
||||
rapidjson::Value typeValue;
|
||||
|
||||
Reference in New Issue
Block a user