public virtual void Setup() { m_TraitDefinition = DynamicStruct.Create <TraitDefinition>(); m_TraitDefinition.CreateProperty <int>("FieldA"); SaveAsset(m_TraitDefinition, Path.Combine(k_TraitAssetsPath, "TraitA.asset")); m_EnumDefinition = ScriptableObject.CreateInstance <EnumDefinition>(); m_EnumDefinition.CreateProperty <string>("ValueA"); m_EnumDefinition.CreateProperty <string>("ValueB"); m_EnumDefinition.CreateProperty <string>("ValueC"); SaveAsset(m_EnumDefinition, Path.Combine(k_EnumAssetsPath, "EnumA.asset")); SetupTerminationDefinition("TerminationA.asset"); SetupActionDefinition("ActionA.asset"); m_ProblemDefinition = ScriptableObject.CreateInstance <ProblemDefinition>(); m_ProblemDefinition.ActionDefinitions = new[] { m_ActionDefinition }; m_ProblemDefinition.StateTerminationDefinitions = new[] { m_StateTerminationDefinition }; SaveAsset(m_ProblemDefinition, Path.Combine(k_AssetsPath, "PlanA.asset")); PlannerAssetDatabase.Refresh(new [] { Path.Combine("Assets", "Temp") }); }