├── UIComponents.Roslyn ├── .gitignore ├── UIComponents.Roslyn.Common.Tests │ ├── Usings.cs │ └── AssemblyInfo.cs ├── UIComponents.Roslyn.Generation.Tests │ ├── Usings.cs │ ├── Snapshots │ │ ├── .gitignore │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Generates_Layout_Call.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Takes_AssetPrefixAttribute_Into_Account.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Uses_Base_Class_Attribute.00BaseLayoutComponent.Layout.g.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Uses_Base_Class_Attribute.02ThirdLayoutComponent.Layout.g.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Allows_Overriding_Base_Class_Attribute.00BaseLayoutComponent.Layout.g.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Uses_Base_Class_Attribute.01SuperclassLayoutComponent.Layout.g.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Allows_Overriding_Base_Class_Attribute.01OverriddenLayoutComponent.Layout.g.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Handles_Nested_Types.00ParentClass.FirstNestedComponent.Layout.g.verified.cs │ │ ├── LayoutAugmentGeneratorSnapshotTests.It_Handles_Nested_Types.01ParentClass.SecondNestedComponent.Layout.g.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Nested_Types.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Generates_Functions_For_Callbacks.00CallbackHandler.RegistersEventCallbackAttribute.g.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Allows_Specifying_Method_Name.00CallbackHandler.RegistersEventCallbackAttribute.g.verified.cs │ │ ├── QueryAugmentGeneratorSnapshotTests.It_Handles_Lists.verified.cs │ │ ├── QueryAugmentGeneratorSnapshotTests.It_Handles_Null_Arguments.verified.cs │ │ ├── DependencyAugmentGeneratorSnapshotTests.It_Allows_Overriding_Scope.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Common_Namespaces.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Interface_Inheritance.verified.cs │ │ ├── DependencyAugmentGeneratorSnapshotTests.It_Allows_Overriding_Assembly_Declarations_With_Class_Declarations.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Does_Not_Generate_For_Abstract_Class.verified.cs │ │ ├── QueryAugmentGeneratorSnapshotTests.Does_Not_Generate_If_Used_On_Class_Or_Method.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Nested_Types_And_Namespace.01Tests.OnEventComponent.RegistersEventCallbackAttribute.g.verified.cs │ │ ├── QueryAugmentGeneratorSnapshotTests.It_Handles_Common_Namespaces.verified.cs │ │ ├── UxmlAugmentGeneratorSnapshotTests.Generates_UxmlFactory_With_UxmlName.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Allows_Specifying_Method_Name.01OtherCallbackHandler.RegistersEventCallbackAttribute.g.verified.cs │ │ ├── RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Nested_Types_And_Namespace.00Tests.OnCallbackComponent.RegistersEventCallbackAttribute.g.verified.cs │ │ └── RegistersEventCallbackGeneratorSnapshotTests.It_Generates_Functions_For_Callbacks.01OtherCallbackHandler.RegistersEventCallbackAttribute.g.verified.cs │ ├── AssemblyInfo.cs │ ├── Resources │ │ ├── VisualElement.cs │ │ ├── IDependencyConsumer.cs │ │ ├── ProvideAttribute.cs │ │ ├── UxmlTraitAttribute.cs │ │ ├── LayoutAttribute.cs │ │ ├── UIComponentEffectAttribute.cs │ │ ├── AssetPrefixAttribute.cs │ │ ├── StylesheetAttribute.cs │ │ ├── UxmlNameAttribute.cs │ │ ├── QueryAttribute.cs │ │ ├── RegistersEventCallbackAttribute.cs │ │ ├── UIComponent.cs │ │ └── DependencyAttribute.cs │ ├── test-with-report.sh │ ├── ModuleInitializer.cs │ └── Utilities │ │ └── TraitTestFixture.cs ├── UIComponents.Roslyn.Analyzers │ ├── UIComponents.Roslyn.Analyzers │ │ ├── AnalyzerReleases.Unshipped.md │ │ └── AnalyzerReleases.Shipped.md │ └── UIComponents.Roslyn.Analyzers.Test │ │ ├── AssemblyInfo.cs │ │ └── Verifiers │ │ ├── VisualBasicCodeRefactoringVerifier`1+Test.cs │ │ ├── VisualBasicAnalyzerVerifier`1+Test.cs │ │ └── VisualBasicCodeFixVerifier`2+Test.cs ├── UIComponents.Roslyn.Generation │ ├── Generators │ │ ├── AssetLoad │ │ │ ├── LayoutDescription.cs │ │ │ └── StylesheetDescription.cs │ │ ├── InterfaceModifiers │ │ │ └── RegistersEventCallbackDescription.cs │ │ ├── Uxml │ │ │ └── UxmlFactoryInfo.cs │ │ └── DependencyInjection │ │ │ └── ProvideDescription.cs │ ├── Utilities │ │ ├── StringUtilities.cs │ │ ├── WithinNamespaceScope.cs │ │ └── StringBuilderExtensions.cs │ ├── Constants.cs │ ├── SyntaxReceivers │ │ ├── ISyntaxReceiverWithTypes.cs │ │ ├── TypeSyntaxReceiver.cs │ │ └── ClassSyntaxReceiver.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── FolderProfile1.pubxml │ │ │ └── FolderProfile.pubxml │ └── UIComponents.Roslyn.Generation.csproj └── UIComponents.Roslyn.Common │ ├── UIComponents.Roslyn.Common.csproj │ └── Readers │ ├── AttributeReader.cs │ ├── PropertyAttributeReader.cs │ └── FieldAttributeReader.cs ├── logo.png ├── Assets ├── Samples │ ├── Resources │ │ ├── Resources │ │ │ ├── Margins.uss │ │ │ ├── Components.meta │ │ │ ├── Margins.uss.meta │ │ │ └── Components │ │ │ │ ├── ResourcesExampleComponent.uxml.meta │ │ │ │ ├── ResourcesExampleComponent.style.uss.meta │ │ │ │ ├── ResourcesExampleComponent.style.uss │ │ │ │ └── ResourcesExampleComponent.uxml │ │ ├── Editor.meta │ │ ├── Resources.meta │ │ ├── ResourcesExampleComponent.cs.meta │ │ ├── UIComponents.Samples.Resources.asmdef.meta │ │ ├── Editor │ │ │ ├── ResourcesExampleComponentWindow.cs.meta │ │ │ ├── UIComponents.Samples.Resources.Editor.asmdef.meta │ │ │ ├── UIComponents.Samples.Resources.Editor.asmdef │ │ │ └── ResourcesExampleComponentWindow.cs │ │ ├── ResourcesExampleComponent.cs │ │ └── UIComponents.Samples.Resources.asmdef │ ├── Query │ │ ├── Resources │ │ │ ├── QueryExampleComponent.styles.uss │ │ │ ├── QueryExampleComponent.uxml.meta │ │ │ ├── QueryExampleComponent.styles.uss.meta │ │ │ └── QueryExampleComponent.uxml │ │ ├── Editor.meta │ │ ├── Resources.meta │ │ ├── QueryExampleComponent.cs.meta │ │ ├── UIComponents.Samples.Query.asmdef.meta │ │ ├── Editor │ │ │ ├── QueryExampleComponentWindow.cs.meta │ │ │ ├── UIComponents.Samples.Query.Editor.asmdef.meta │ │ │ ├── UIComponents.Samples.Query.Editor.asmdef │ │ │ └── QueryExampleComponentWindow.cs │ │ ├── UIComponents.Samples.Query.asmdef │ │ └── QueryExampleComponent.cs │ ├── Counter.meta │ ├── Query.meta │ ├── Addressables.meta │ ├── Resources.meta │ ├── Addressables │ │ ├── Data.meta │ │ ├── Editor.meta │ │ ├── Data │ │ │ ├── Box.uss.meta │ │ │ ├── AddressablesExampleComponent.uss.meta │ │ │ ├── AddressablesExampleComponent.uxml.meta │ │ │ ├── Box.uss │ │ │ ├── AddressablesExampleComponent.uss │ │ │ └── AddressablesExampleComponent.uxml │ │ ├── AddressablesExampleComponent.cs.meta │ │ ├── Editor │ │ │ ├── AddressablesExampleComponentWindow.cs.meta │ │ │ ├── UIComponents.Samples.Addressables.Editor.asmdef.meta │ │ │ ├── AddressablesExampleComponentWindow.cs │ │ │ └── UIComponents.Samples.Addressables.Editor.asmdef │ │ ├── UIComponents.Samples.Addressables.asmdef.meta │ │ ├── UIComponents.Samples.Addressables.asmdef │ │ └── AddressablesExampleComponent.cs │ ├── Counter │ │ ├── Editor.meta │ │ ├── counter.gif │ │ ├── CounterComponent.cs.meta │ │ ├── CounterService.cs.meta │ │ ├── ICounterService.cs.meta │ │ ├── Editor │ │ │ ├── CounterComponentWindow.cs.meta │ │ │ ├── UIComponents.Samples.Counter.Editor.asmdef.meta │ │ │ ├── UIComponents.Samples.Counter.Editor.asmdef │ │ │ └── CounterComponentWindow.cs │ │ ├── UIComponents.Samples.Counter.asmdef.meta │ │ ├── ICounterService.cs │ │ ├── CounterService.cs │ │ ├── UIComponents.Samples.Counter.asmdef │ │ └── CounterComponent.cs │ ├── EventInterfaces.meta │ ├── EventInterfaces │ │ ├── Editor.meta │ │ ├── Resources.meta │ │ ├── EventInterfaceLog.cs.meta │ │ ├── EventLogService.cs.meta │ │ ├── IEventLogService.cs.meta │ │ ├── EventInterfacesView.cs.meta │ │ ├── Editor │ │ │ ├── EventInterfacesWindow.cs.meta │ │ │ ├── UIComponents.Samples.EventInterfaces.Editor.asmdef.meta │ │ │ ├── UIComponents.Samples.EventInterfaces.Editor.asmdef │ │ │ └── EventInterfacesWindow.cs │ │ ├── Resources │ │ │ ├── EventInterfaceLog.uxml.meta │ │ │ ├── EventInterfacesView.uxml.meta │ │ │ ├── EventInterfaceLog.style.uss.meta │ │ │ ├── EventInterfaceLog.uxml │ │ │ ├── EventInterfaceLog.style.uss │ │ │ └── EventInterfacesView.uxml │ │ ├── UIComponents.Samples.EventInterfaces.asmdef.meta │ │ ├── UIComponents.Samples.EventInterfaces.asmdef │ │ └── IEventLogService.cs │ ├── UxmlTraits │ │ ├── Resources.meta │ │ ├── Editor │ │ │ ├── UxmlTraitsExampleWindow.cs.meta │ │ │ ├── Resources │ │ │ │ ├── UxmlTraitsExampleWindow.style.uss.meta │ │ │ │ ├── UxmlTraitsExampleWindow.uxml.meta │ │ │ │ ├── UxmlTraitsExampleWindow.style.uss │ │ │ │ └── UxmlTraitsExampleWindow.uxml │ │ │ ├── Resources.meta │ │ │ ├── UIComponents.Samples.UxmlTraits.Editor.asmdef.meta │ │ │ ├── UIComponents.Samples.UxmlTraits.Editor.asmdef │ │ │ └── UxmlTraitsExampleWindow.cs │ │ ├── Resources │ │ │ ├── UxmlTraitsExampleComponent.uxml.meta │ │ │ ├── UxmlTraitsExampleComponent.style.uss.meta │ │ │ ├── UxmlTraitsExampleComponent.style.uss │ │ │ └── UxmlTraitsExampleComponent.uxml │ │ ├── Editor.meta │ │ ├── UIComponents.Samples.UxmlTraits.asmdef.meta │ │ ├── UxmlTraitsExampleComponent.cs.meta │ │ └── UIComponents.Samples.UxmlTraits.asmdef │ └── UxmlTraits.meta ├── Samples.meta ├── UIComponents.Tests │ ├── Resources │ │ ├── UIComponentTests │ │ │ ├── TestStylesheet.uss │ │ │ ├── TestStylesheet.uss.meta │ │ │ ├── LayoutAttributeTests.uxml.meta │ │ │ ├── QueryClassAttributeTest.uxml.meta │ │ │ ├── LayoutAttributeTests.uxml │ │ │ └── QueryClassAttributeTest.uxml │ │ └── UIComponentTests.meta │ ├── Addressables │ │ ├── Assets │ │ │ ├── Component.uss │ │ │ ├── Component.uss.meta │ │ │ ├── Component.uxml │ │ │ └── Component.uxml.meta │ │ ├── AddressableAssetResolverTests.cs.meta │ │ ├── UIComponents.Tests.Addressables.asmdef.meta │ │ ├── Assets.meta │ │ └── UIComponents.Tests.Addressables.asmdef │ ├── Editor.meta │ ├── Roslyn.meta │ ├── Resources.meta │ ├── Utilities.meta │ ├── Addressables.meta │ ├── Roslyn │ │ ├── Resources.meta │ │ ├── UxmlNameTests.cs.meta │ │ ├── UxmlTraitTests.cs.meta │ │ ├── ProvideErrorTests.cs.meta │ │ ├── RoslynTestComponent.cs.meta │ │ ├── UxmlNameTestComponent.cs.meta │ │ ├── NestedRoslynTestComponent.cs.meta │ │ ├── RoslynTestVisualElement.cs.meta │ │ ├── Resources │ │ │ ├── RoslynTestComponent.uxml.meta │ │ │ ├── UxmlNameTestComponent.uxml │ │ │ ├── RoslynTestVisualElement.uxml.meta │ │ │ ├── UxmlNameTestComponent.uxml.meta │ │ │ ├── NestedRoslynTestComponent.uxml.meta │ │ │ ├── NestedRoslynTestComponent.uxml │ │ │ ├── RoslynTestVisualElement.uxml │ │ │ └── RoslynTestComponent.uxml │ │ ├── UIComponents.Tests.Roslyn.IntegrationTests.asmdef.meta │ │ ├── UxmlNameTestComponent.cs │ │ ├── NestedRoslynTestComponent.cs │ │ ├── RoslynTestVisualElement.cs │ │ ├── RoslynTestComponent.cs │ │ ├── UxmlNameTests.cs │ │ └── UIComponents.Tests.Roslyn.IntegrationTests.asmdef │ ├── TestBedTests.cs.meta │ ├── DebugLoggerTests.cs.meta │ ├── DependencyTests.cs.meta │ ├── DiContextTests.cs.meta │ ├── Editor │ │ ├── Interfaces.meta │ │ ├── AssetDatabaseAssetResolverTests.cs.meta │ │ ├── UIComponents.Tests.Editor.asmdef.meta │ │ ├── Interfaces │ │ │ ├── UIComponentInterfaceTests.cs.meta │ │ │ ├── InterfacesTestEditorWindow.cs.meta │ │ │ └── InterfacesTestEditorWindow.cs │ │ └── UIComponents.Tests.Editor.asmdef │ ├── UIComponentTests.cs.meta │ ├── AssetResolverTestSuite.cs.meta │ ├── DependencyConsumerTests.cs.meta │ ├── DependencyInjectorTests.cs.meta │ ├── LayoutAttributeTests.cs.meta │ ├── ProvideAttributeTests.cs.meta │ ├── QueryAttributeTests.cs.meta │ ├── RootClassAttributeTests.cs.meta │ ├── Utilities │ │ ├── MockUtilities.cs.meta │ │ └── MockUtilities.cs │ ├── QueryClassAttributeTests.cs.meta │ ├── ResourcesAssetResolverTests.cs.meta │ ├── StylesheetAttributeTests.cs.meta │ ├── UIComponentDependencyTests.cs.meta │ ├── UIComponentNoAttributesTests.cs.meta │ ├── UIComponentEffectAttributeTests.cs.meta │ ├── NSubstitute │ │ ├── castle.core.4.4.1 │ │ │ ├── Castle.Core.dll │ │ │ ├── LICENSE.meta │ │ │ ├── Castle.Core.xml.meta │ │ │ ├── ASL - Apache Software Foundation License.txt.meta │ │ │ └── LICENSE │ │ ├── nsubstitute.4.3.0 │ │ │ ├── NSubstitute.dll │ │ │ └── NSubstitute.xml.meta │ │ ├── castle.core.4.4.1.meta │ │ ├── nsubstitute.4.3.0.meta │ │ ├── system.threading.tasks.extensions.4.5.4 │ │ │ ├── LICENSE.TXT.meta │ │ │ ├── System.Threading.Tasks.Extensions.dll │ │ │ ├── THIRD-PARTY-NOTICES.TXT.meta │ │ │ └── System.Threading.Tasks.Extensions.xml.meta │ │ ├── system.runtime.compilerservices.unsafe.6.0.0 │ │ │ ├── LICENSE.TXT.meta │ │ │ ├── THIRD-PARTY-NOTICES.TXT.meta │ │ │ ├── System.Runtime.CompilerServices.Unsafe.dll │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml.meta │ │ ├── system.threading.tasks.extensions.4.5.4.meta │ │ └── system.runtime.compilerservices.unsafe.6.0.0.meta │ ├── NSubstitute.meta │ ├── UIComponents.Tests.asmdef.meta │ ├── UIComponents.Tests.asmdef │ └── ResourcesAssetResolverTests.cs ├── UIComponents │ ├── Editor.meta │ ├── Testing.meta │ ├── Core │ │ ├── Exceptions.meta │ │ ├── ILogger.cs.meta │ │ ├── Internal.meta │ │ ├── AssemblyInfo.cs.meta │ │ ├── DebugLogger.cs.meta │ │ ├── EventInterfaces.meta │ │ ├── IAssetResolver.cs.meta │ │ ├── QueryAttribute.cs.meta │ │ ├── UIComponent.cs.meta │ │ ├── DependencyInjection.meta │ │ ├── InterfaceModifiers.meta │ │ ├── LayoutAttribute.cs.meta │ │ ├── ProvideAttribute.cs.meta │ │ ├── RootClassAttribute.cs.meta │ │ ├── StylesheetAttribute.cs.meta │ │ ├── UxmlNameAttribute.cs.meta │ │ ├── UxmlTraitAttribute.cs.meta │ │ ├── AssetPrefixAttribute.cs.meta │ │ ├── EventInterfaces │ │ │ ├── IOnClick.cs.meta │ │ │ ├── IOnMouseEnter.cs.meta │ │ │ ├── IOnMouseLeave.cs.meta │ │ │ ├── IOnAttachToPanel.cs.meta │ │ │ ├── IOnDetachFromPanel.cs.meta │ │ │ ├── IOnNavigationMove.cs.meta │ │ │ ├── IOnGeometryChanged.cs.meta │ │ │ ├── IOnClick.cs │ │ │ ├── IOnMouseEnter.cs │ │ │ ├── IOnMouseLeave.cs │ │ │ ├── IOnAttachToPanel.cs │ │ │ ├── IOnNavigationMove.cs │ │ │ ├── IOnDetachFromPanel.cs │ │ │ └── IOnGeometryChanged.cs │ │ ├── Internal │ │ │ ├── TaskExtensions.cs.meta │ │ │ └── TaskExtensions.cs │ │ ├── ResourcesAssetResolver.cs.meta │ │ ├── DependencyInjection │ │ │ ├── DiContext.cs.meta │ │ │ ├── Scope.cs.meta │ │ │ ├── Dependency.cs.meta │ │ │ ├── IDependency.cs.meta │ │ │ ├── DependencyAttribute.cs.meta │ │ │ ├── DependencyConsumer.cs.meta │ │ │ ├── DependencyInjector.cs.meta │ │ │ ├── IDependencyConsumer.cs.meta │ │ │ ├── IDependencyConsumer.cs │ │ │ ├── IDependency.cs │ │ │ └── Scope.cs │ │ ├── UIComponentEffectAttribute.cs.meta │ │ ├── Exceptions │ │ │ ├── MissingProviderException.cs.meta │ │ │ └── MissingProviderException.cs │ │ ├── InterfaceModifiers │ │ │ ├── RegistersEventCallbackAttribute.cs.meta │ │ │ └── RegistersEventCallbackAttribute.cs │ │ ├── UIComponents.asmdef.meta │ │ ├── AssemblyInfo.cs │ │ ├── UIComponents.asmdef │ │ ├── LayoutAttribute.cs │ │ ├── StylesheetAttribute.cs │ │ ├── RootClassAttribute.cs │ │ ├── DebugLogger.cs │ │ ├── UIComponentEffectAttribute.cs │ │ ├── IAssetResolver.cs │ │ └── ILogger.cs │ ├── Testing │ │ ├── TestBed.cs.meta │ │ ├── UIComponents.Testing.asmdef.meta │ │ └── UIComponents.Testing.asmdef │ ├── Editor │ │ ├── AssetDatabaseAssetResolver.cs.meta │ │ ├── UIComponents.Editor.asmdef.meta │ │ ├── UIComponents.Editor.asmdef │ │ └── AssetDatabaseAssetResolver.cs │ ├── Addressables │ │ ├── AddressableAssetResolver.cs.meta │ │ ├── UIComponents.Addressables.asmdef.meta │ │ └── UIComponents.Addressables.asmdef │ ├── Roslyn │ │ ├── UIComponents.Roslyn.Common.dll │ │ ├── UIComponents.Roslyn.Common.pdb │ │ ├── UIComponents.Roslyn.Analyzers.dll │ │ ├── UIComponents.Roslyn.Analyzers.pdb │ │ ├── UIComponents.Roslyn.Generation.dll │ │ ├── UIComponents.Roslyn.Generation.pdb │ │ ├── UIComponents.Roslyn.Analyzers.CodeFixes.dll │ │ ├── UIComponents.Roslyn.Analyzers.CodeFixes.pdb │ │ ├── UIComponents.Roslyn.Analyzers.pdb.meta │ │ ├── UIComponents.Roslyn.Common.pdb.meta │ │ ├── UIComponents.Roslyn.Generation.pdb.meta │ │ └── UIComponents.Roslyn.Analyzers.CodeFixes.pdb.meta │ ├── package.json.meta │ ├── Core.meta │ ├── Roslyn.meta │ └── Addressables.meta ├── UIComponents.Benchmarks.meta ├── UIComponents.Benchmarks │ ├── AssetLoading.meta │ ├── BenchmarkUtils.cs.meta │ ├── UIComponentInitBenchmarks.cs.meta │ ├── UIComponents.Benchmarks.asmdef.meta │ ├── AssetLoading │ │ ├── ResourcesAssetLoadBenchmarks.cs.meta │ │ ├── AddressablesAssetLoadBenchmarks.cs.meta │ │ ├── AssetDatabaseAssetLoadBenchmarks.cs.meta │ │ └── ResourcesAssetLoadBenchmarks.cs │ └── UIComponents.Benchmarks.asmdef ├── Scenes.meta ├── Scenes │ └── SampleScene.unity.meta ├── UIComponents.meta ├── AddressableAssetsData.meta ├── UIComponents.Tests.meta └── AddressableAssetsData │ ├── Windows.meta │ ├── AssetGroups.meta │ ├── DataBuilders.meta │ ├── AssetGroupTemplates.meta │ ├── AssetGroups │ ├── Schemas.meta │ ├── Built In Data.asset.meta │ ├── Default Local Group.asset.meta │ ├── Schemas │ │ ├── Built In Data_PlayerDataGroupSchema.asset.meta │ │ ├── Default Local Group_BundledAssetGroupSchema.asset.meta │ │ ├── Default Local Group_ContentUpdateGroupSchema.asset.meta │ │ ├── Default Local Group_ContentUpdateGroupSchema.asset │ │ └── Built In Data_PlayerDataGroupSchema.asset │ └── Built In Data.asset │ ├── DefaultObject.asset.meta │ ├── AddressableAssetSettings.asset.meta │ ├── DataBuilders │ ├── BuildScriptFastMode.asset.meta │ ├── BuildScriptPackedMode.asset.meta │ ├── BuildScriptVirtualMode.asset.meta │ ├── BuildScriptPackedPlayMode.asset.meta │ ├── BuildScriptFastMode.asset │ ├── BuildScriptPackedMode.asset │ ├── BuildScriptVirtualMode.asset │ └── BuildScriptPackedPlayMode.asset │ ├── AssetGroupTemplates │ └── Packed Assets.asset.meta │ └── DefaultObject.asset ├── Scripts ├── UnityPacker.exe └── ICSharpCode.SharpZipLib.dll ├── README.md.meta ├── ProjectSettings ├── ProjectVersion.txt ├── ClusterInputManager.asset ├── PresetManager.asset ├── XRSettings.asset ├── VersionControlSettings.asset ├── TimeManager.asset ├── VFXManager.asset ├── EditorBuildSettings.asset ├── AudioManager.asset ├── TagManager.asset ├── UnityConnectSettings.asset ├── EditorSettings.asset └── PackageManagerSettings.asset ├── LICENSE.md.meta ├── CHANGELOG.md.meta ├── .github └── workflows │ └── activation.yml ├── .release-it.yml ├── UIElementsSchema └── UIElements.xsd ├── Packages └── manifest.json └── LICENSE.md /UIComponents.Roslyn/.gitignore: -------------------------------------------------------------------------------- 1 | TestResults/ -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/logo.png -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Common.Tests/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources/Margins.uss: -------------------------------------------------------------------------------- 1 | .top-margin { 2 | margin-top: 10px; 3 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/.gitignore: -------------------------------------------------------------------------------- 1 | *.received.cs -------------------------------------------------------------------------------- /Scripts/UnityPacker.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Scripts/UnityPacker.exe -------------------------------------------------------------------------------- /Assets/Samples/Query/Resources/QueryExampleComponent.styles.uss: -------------------------------------------------------------------------------- 1 | Label { 2 | white-space: normal; 3 | } -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bbee86b6569e4a4ebbcd3e6aec9660c6 3 | timeCreated: 1650906850 -------------------------------------------------------------------------------- /Assets/Samples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07d05f74cfc54362826f6dde19935a07 3 | timeCreated: 1651411712 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources/UIComponentTests/TestStylesheet.uss: -------------------------------------------------------------------------------- 1 | Label { 2 | font-size: 20px; 3 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Analyzers/UIComponents.Roslyn.Analyzers/AnalyzerReleases.Unshipped.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Assets/Samples/Counter.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d672b53d036244d0887582cefc94b91f 3 | timeCreated: 1651412026 -------------------------------------------------------------------------------- /Assets/Samples/Query.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e064455a2b9429bbdb906a64c4dd8cd 3 | timeCreated: 1653672211 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/Assets/Component.uss: -------------------------------------------------------------------------------- 1 | Label { 2 | -unity-font-style: bold-and-italic; 3 | } -------------------------------------------------------------------------------- /Assets/Samples/Addressables.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c51c5f6835a64365a8a94f1a9067d059 3 | timeCreated: 1651725976 -------------------------------------------------------------------------------- /Assets/Samples/Query/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1aa1a4dc95a4f549279705f80bfeee1 3 | timeCreated: 1653672570 -------------------------------------------------------------------------------- /Assets/Samples/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4c6d0ccf2314cada8d3d71dde88180b 3 | timeCreated: 1651587057 -------------------------------------------------------------------------------- /Assets/UIComponents/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 071b34d4bb7c4ad8a1e290c2f9275934 3 | timeCreated: 1683647475 -------------------------------------------------------------------------------- /Assets/UIComponents/Testing.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 345fbfb61f404e9882e8ac71da46cb3a 3 | timeCreated: 1659287517 -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec8c0f3f282149c3b49c07156656b802 3 | timeCreated: 1651726288 -------------------------------------------------------------------------------- /Assets/Samples/Counter/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea998f33f6804c67a1a6f1218f538904 3 | timeCreated: 1652334041 -------------------------------------------------------------------------------- /Assets/Samples/Counter/counter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/Samples/Counter/counter.gif -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63234002ff0b45fcad7850058716917e 3 | timeCreated: 1654950218 -------------------------------------------------------------------------------- /Assets/Samples/Query/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0122628124042bab0f570e1ef9905e6 3 | timeCreated: 1653672288 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d1a2fd351cf4ebb896cad8d833e90c4 3 | timeCreated: 1652334189 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adbbfdaf2471428fbb389a0c40beb2aa 3 | timeCreated: 1653203580 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f349175b5b7b4c5c8ebed497cc3be2b7 3 | timeCreated: 1651508715 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fa0ec3161dd4942bd350ee56b45c6cb 3 | timeCreated: 1664686582 -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2022.3.62f1 2 | m_EditorVersionWithRevision: 2022.3.62f1 (4af31df58517) 3 | -------------------------------------------------------------------------------- /Scripts/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Scripts/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4dde519b7494f658350209140f12e55 3 | timeCreated: 1651726512 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9afe23cd96c46d29520f3fdd74c4e72 3 | timeCreated: 1654950228 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9e11f08fdac49edaca51d29d690fdae 3 | timeCreated: 1651587065 -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61170a8836dd4212b6430af44c2727f6 3 | timeCreated: 1668254705 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0900fb2d1b64a23a9fa77bc79ca68fd 3 | timeCreated: 1651396481 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Utilities.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d6a1f5d2ff941c68bdaeaf9ce94d211 3 | timeCreated: 1653665164 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/Exceptions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4020109a5e8a421a87fd0e7af1bd5e20 3 | timeCreated: 1651400145 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/ILogger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6282c0f79c8d4c28ae3fdac4ea925062 3 | timeCreated: 1655476851 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/Internal.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d7b644e67b34055a2cc74a39facef95 3 | timeCreated: 1654703883 -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Data/Box.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e1de5a156244d4dad68fe7b29791ac8 3 | timeCreated: 1653205328 -------------------------------------------------------------------------------- /Assets/Samples/Counter/CounterComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bbc7c362ad8648b7a7124a3be46a982b 3 | timeCreated: 1651412013 -------------------------------------------------------------------------------- /Assets/Samples/Counter/CounterService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fd6ff5ba83a42b9a9c51bd4d65631a7 3 | timeCreated: 1651411954 -------------------------------------------------------------------------------- /Assets/Samples/Counter/ICounterService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 151e283d6918483b9c893ca06cbd3b75 3 | timeCreated: 1651411903 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82cc48f82d2f4492b95c0378ff72707a 3 | timeCreated: 1654950260 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 050b0566f04d4eccb64c1418f0396789 3 | timeCreated: 1651604268 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89f5451d287a4288bca9e8bbff4ec1ce 3 | timeCreated: 1664687963 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/TestBedTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a973a4da1584a8a837794a69608b4bd 3 | timeCreated: 1659288545 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f33c83d4329a48f2bf79e63cb51a7eb9 3 | timeCreated: 1651250117 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DebugLogger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8b7507599c84d69bb19a89b46284346 3 | timeCreated: 1655476922 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecbe3c9add2348dfa2ce23fb47c3ec3d 3 | timeCreated: 1654947601 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/IAssetResolver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37dcedd4fbd04f9c81e36b622a9a3939 3 | timeCreated: 1651250418 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/QueryAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e6ea1797d4c43a3a1d97830c4bbea11 3 | timeCreated: 1653670950 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/UIComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa59b2453c654d3ea98c3fa37f9281ca 3 | timeCreated: 1650806055 -------------------------------------------------------------------------------- /Assets/UIComponents/Testing/TestBed.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9825c726c9ad4f998f208286463f171e 3 | timeCreated: 1659287522 -------------------------------------------------------------------------------- /Assets/Samples/Query/QueryExampleComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd2fd4665a254fc0a066d2062c6d1c07 3 | timeCreated: 1653672227 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55f8c0dac3774ff5b329f24e85b69a86 3 | timeCreated: 1651587141 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources/Margins.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ef230b74d024c058fc938ae450dcc5e 3 | timeCreated: 1651587656 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/AssetLoading.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7dfe7158321d48c89db64b5658f158d5 3 | timeCreated: 1653204699 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/DebugLoggerTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56a887c0a6e4445b974870d49181d117 3 | timeCreated: 1655477552 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/DependencyTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24d92bf65ad5483b86e626918ada5c2f 3 | timeCreated: 1657459166 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/DiContextTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a0fffe4c15e4e5b94fc200928a45c65 3 | timeCreated: 1651517823 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c45a51b4c0d4a5896d8908ddf010e9a 3 | timeCreated: 1654947033 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/UIComponentTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61216936a08d4a80b3c2680263ad2c40 3 | timeCreated: 1655529898 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 190f9900b46d471989f9121d39e5c578 3 | timeCreated: 1655028432 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/InterfaceModifiers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c6c83bed9f74018abc0d9bcd6b7648e 3 | timeCreated: 1669141826 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/LayoutAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1abf6c1dff544826af2529696e73b891 3 | timeCreated: 1650904230 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/ProvideAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f608686be1c4c8eb8ee65b8677e02e2 3 | timeCreated: 1656051537 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/RootClassAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d350b9daf484fab80ffaf4378721d4f 3 | timeCreated: 1656056228 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/StylesheetAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d1451c0ac9249059481f6191cfd298b 3 | timeCreated: 1650903909 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/UxmlNameAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c9fb6b9621c4989915e39dd5001ab37 3 | timeCreated: 1665234605 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/UxmlTraitAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 106d92e54d35475c933c83f478747e9c 3 | timeCreated: 1664579399 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/EventInterfaceLog.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02364a647095489093bae1cef4b15b21 3 | timeCreated: 1654950495 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/EventLogService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a1ef40a26b4439db42b25e098a01737 3 | timeCreated: 1654950569 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/IEventLogService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7252ec17e82b4783bdb2cc5ba34d0c89 3 | timeCreated: 1654950610 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/BenchmarkUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4424bd1c4554e53b5231d7b1c5b80ea 3 | timeCreated: 1653204223 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/AssetResolverTestSuite.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9ab2adebf444c8c8d9e7912f597e51c 3 | timeCreated: 1651508991 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/DependencyConsumerTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b2ead16350643ff8b3cc2d4a8ba401c 3 | timeCreated: 1695317338 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/DependencyInjectorTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bc7b94dc0b543fc868ad5f77a400360 3 | timeCreated: 1651398693 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/LayoutAttributeTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a770a2af28ef4c8d943ef242e43adebe 3 | timeCreated: 1651254594 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/ProvideAttributeTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a08fe9b287ca462298e3636246b053df 3 | timeCreated: 1656052787 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/QueryAttributeTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48ef8894f34841959c3e25adf9eacd7a 3 | timeCreated: 1653671129 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources/UIComponentTests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 479e00d4aade4dfeb0a845cc579a479d 3 | timeCreated: 1651396502 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/RootClassAttributeTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 798e24cea44f4597a7ee238e37ecdcd7 3 | timeCreated: 1656057719 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/UxmlNameTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f21a17c118b34cb69a213df04f10e315 3 | timeCreated: 1665235133 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/UxmlTraitTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa66deeeaceb4489bf0358e0ec8700bb 3 | timeCreated: 1664687874 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Utilities/MockUtilities.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 856acd08dda64649b35358c762cc1795 3 | timeCreated: 1653665174 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/AssetPrefixAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6f9ab71d40f453294d64d17eb37c692 3 | timeCreated: 1651143459 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnClick.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b569025dc42e4a67b078642bb95a13e0 3 | timeCreated: 1654956167 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/Internal/TaskExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f13d2914fbc46ccb67f0d8250306d0d 3 | timeCreated: 1661600716 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/ResourcesAssetResolver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c064eb77703243ba9f453ef15725b46f 3 | timeCreated: 1651260947 -------------------------------------------------------------------------------- /Assets/Samples/Counter/Editor/CounterComponentWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abaceb99a6554382a40770780969e013 3 | timeCreated: 1651412180 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/EventInterfacesView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 480634ee18a04dfbac0510c14c1d710d 3 | timeCreated: 1654950474 -------------------------------------------------------------------------------- /Assets/Samples/Query/Resources/QueryExampleComponent.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f499b0f65470467cac6fe062472ca90a 3 | timeCreated: 1653672370 -------------------------------------------------------------------------------- /Assets/Samples/Query/UIComponents.Samples.Query.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d180e9959e2b4d2580f328c2e6aa239d 3 | timeCreated: 1653672350 -------------------------------------------------------------------------------- /Assets/Samples/Resources/ResourcesExampleComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3f3344852344d60bec21eda45326d3b 3 | timeCreated: 1651587098 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/QueryClassAttributeTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33886f5a3daf4b23b3ab1af4d2f2a424 3 | timeCreated: 1654698279 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/ResourcesAssetResolverTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61ade966c5d64eb0a7b47e9d1fd4f823 3 | timeCreated: 1651397065 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/ProvideErrorTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 592a2fb808d44eb9aa14c0d0b959435c 3 | timeCreated: 1693027892 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/RoslynTestComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b601dc3d75ba4f8a831595d5ca08b830 3 | timeCreated: 1664686919 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/UxmlNameTestComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49129b6601cc4a05bbd28dcb661e6968 3 | timeCreated: 1665235018 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/StylesheetAttributeTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd2da2dad97a4f4cbf9ca71a30505200 3 | timeCreated: 1651256062 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/UIComponentDependencyTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d9313e6db8e4bcab5d43fc66195ad40 3 | timeCreated: 1651258759 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/UIComponentNoAttributesTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67be2999a31d495db333ccc98469fb35 3 | timeCreated: 1651249877 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/DiContext.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb894836e3b14155a8e075f94630141b 3 | timeCreated: 1668277909 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/Scope.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee35760fc2f44b84bff42ccc6226beb4 3 | timeCreated: 1657428101 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnMouseEnter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 463840a4afc14662a9b7027b07137417 3 | timeCreated: 1654954994 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnMouseLeave.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43bef59a4a2d4e0eb8154c83b0410298 3 | timeCreated: 1654954963 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/UIComponentEffectAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66b56fb227644b018488e3ef6f149108 3 | timeCreated: 1656056011 -------------------------------------------------------------------------------- /Assets/UIComponents/Editor/AssetDatabaseAssetResolver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d08b2d12aae1471ab5a6e90032087d6f 3 | timeCreated: 1683647543 -------------------------------------------------------------------------------- /Assets/Samples/Addressables/AddressablesExampleComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57ea6c92c0ca4d3a9145b8cec078d226 3 | timeCreated: 1651726150 -------------------------------------------------------------------------------- /Assets/Samples/Counter/UIComponents.Samples.Counter.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85e613970e1a4b2da36dc72b51d4b4d0 3 | timeCreated: 1652334033 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Editor/EventInterfacesWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb5f0b162bd247c0bcdfda0ccd13a5ae 3 | timeCreated: 1654950300 -------------------------------------------------------------------------------- /Assets/Samples/Query/Editor/QueryExampleComponentWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b53ed73de14469d9223ecc80ef747cf 3 | timeCreated: 1653672626 -------------------------------------------------------------------------------- /Assets/Samples/Resources/UIComponents.Samples.Resources.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af36ccbbcbfb40b09be04c65626bd552 3 | timeCreated: 1652334239 -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/UxmlTraitsExampleWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 513b8538ebab41808269a6395809a6f3 3 | timeCreated: 1668254462 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/UIComponentInitBenchmarks.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04ac610fe1dc458d8eba3ca48a8e3d81 3 | timeCreated: 1653203666 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/UIComponents.Benchmarks.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b5154f0a5ce49eaa9acfbe973208ad1 3 | timeCreated: 1653203590 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/Assets/Component.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa43b772d7a0498c8ead318bf776c944 3 | timeCreated: 1651604513 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/Assets/Component.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/Assets/Component.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6453740713d34b278d06763029e31833 3 | timeCreated: 1651604495 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/NestedRoslynTestComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4978ae45bcd04de392ddb67c18181f3f 3 | timeCreated: 1665920199 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/RoslynTestVisualElement.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db684ad81279471bba626c73e997b5bf 3 | timeCreated: 1664686724 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/UIComponentEffectAttributeTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c834104769f4f68a8fbf39f8d009832 3 | timeCreated: 1656057234 -------------------------------------------------------------------------------- /Assets/UIComponents/Addressables/AddressableAssetResolver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 001725394ff0415aaa8c1d5d53ebe881 3 | timeCreated: 1651603436 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/Dependency.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a90ceddb5c944ba0ae24879761d3405f 3 | timeCreated: 1668278187 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/IDependency.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 284d6ed839bf46a99d40c93dcaca7fcc 3 | timeCreated: 1668324327 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnAttachToPanel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b2c01a4a686483c9c55084cd24d8394 3 | timeCreated: 1654886373 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnDetachFromPanel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 967a3c450b8f42b99c3289277686db4a 3 | timeCreated: 1654947641 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnNavigationMove.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e04f403918934a448a9afc3a71c9b898 3 | timeCreated: 1663609181 -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Common.Tests/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | [assembly: ExcludeFromCodeCoverage] 4 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Data/AddressablesExampleComponent.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f5abc4da50c49b8b1d34cf4fa50850a 3 | timeCreated: 1651726313 -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Data/AddressablesExampleComponent.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9bbd2fb164840019750b795061e4bf2 3 | timeCreated: 1651726302 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Resources/EventInterfaceLog.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3817f2a2478a452fb67591194375c0bb 3 | timeCreated: 1654951216 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Resources/EventInterfacesView.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28b242336cc5413598b73d1de96acf10 3 | timeCreated: 1654950781 -------------------------------------------------------------------------------- /Assets/Samples/Query/Resources/QueryExampleComponent.styles.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24fe3dbd40874e8790ff852f1a4acf80 3 | timeCreated: 1653672751 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Editor/ResourcesExampleComponentWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83e1fd74270642d0aedbf445516dac01 3 | timeCreated: 1651587389 -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Resources/UxmlTraitsExampleComponent.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e00de85ecb3d48a1a94a16ea27b903f6 3 | timeCreated: 1668254715 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor/AssetDatabaseAssetResolverTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 185fb2a2fd5444759ff86e4409c9bd75 3 | timeCreated: 1683647953 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor/UIComponents.Tests.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f545c1b483a247f695a90cf9d21797b9 3 | timeCreated: 1651508726 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/RoslynTestComponent.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 322126056a694bd8a1613ae986766fcb 3 | timeCreated: 1664687987 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/UxmlNameTestComponent.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/DependencyAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bab23e4a76cb47d3addf2615c9826174 3 | timeCreated: 1651088015 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/DependencyConsumer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf339915dc37467db4c9e9eff3f092e0 3 | timeCreated: 1695316641 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/DependencyInjector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23ad8e4406e4467eb6b9e128b874a3bc 3 | timeCreated: 1668276834 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/IDependencyConsumer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d865b31832a14cf1b9fecb9c675c414d 3 | timeCreated: 1668322612 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/Exceptions/MissingProviderException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e404eb9649064697b5de97aef260ce58 3 | timeCreated: 1651400161 -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | [assembly: ExcludeFromCodeCoverage] 4 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Data/Box.uss: -------------------------------------------------------------------------------- 1 | .white-box { 2 | border-radius: 6px; 3 | border-width: 2px; 4 | border-color: white; 5 | padding: 8px; 6 | } -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Editor/AddressablesExampleComponentWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2c0904b38e646a299116bad8dc97329 3 | timeCreated: 1651726542 -------------------------------------------------------------------------------- /Assets/Samples/Addressables/UIComponents.Samples.Addressables.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3784f1f14a0a4923ae912fdf829426a8 3 | timeCreated: 1651725989 -------------------------------------------------------------------------------- /Assets/Samples/Counter/Editor/UIComponents.Samples.Counter.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e2b908c0aba4fdeaa383aa20021e079 3 | timeCreated: 1652334047 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Resources/EventInterfaceLog.style.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79860cdae7ec4968b6d255ccc90d3dfa 3 | timeCreated: 1654954268 -------------------------------------------------------------------------------- /Assets/Samples/Query/Editor/UIComponents.Samples.Query.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5e89eceb4bc42369d3ebcecaae37637 3 | timeCreated: 1653672580 -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Resources/UxmlTraitsExampleComponent.style.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7592860210b46b2888c011794db812a 3 | timeCreated: 1668254864 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/AddressableAssetResolverTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66d0b8d32d7f49998799040b7a9c0bdb 3 | timeCreated: 1651604387 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor/Interfaces/UIComponentInterfaceTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfb9b8aab4b649d4a148a0c5f7c81f71 3 | timeCreated: 1654887088 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources/UIComponentTests/TestStylesheet.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e91f7addc77c493fa99923c5fea3e9fc 3 | timeCreated: 1651685706 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/RoslynTestVisualElement.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80fe848f408a42a196cb75113db5891c 3 | timeCreated: 1664688000 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/UxmlNameTestComponent.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 684ff9157d7145cc94696a56cab792cf 3 | timeCreated: 1665235071 -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Resources/EventInterfaceLog.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/UIComponents.Samples.EventInterfaces.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5833962044a46a297739cc8c0bf6713 3 | timeCreated: 1654950248 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Editor/UIComponents.Samples.Resources.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce4d8580104a46f981b8d4e43b833b89 3 | timeCreated: 1652334244 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources/Components/ResourcesExampleComponent.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47e6e9018b8e4a629f26aa84cc377f56 3 | timeCreated: 1651587151 -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/Resources/UxmlTraitsExampleWindow.style.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8988f3464ca4bd6a0d8218f714f9d87 3 | timeCreated: 1668255479 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/AssetLoading/ResourcesAssetLoadBenchmarks.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 435ef74167644dbdb493d04643296a6a 3 | timeCreated: 1653204711 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/UIComponents.Tests.Addressables.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0529a4b764b4497bb85c0f753468e04 3 | timeCreated: 1651604285 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor/Interfaces/InterfacesTestEditorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 189930fec46840b593ed140af7a30078 3 | timeCreated: 1654947055 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/NestedRoslynTestComponent.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dff04ae38c004a48a2f0cc747ee131b9 3 | timeCreated: 1665920264 -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Common.dll -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Common.pdb -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/VisualElement.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.UIElements 2 | { 3 | public class VisualElement {} 4 | } 5 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Editor/UIComponents.Samples.Addressables.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a1b12f203204352b39ded57d894158f 3 | timeCreated: 1651726523 -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources/Components/ResourcesExampleComponent.style.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9f56c39d2c14b76b078a29f03978a21 3 | timeCreated: 1651587313 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/AssetLoading/AddressablesAssetLoadBenchmarks.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0fa2d43020804262bf80550cc27cf1b3 3 | timeCreated: 1653205196 -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/AssetLoading/AssetDatabaseAssetLoadBenchmarks.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6072666d7d3489fa1e2e47069e88692 3 | timeCreated: 1683647678 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources/UIComponentTests/LayoutAttributeTests.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d17d25a8a782458ebebfbe70fc2a668f 3 | timeCreated: 1651396515 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources/UIComponentTests/QueryClassAttributeTest.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2475572f8d7d4799964aa76cb3c16657 3 | timeCreated: 1654698311 -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/UIComponents.Tests.Roslyn.IntegrationTests.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5e72795186c4fe4accf0e283ae3d567 3 | timeCreated: 1664686594 -------------------------------------------------------------------------------- /Assets/UIComponents/Core/InterfaceModifiers/RegistersEventCallbackAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5499992b46874dda932afc72926b78ae 3 | timeCreated: 1669141836 -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.dll -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.pdb -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Generation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Generation.dll -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Generation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Generation.pdb -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Editor/UIComponents.Samples.EventInterfaces.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09089a91b3d1449c96e9192b3b1bd07d 3 | timeCreated: 1654950280 -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Analyzers/UIComponents.Roslyn.Analyzers.Test/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | [assembly: ExcludeFromCodeCoverage] 4 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/NestedRoslynTestComponent.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/IDependencyConsumer.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.DependencyInjection 2 | { 3 | public interface IDependencyConsumer {} 4 | } 5 | -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.CodeFixes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.CodeFixes.dll -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.CodeFixes.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.CodeFixes.pdb -------------------------------------------------------------------------------- /LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba1d101b094bfc04fa791a9fb17be8de 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/castle.core.4.4.1/Castle.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents.Tests/NSubstitute/castle.core.4.4.1/Castle.Core.dll -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/nsubstitute.4.3.0/NSubstitute.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents.Tests/NSubstitute/nsubstitute.4.3.0/NSubstitute.dll -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66122b545989a2b429027c7a3cdac531 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/UxmlNameTestComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Tests.Roslyn 2 | { 3 | [UxmlName("UxmlNameTest")] 4 | public partial class UxmlNameTestComponent : UIComponent {} 5 | } 6 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Data/AddressablesExampleComponent.uss: -------------------------------------------------------------------------------- 1 | #addressables-example-header { 2 | font-size: 20px; 3 | -unity-font-style: bold; 4 | } 5 | 6 | Label { 7 | white-space: normal; 8 | } 9 | -------------------------------------------------------------------------------- /Assets/Samples/Counter/ICounterService.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Samples.Counter 2 | { 3 | public interface ICounterService 4 | { 5 | void IncrementCount(); 6 | int GetCount(); 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b727164510c1c24b89d1fcc08c75a37 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/SampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fc0d4010bbf28b4594072e72b8655ab 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7fbbc61de24c4e84c91ea086c8b8949d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78171f4924160554ca8bb6e79a8ae93a 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ead3ded4e95d1af4184eb616841af5c1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e82842d3eafe7454f9e389c08d932112 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3afd8061b08c485aa081222127685d8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e319d63ac6ad9a146b50707cde0c179d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b37594ada4fe4f54b8890e5f2454a421 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47b5c7b50ee154c9cabb100776ee51fb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Addressables.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98407459f1efe1449982cdfdaca33828 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/UIComponents.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d593635333b4cae48bac5b5f0b596e90 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/Windows.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f83482ea898817c4dbc153e1e27a4d29 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee4c2f14892001247813412b1cad7c27 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.pdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c7fe814820bfa84f9eafb7d33012087 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Common.pdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2900a41b29c4c5348af0d2bdbac4fc84 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ea5bfacebd838648bef9b58c1d3309a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f97896088639284fa23eca5b043ea72 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41dbae141494944a394a14a3b8a152c9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/castle.core.4.4.1/LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca147ab805bfcc447b1cd4217fb2dacc 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/UIComponents.Tests.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fb25192206bf11499dad7f7fdfccfdf 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents/Editor/UIComponents.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d4b2041e88e9d44099749df0a6ab2d9 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Generation.pdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e22f28bd0c023494c8c828b402e829d1 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36f8328e57c96024abdfec62f3abac32 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f52f5771e0effe48be0ce7096a552ee 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b6bdd7a5e5d53e41a5cf7a9db4da7ee 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Roslyn/UIComponents.Roslyn.Analyzers.CodeFixes.pdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40bb85c22a06d864ba5cecc94ce5c1b8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents/Testing/UIComponents.Testing.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82430d129707d684194a4b7a99734d46 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/UIComponents.Samples.UxmlTraits.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc9803c408ed0408e82066369a18e921 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/castle.core.4.4.1/Castle.Core.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77b8b8bf02409394ea6b54956abefbf5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/nsubstitute.4.3.0/NSubstitute.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cc4987fc10289a4b956fbe7aa50153e 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/castle.core.4.4.1.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb7e9c49b31579040950e4c2909d00f0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/nsubstitute.4.3.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71f046501d9078c40a3e0e0e2b193b4c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Addressables/UIComponents.Addressables.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34063fb90481ae5469861eb4a68e5445 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DefaultObject.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b979b6f08d195014290294e559f381b0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/UIComponents.Samples.UxmlTraits.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2d850ef5b95d4194ba576b8df02eeb0 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("UIComponents.Tests")] 4 | [assembly: InternalsVisibleTo("UIComponents.Tests.Addressables")] 5 | [assembly: InternalsVisibleTo("UIComponents.Benchmarks")] 6 | -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Resources/EventInterfaceLog.style.uss: -------------------------------------------------------------------------------- 1 | #event-scroll-view { 2 | margin: 16px; 3 | padding: 6px; 4 | background-color: darkslategrey; 5 | border-radius: 8px; 6 | } 7 | 8 | #event-scroll-view Label { 9 | color: orange; 10 | } -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.threading.tasks.extensions.4.5.4/LICENSE.TXT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2fe86cb94866fd438416f115ab94eb0 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f579b44f316abdd43a0ccf85ca7cdda4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Built In Data.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e013dae2e0507b74e8786d3b8bf616dd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.runtime.compilerservices.unsafe.6.0.0/LICENSE.TXT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af244993673f2af40a0676e23ee01d07 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.threading.tasks.extensions.4.5.4.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a9e2363501548d44a8e934adbff53da 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.threading.tasks.extensions.4.5.4/System.Threading.Tasks.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents.Tests/NSubstitute/system.threading.tasks.extensions.4.5.4/System.Threading.Tasks.Extensions.dll -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/IDependencyConsumer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace UIComponents.DependencyInjection 4 | { 5 | public interface IDependencyConsumer 6 | { 7 | IEnumerable GetDependencies(); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 558906c04eead23488598244be59d64a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8b268589466ed74fa2da4a5589969f2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/castle.core.4.4.1/ASL - Apache Software Foundation License.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c48cae3cde026b449d731c050a64542 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.runtime.compilerservices.unsafe.6.0.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11df1448b5edf9241bd9421c27364ebc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.threading.tasks.extensions.4.5.4/THIRD-PARTY-NOTICES.TXT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59cf8d64d061b624fa233747ea1a456c 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfb024bc710b3654da901c9a73f7bddd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7cbb803970436e34c9c523bdbf5dbd7a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 393212064e55b854fb1e30c78105e7c9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.runtime.compilerservices.unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfa0108346e686642a331f0a046840c5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: acf9f6f7088bc234a9441d6562e5f6e9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.runtime.compilerservices.unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonisavo/uicomponents/HEAD/Assets/UIComponents.Tests/NSubstitute/system.runtime.compilerservices.unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.threading.tasks.extensions.4.5.4/System.Threading.Tasks.Extensions.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 774cfe26c20c2664fbd96f3b40071263 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/RoslynTestVisualElement.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/test-with-report.sh: -------------------------------------------------------------------------------- 1 | dotnet test --collect:"XPlat Code Coverage" 2 | dotnet ~/.nuget/packages/reportgenerator/5.1.11/tools/net6.0/ReportGenerator.dll "-reports:TestResults/**/coverage.cobertura.xml" "-targetdir:coveragereport" "-reporttypes:Html;Html_Dark" -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fb06c0ecc978f24282a317aab0309d5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/Counter/CounterService.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Samples.Counter 2 | { 3 | public class CounterService : ICounterService 4 | { 5 | private int _count; 6 | 7 | public void IncrementCount() => _count++; 8 | public int GetCount() => _count; 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/system.runtime.compilerservices.unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0757e8b1c3a97654aaccdcb4094fdfbf 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/Resources/RoslynTestComponent.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c8396d722f5daf4c92ea1f979f3cff8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 245e15aea4842084ebd0459c54edbc44 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Resources/UxmlTraitsExampleComponent.style.uss: -------------------------------------------------------------------------------- 1 | #uxml-traits-container { 2 | display: flex; 3 | flex-direction: row; 4 | } 5 | 6 | #uxml-traits-container Label { 7 | -unity-font-style: bold; 8 | } 9 | 10 | #uxml-traits-description-label { 11 | -unity-font-style: italic; 12 | } -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/IDependency.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UIComponents.DependencyInjection 4 | { 5 | public interface IDependency 6 | { 7 | Type GetDependencyType(); 8 | Type GetImplementationType(); 9 | Scope GetScope(); 10 | object CreateInstance(); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/UxmlTraitsExampleComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 986053a716eb4415eb5d0f2b539ca8ea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources/UIComponentTests/LayoutAttributeTests.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnGeometryChanged.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76640e81397231b468fb05b32165f51c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Resources/EventInterfacesView.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources/Components/ResourcesExampleComponent.style.uss: -------------------------------------------------------------------------------- 1 | #resources-example-header { 2 | font-size: 20px; 3 | -unity-font-style: bold; 4 | white-space: normal; 5 | } 6 | 7 | .italic-label-container { 8 | width: 100%; 9 | } 10 | 11 | .italic-label-container Label { 12 | white-space: normal; 13 | -unity-font-style: italic; 14 | } -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Generators/AssetLoad/LayoutDescription.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Roslyn.Generation.Generators.AssetLoad 2 | { 3 | internal readonly struct LayoutDescription 4 | { 5 | public readonly string Path; 6 | 7 | public LayoutDescription(string path) 8 | { 9 | Path = path; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/Resources/UxmlTraitsExampleWindow.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5aa3cf41ac294b7b9820fef35dac3a8 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/NestedRoslynTestComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Tests.Roslyn 2 | { 3 | public partial class NestParentClass 4 | { 5 | [UxmlName("NestedRoslynTest")] 6 | public partial class NestedRoslynTestComponent : UIComponent 7 | { 8 | [UxmlTrait] 9 | public string Trait { get; set; } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/ModuleInitializer.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | namespace UIComponents.Roslyn.Generation.Tests 4 | { 5 | internal class ModuleInitializer 6 | { 7 | [ModuleInitializer] 8 | public static void Initialize() 9 | { 10 | VerifySourceGenerators.Enable(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Utilities/StringUtilities.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Roslyn.Generation.Utilities 2 | { 3 | internal class StringUtilities 4 | { 5 | public static string AddQuotesToString(string str) 6 | { 7 | if (str == null) 8 | return null; 9 | 10 | return $"\"{str}\""; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Generators/AssetLoad/StylesheetDescription.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Roslyn.Generation.Generators.AssetLoad 2 | { 3 | internal readonly struct StylesheetDescription 4 | { 5 | public readonly string Path; 6 | 7 | public StylesheetDescription(string path) 8 | { 9 | Path = path; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/ProvideAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = false)] 7 | public class ProvideAttribute : Attribute 8 | { 9 | public Type? CastFrom { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Roslyn.Generation 2 | { 3 | internal static class Constants 4 | { 5 | public const string ToolName = "UIComponents.Roslyn.Generation"; 6 | public const string Version = "1.0.0-beta.9"; 7 | public const string GeneratedCodeAttribute = "[GeneratedCode(\"" + ToolName + "\", \"" + Version + "\")]"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Assets/Samples/Resources/ResourcesExampleComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents.Samples.Resources 2 | { 3 | /// 4 | /// Assets are loaded from Resources by default. 5 | /// 6 | [Layout("Components/ResourcesExampleComponent")] 7 | [Stylesheet("Components/ResourcesExampleComponent.style")] 8 | [Stylesheet("Margins")] 9 | public partial class ResourcesExampleComponent : UIComponent {} 10 | } 11 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/SyntaxReceivers/ISyntaxReceiverWithTypes.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | using Microsoft.CodeAnalysis.CSharp.Syntax; 3 | using System.Collections.Generic; 4 | 5 | namespace UIComponents.Roslyn.Generation.SyntaxReceivers 6 | { 7 | public interface ISyntaxReceiverWithTypes : ISyntaxReceiver 8 | { 9 | IReadOnlyList GetTypes(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/SampleScene.unity 10 | guid: 9fc0d4010bbf28b4594072e72b8655ab 11 | m_configObjects: 12 | com.unity.addressableassets: {fileID: 11400000, guid: b979b6f08d195014290294e559f381b0, type: 2} 13 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Resources/UxmlTraitsExampleComponent.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/UIComponents.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents", 3 | "rootNamespace": "UIComponents", 4 | "references": [], 5 | "includePlatforms": [], 6 | "excludePlatforms": [], 7 | "allowUnsafeCode": false, 8 | "overrideReferences": false, 9 | "precompiledReferences": [], 10 | "autoReferenced": false, 11 | "defineConstraints": [], 12 | "versionDefines": [], 13 | "noEngineReferences": false 14 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/UxmlTraitAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = false)] 7 | public sealed class UxmlTraitAttribute : Attribute 8 | { 9 | public string? Name { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Assets/UIComponents/Testing/UIComponents.Testing.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Testing", 3 | "rootNamespace": "UIComponents", 4 | "references": [ 5 | "UIComponents" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": false, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Assets/Samples/Query/UIComponents.Samples.Query.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Query", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": false, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/LayoutAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] 7 | public class LayoutAttribute : Attribute 8 | { 9 | public readonly string Path; 10 | 11 | public LayoutAttribute(string path) 12 | { 13 | Path = path; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/UIComponentEffectAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)] 6 | [ExcludeFromCodeCoverage] 7 | public abstract class UIComponentEffectAttribute : Attribute 8 | { 9 | public virtual int Priority { get; set; } = 0; 10 | 11 | public abstract void Apply(UIComponent component); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/Resources/UxmlTraitsExampleWindow.style.uss: -------------------------------------------------------------------------------- 1 | :root { 2 | margin: 2px 8px; 3 | } 4 | 5 | #example-header { 6 | margin-bottom: 10px; 7 | } 8 | 9 | #example-header Label { 10 | white-space: normal; 11 | } 12 | 13 | .example-container { 14 | display: flex; 15 | flex-direction: row; 16 | justify-content: space-between; 17 | padding: 6px 16px; 18 | margin-bottom: 4px; 19 | border-color: aliceblue; 20 | border-radius: 4px; 21 | border-width: 2px; 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Samples/Counter/UIComponents.Samples.Counter.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Counter", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": false, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 1024 20 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/AssetPrefixAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] 7 | public class AssetPrefixAttribute : Attribute 8 | { 9 | public readonly string Path; 10 | 11 | public AssetPrefixAttribute(string path) 12 | { 13 | Path = path; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/StylesheetAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)] 7 | public class StylesheetAttribute : Attribute 8 | { 9 | public readonly string Path; 10 | 11 | public StylesheetAttribute(string path) 12 | { 13 | Path = path; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/UxmlNameAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] 7 | public sealed class UxmlNameAttribute : Attribute 8 | { 9 | public readonly string Name; 10 | 11 | public UxmlNameAttribute(string name) 12 | { 13 | Name = name; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Samples/Resources/UIComponents.Samples.Resources.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Resources", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": false, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/UIComponents.Samples.UxmlTraits.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.UxmlTraits", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": false, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/UIComponents.Samples.EventInterfaces.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.EventInterfaces", 3 | "rootNamespace": "UIComponents", 4 | "references": [ 5 | "UIComponents" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": false, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnClick.cs: -------------------------------------------------------------------------------- 1 | using UIComponents.InterfaceModifiers; 2 | using UnityEngine.UIElements; 3 | 4 | namespace UIComponents 5 | { 6 | /// 7 | /// When implemented by a , 8 | /// a callback for is 9 | /// automatically registered in the UIComponent constructor. 10 | /// 11 | [RegistersEventCallback(typeof(ClickEvent))] 12 | public interface IOnClick 13 | { 14 | void OnClick(ClickEvent evt); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor/Interfaces/InterfacesTestEditorWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine.UIElements; 3 | 4 | namespace UIComponents.Tests.Editor.Interfaces 5 | { 6 | public class InterfacesTestEditorWindow : EditorWindow 7 | { 8 | private void CreateGUI() 9 | { 10 | rootVisualElement.Add(new Label("Hello world")); 11 | } 12 | 13 | public void AddTestComponent(UIComponent component) 14 | { 15 | rootVisualElement.Add(component); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/RoslynTestVisualElement.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | 3 | namespace UIComponents.Tests.Roslyn 4 | { 5 | public partial class RoslynTestVisualElement : VisualElement 6 | { 7 | [UxmlTrait] 8 | public string Description = "None set"; 9 | 10 | [UxmlTrait] 11 | public int Age; 12 | 13 | [UxmlTrait(Name = "timestamp")] 14 | public long UnixTimestamp = -1; 15 | 16 | [UxmlTrait] 17 | public float MusicVolume { get; set; } = 1.0f; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/UIComponents/Editor/UIComponents.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Editor", 3 | "rootNamespace": "UIComponents", 4 | "references": [ 5 | "GUID:d593635333b4cae48bac5b5f0b596e90" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": false, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DefaultObject.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3} 13 | m_Name: DefaultObject 14 | m_EditorClassIdentifier: 15 | m_AddressableAssetSettingsGuid: f579b44f316abdd43a0ccf85ca7cdda4 16 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Properties/PublishProfiles/FolderProfile1.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | Release 8 | Any CPU 9 | ..\Assets\UIComponents\Roslyn 10 | FileSystem 11 | <_TargetId>Folder 12 | netstandard2.0 13 | 14 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnMouseEnter.cs: -------------------------------------------------------------------------------- 1 | using UIComponents.InterfaceModifiers; 2 | using UnityEngine.UIElements; 3 | 4 | namespace UIComponents 5 | { 6 | /// 7 | /// When implemented by a , 8 | /// a callback for is 9 | /// automatically registered in the UIComponent constructor. 10 | /// 11 | [RegistersEventCallback(typeof(MouseEnterEvent))] 12 | public interface IOnMouseEnter 13 | { 14 | void OnMouseEnter(MouseEnterEvent evt); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnMouseLeave.cs: -------------------------------------------------------------------------------- 1 | using UIComponents.InterfaceModifiers; 2 | using UnityEngine.UIElements; 3 | 4 | namespace UIComponents 5 | { 6 | /// 7 | /// When implemented by a , 8 | /// a callback for is 9 | /// automatically registered in the UIComponent constructor. 10 | /// 11 | [RegistersEventCallback(typeof(MouseLeaveEvent))] 12 | public interface IOnMouseLeave 13 | { 14 | void OnMouseLeave(MouseLeaveEvent evt); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Samples/Resources/Resources/Components/ResourcesExampleComponent.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DependencyInjection/Scope.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents 2 | { 3 | /// 4 | /// An enum for dependency scopes. 5 | /// 6 | public enum Scope 7 | { 8 | /// 9 | /// A singleton dependency, which is cached. All consumers receive 10 | /// the same instance. 11 | /// 12 | Singleton, 13 | /// 14 | /// A dependency which is not cached. All consumers receive their 15 | /// own instance. 16 | /// 17 | Transient 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Resources/UIComponentTests/QueryClassAttributeTest.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/workflows/activation.yml: -------------------------------------------------------------------------------- 1 | name: Acquire activation file 2 | on: 3 | workflow_dispatch: {} 4 | jobs: 5 | activation: 6 | name: Request manual activation file 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Request manual activation file 10 | id: getManualLicenseFile 11 | uses: game-ci/unity-request-activation-file@v2 12 | - name: Expose as artifact 13 | uses: actions/upload-artifact@v3 14 | with: 15 | name: ${{ steps.getManualLicenseFile.outputs.filePath }} 16 | path: ${{ steps.getManualLicenseFile.outputs.filePath }} 17 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/UIComponents.Samples.UxmlTraits.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.UxmlTraits.Editor", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents.Samples.UxmlTraits" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": false, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Assets/Samples/Query/Editor/UIComponents.Samples.Query.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Query.Editor", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents", 6 | "UIComponents.Samples.Query" 7 | ], 8 | "includePlatforms": [ 9 | "Editor" 10 | ], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": false, 16 | "defineConstraints": [], 17 | "versionDefines": [], 18 | "noEngineReferences": false 19 | } -------------------------------------------------------------------------------- /Assets/Samples/Counter/Editor/UIComponents.Samples.Counter.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Counter.Editor", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents", 6 | "UIComponents.Samples.Counter" 7 | ], 8 | "includePlatforms": [ 9 | "Editor" 10 | ], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": false, 16 | "defineConstraints": [], 17 | "versionDefines": [], 18 | "noEngineReferences": false 19 | } -------------------------------------------------------------------------------- /Assets/Samples/Query/Resources/QueryExampleComponent.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Assets/Samples/Resources/Editor/UIComponents.Samples.Resources.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Resources.Editor", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents", 6 | "UIComponents.Samples.Resources" 7 | ], 8 | "includePlatforms": [ 9 | "Editor" 10 | ], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": false, 16 | "defineConstraints": [], 17 | "versionDefines": [], 18 | "noEngineReferences": false 19 | } -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnAttachToPanel.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using UIComponents.InterfaceModifiers; 3 | using UnityEngine.UIElements; 4 | 5 | namespace UIComponents 6 | { 7 | /// 8 | /// When implemented by a , 9 | /// a callback for is 10 | /// automatically registered in the UIComponent constructor. 11 | /// 12 | [RegistersEventCallback(typeof(AttachToPanelEvent))] 13 | public interface IOnAttachToPanel 14 | { 15 | void OnAttachToPanel([NotNull] AttachToPanelEvent evt); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Editor/UIComponents.Samples.EventInterfaces.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.EventInterfaces.Editor", 3 | "rootNamespace": "UIComponents", 4 | "references": [ 5 | "UIComponents", 6 | "UIComponents.Samples.EventInterfaces" 7 | ], 8 | "includePlatforms": [ 9 | "Editor" 10 | ], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": false, 16 | "defineConstraints": [], 17 | "versionDefines": [], 18 | "noEngineReferences": false 19 | } -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnNavigationMove.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_2021_3_OR_NEWER 2 | using UIComponents.InterfaceModifiers; 3 | using UnityEngine.UIElements; 4 | 5 | namespace UIComponents 6 | { 7 | /// 8 | /// When implemented by a , 9 | /// a callback for is 10 | /// automatically registered in the UIComponent constructor. 11 | /// 12 | [RegistersEventCallback(typeof(NavigationMoveEvent))] 13 | public interface IOnNavigationMove 14 | { 15 | void OnNavigationMove(NavigationMoveEvent evt); 16 | } 17 | } 18 | #endif 19 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnDetachFromPanel.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using UIComponents.InterfaceModifiers; 3 | using UnityEngine.UIElements; 4 | 5 | namespace UIComponents 6 | { 7 | /// 8 | /// When implemented by a , 9 | /// a callback for is 10 | /// automatically registered in the UIComponent constructor. 11 | /// 12 | [RegistersEventCallback(typeof(DetachFromPanelEvent))] 13 | public interface IOnDetachFromPanel 14 | { 15 | void OnDetachFromPanel([NotNull] DetachFromPanelEvent evt); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/EventInterfaces/IOnGeometryChanged.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using UIComponents.InterfaceModifiers; 3 | using UnityEngine.UIElements; 4 | 5 | namespace UIComponents 6 | { 7 | /// 8 | /// When implemented by a , 9 | /// a callback for is 10 | /// automatically registered in the UIComponent constructor. 11 | /// 12 | [RegistersEventCallback(typeof(GeometryChangedEvent))] 13 | public interface IOnGeometryChanged 14 | { 15 | void OnGeometryChanged([NotNull] GeometryChangedEvent evt); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/QueryAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true, Inherited = false)] 7 | public class QueryAttribute : Attribute 8 | { 9 | public string? Name { get; set; } 10 | public string? Class { get; set; } 11 | 12 | public QueryAttribute(string? uxmlName = null) 13 | { 14 | Name = uxmlName; 15 | } 16 | 17 | public QueryAttribute() {} 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Analyzers/UIComponents.Roslyn.Analyzers.Test/Verifiers/VisualBasicCodeRefactoringVerifier`1+Test.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis.CodeRefactorings; 2 | using Microsoft.CodeAnalysis.Testing.Verifiers; 3 | using Microsoft.CodeAnalysis.VisualBasic.Testing; 4 | 5 | namespace UIComponents.Roslyn.Analyzers.Test 6 | { 7 | public static partial class VisualBasicCodeRefactoringVerifier 8 | where TCodeRefactoring : CodeRefactoringProvider, new() 9 | { 10 | public class Test : VisualBasicCodeRefactoringTest 11 | { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/RoslynTestComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UIComponents.Tests.Roslyn 4 | { 5 | public partial class RoslynTestComponent : UIComponent 6 | { 7 | public enum Greetings 8 | { 9 | Hello, 10 | Hi, 11 | Morning 12 | } 13 | 14 | [UxmlTrait] 15 | public Color TextColor = Color.cyan; 16 | 17 | [UxmlTrait(Name = "time")] 18 | public double CurrentTime; 19 | 20 | [UxmlTrait] 21 | public Greetings Greeting = Greetings.Morning; 22 | 23 | [UxmlTrait] 24 | public bool Enabled = true; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/Internal/TaskExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Runtime.ExceptionServices; 3 | using System.Threading.Tasks; 4 | using UnityEngine.TestTools; 5 | 6 | namespace UIComponents.Internal 7 | { 8 | [ExcludeFromCoverage] 9 | internal static class TaskExtensions 10 | { 11 | public static IEnumerator AsEnumerator(this Task task) 12 | { 13 | while (!task.IsCompleted) 14 | yield return null; 15 | 16 | if (task.IsFaulted) 17 | ExceptionDispatchInfo.Capture(task.Exception!).Throw(); 18 | 19 | yield return null; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Analyzers/UIComponents.Roslyn.Analyzers.Test/Verifiers/VisualBasicAnalyzerVerifier`1+Test.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis.Diagnostics; 2 | using Microsoft.CodeAnalysis.Testing.Verifiers; 3 | using Microsoft.CodeAnalysis.VisualBasic.Testing; 4 | 5 | namespace UIComponents.Roslyn.Analyzers.Test 6 | { 7 | public static partial class VisualBasicAnalyzerVerifier 8 | where TAnalyzer : DiagnosticAnalyzer, new() 9 | { 10 | public class Test : VisualBasicAnalyzerTest 11 | { 12 | public Test() 13 | { 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Data/AddressablesExampleComponent.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} 13 | m_Name: Default Local Group_ContentUpdateGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: 558906c04eead23488598244be59d64a, type: 2} 16 | m_StaticContent: 0 17 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/NSubstitute/castle.core.4.4.1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2004-2016 Castle Project - http://www.castleproject.org/ 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/UxmlNameTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using UnityEngine; 3 | using UnityEngine.UIElements; 4 | 5 | namespace UIComponents.Tests.Roslyn 6 | { 7 | [TestFixture] 8 | public class UxmlNameTests 9 | { 10 | [Test] 11 | public void Generates_Uxml_Factory_For_Name() 12 | { 13 | var layout = Resources.Load("UxmlNameTestComponent"); 14 | 15 | var container = new VisualElement(); 16 | layout.CloneTree(container); 17 | 18 | var testElement = container.Q(); 19 | 20 | Assert.That(testElement, Is.Not.Null); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Analyzers/UIComponents.Roslyn.Analyzers.Test/Verifiers/VisualBasicCodeFixVerifier`2+Test.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis.CodeFixes; 2 | using Microsoft.CodeAnalysis.Diagnostics; 3 | using Microsoft.CodeAnalysis.Testing.Verifiers; 4 | using Microsoft.CodeAnalysis.VisualBasic.Testing; 5 | 6 | namespace UIComponents.Roslyn.Analyzers.Test 7 | { 8 | public static partial class VisualBasicCodeFixVerifier 9 | where TAnalyzer : DiagnosticAnalyzer, new() 10 | where TCodeFix : CodeFixProvider, new() 11 | { 12 | public class Test : VisualBasicCodeFixTest 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/RegistersEventCallbackAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents.InterfaceModifiers 4 | { 5 | [ExcludeFromCodeCoverage] 6 | [AttributeUsage(AttributeTargets.Interface, AllowMultiple = true, Inherited = true)] 7 | public class RegistersEventCallbackAttribute : Attribute 8 | { 9 | public readonly Type EventType; 10 | public readonly string? MethodName; 11 | 12 | public RegistersEventCallbackAttribute(Type eventType, string? methodName = null) 13 | { 14 | EventType = eventType; 15 | MethodName = methodName; 16 | } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/Built In Data_PlayerDataGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: b1487f5d688e4f94f828f879d599dbdc, type: 3} 13 | m_Name: Built In Data_PlayerDataGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: e013dae2e0507b74e8786d3b8bf616dd, type: 2} 16 | m_IncludeResourcesFolders: 1 17 | m_IncludeBuildSettingsScenes: 1 18 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FileSystem 5 | Release 6 | AnyCPU 7 | ../../Assets/UIComponents/Roslyn 8 | false 9 | netstandard2.0 10 | false 11 | <_IsPortable>true 12 | 13 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/Exceptions/MissingProviderException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UIComponents 4 | { 5 | /// 6 | /// Thrown when a dependency does not have a provider. 7 | /// 8 | public sealed class MissingProviderException : Exception 9 | { 10 | /// 11 | /// The dependency type. 12 | /// 13 | public readonly Type DependencyType; 14 | 15 | public MissingProviderException(Type dependencyType) 16 | { 17 | DependencyType = dependencyType; 18 | Message = $"No provider found for {dependencyType.Name}"; 19 | } 20 | 21 | public override string Message { get; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/LayoutAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | using UnityEngine.TestTools; 4 | 5 | namespace UIComponents 6 | { 7 | /// 8 | /// Specifies the path to the .uxml layout file used by a UIComponent. 9 | /// 10 | /// 11 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] 12 | [BaseTypeRequired(typeof(UIComponent))] 13 | [ExcludeFromCoverage] 14 | public sealed class LayoutAttribute : Attribute 15 | { 16 | public readonly string Path; 17 | 18 | public LayoutAttribute(string path) 19 | { 20 | Path = path; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/StylesheetAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | using UnityEngine.TestTools; 4 | 5 | namespace UIComponents 6 | { 7 | /// 8 | /// Specifies the path to a .uss stylesheet file used by a UIComponent. 9 | /// 10 | /// 11 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)] 12 | [BaseTypeRequired(typeof(UIComponent))] 13 | [ExcludeFromCoverage] 14 | public sealed class StylesheetAttribute : Attribute 15 | { 16 | public readonly string Path; 17 | 18 | public StylesheetAttribute(string path) 19 | { 20 | Path = path; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/Editor/EventInterfacesWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace UIComponents.Samples.EventInterfaces.Editor 5 | { 6 | public class EventInterfacesWindow : EditorWindow 7 | { 8 | [MenuItem("UIComponents Examples/Event Interfaces")] 9 | private static void ShowWindow() 10 | { 11 | var window = GetWindow(); 12 | window.titleContent = new GUIContent("Event Interfaces"); 13 | window.minSize = new Vector2(360, 100); 14 | window.Show(); 15 | } 16 | 17 | private void CreateGUI() 18 | { 19 | rootVisualElement.Add(new EventInterfacesView()); 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Common/UIComponents.Roslyn.Common.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | false 6 | true 7 | 1.0.0-beta.9 8 | 9 | 10 | 11 | 12 | all 13 | runtime; build; native; contentfiles; analyzers; buildtransitive 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.release-it.yml: -------------------------------------------------------------------------------- 1 | --- 2 | git: 3 | tagName: "v${version}" 4 | commitMessage: 'chore(release): v${version}' 5 | changelog: npx auto-changelog --breaking-pattern "BREAKING CHANGE:" --stdout --commit-limit false -u --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs 6 | 7 | github: 8 | release: true 9 | assets: ["dist/*.unitypackage"] 10 | 11 | npm: false 12 | 13 | plugins: 14 | "@release-it/conventional-changelog": 15 | preset: angular 16 | infile: CHANGELOG.md 17 | ignoreRecommendedBump: true 18 | 19 | hooks: 20 | after:bump: ["node ./Scripts/update_snapshot_versions.js ${version}", "node ./Scripts/update_package_version.js ${version}", "node ./Scripts/generate_unitypackage.js v${version}"] 21 | -------------------------------------------------------------------------------- /Assets/Samples/Counter/Editor/CounterComponentWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace UIComponents.Samples.Counter.Editor 5 | { 6 | public class CounterComponentWindow : EditorWindow 7 | { 8 | [MenuItem("UIComponents Examples/Counter")] 9 | private static void ShowWindow() 10 | { 11 | var window = GetWindow(); 12 | window.titleContent = new GUIContent("Counter"); 13 | window.Show(); 14 | } 15 | 16 | private void CreateGUI() 17 | { 18 | rootVisualElement.style.minWidth = 120; 19 | rootVisualElement.style.minHeight = 40; 20 | rootVisualElement.Add(new CounterComponent()); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Generators/InterfaceModifiers/RegistersEventCallbackDescription.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace UIComponents.Roslyn.Generation.Generators.InterfaceModifiers 4 | { 5 | public readonly struct RegistersEventCallbackDescription 6 | { 7 | public readonly INamedTypeSymbol EventType; 8 | public readonly INamedTypeSymbol InterfaceType; 9 | public readonly string MethodName; 10 | 11 | public RegistersEventCallbackDescription(INamedTypeSymbol eventType, INamedTypeSymbol interfaceType, string methodName) 12 | { 13 | EventType = eventType; 14 | InterfaceType = interfaceType; 15 | MethodName = methodName; 16 | } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Assets/Samples/Query/Editor/QueryExampleComponentWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace UIComponents.Samples.Query.Editor 5 | { 6 | public class QueryExampleComponentWindow : EditorWindow 7 | { 8 | [MenuItem("UIComponents Examples/Query")] 9 | private static void ShowWindow() 10 | { 11 | var window = GetWindow(); 12 | window.titleContent = new GUIContent("Query"); 13 | window.Show(); 14 | } 15 | 16 | private void CreateGUI() 17 | { 18 | rootVisualElement.style.minWidth = 190; 19 | rootVisualElement.style.minHeight = 40; 20 | rootVisualElement.Add(new QueryExampleComponent()); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/SyntaxReceivers/TypeSyntaxReceiver.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | using Microsoft.CodeAnalysis.CSharp.Syntax; 3 | using System.Collections.Generic; 4 | 5 | namespace UIComponents.Roslyn.Generation.SyntaxReceivers 6 | { 7 | public class TypeSyntaxReceiver : ISyntaxReceiverWithTypes 8 | { 9 | private readonly List _types = 10 | new List(); 11 | 12 | public void OnVisitSyntaxNode(SyntaxNode syntaxNode) 13 | { 14 | if (syntaxNode is TypeDeclarationSyntax typeDeclarationSyntax) 15 | _types.Add(typeDeclarationSyntax); 16 | } 17 | 18 | public IReadOnlyList GetTypes() => _types; 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/RootClassAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | 4 | namespace UIComponents 5 | { 6 | /// 7 | /// Adds a USS class to the root element of a UIComponent. 8 | /// 9 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] 10 | [BaseTypeRequired(typeof(UIComponent))] 11 | public sealed class RootClassAttribute : UIComponentEffectAttribute 12 | { 13 | private readonly string _className; 14 | 15 | public RootClassAttribute(string className) 16 | { 17 | _className = className; 18 | } 19 | 20 | public override void Apply(UIComponent component) 21 | { 22 | component.AddToClassList(_className); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Samples/EventInterfaces/IEventLogService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine.UIElements; 3 | 4 | namespace UIComponents.Samples.EventInterfaces 5 | { 6 | public interface IEventLogService 7 | { 8 | public delegate void OnMessageAddDelegate(string message); 9 | 10 | public delegate void OnMessageChangeDelegate(int index, string newMessage); 11 | 12 | public event OnMessageAddDelegate OnMessageAdd; 13 | 14 | public event OnMessageChangeDelegate OnMessageChange; 15 | 16 | public delegate void OnClearDelegate(); 17 | 18 | public event OnClearDelegate OnClear; 19 | 20 | void Log(EventBase evt); 21 | 22 | void Clear(); 23 | 24 | IReadOnlyList GetMessages(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Roslyn/UIComponents.Tests.Roslyn.IntegrationTests.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Tests.Roslyn.IntegrationTests", 3 | "rootNamespace": "UIComponents.Tests", 4 | "references": [ 5 | "GUID:d593635333b4cae48bac5b5f0b596e90", 6 | "GUID:27619889b8ba8c24980f49ee34dbb44a", 7 | "GUID:0acc523941302664db1f4e527237feb3" 8 | ], 9 | "includePlatforms": [], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": true, 13 | "precompiledReferences": [ 14 | "nunit.framework.dll" 15 | ], 16 | "autoReferenced": false, 17 | "defineConstraints": [ 18 | "UNITY_2020_3_OR_NEWER", 19 | "UNITY_INCLUDE_TESTS" 20 | ], 21 | "versionDefines": [], 22 | "noEngineReferences": false 23 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Generators/Uxml/UxmlFactoryInfo.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | using System.Collections.Generic; 3 | 4 | namespace UIComponents.Roslyn.Generation.Generators.Uxml 5 | { 6 | internal readonly struct UxmlFactoryInfo 7 | { 8 | public readonly string Name; 9 | 10 | public UxmlFactoryInfo(string name) 11 | { 12 | Name = name; 13 | } 14 | 15 | public static UxmlFactoryInfo CreateFromArguments(Dictionary arguments) 16 | { 17 | string name = null; 18 | 19 | if (arguments.TryGetValue("constructor_0", out var nameArg)) 20 | name = nameArg.Value as string; 21 | 22 | return new UxmlFactoryInfo(name); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/SyntaxReceivers/ClassSyntaxReceiver.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | using Microsoft.CodeAnalysis.CSharp.Syntax; 3 | using System.Collections.Generic; 4 | 5 | namespace UIComponents.Roslyn.Generation.SyntaxReceivers 6 | { 7 | public class ClassSyntaxReceiver : ISyntaxReceiverWithTypes 8 | { 9 | private readonly List _classes = 10 | new List(); 11 | 12 | public virtual void OnVisitSyntaxNode(SyntaxNode syntaxNode) 13 | { 14 | if (syntaxNode is ClassDeclarationSyntax classDeclarationSyntax) 15 | _classes.Add(classDeclarationSyntax); 16 | } 17 | 18 | public IReadOnlyList GetTypes() => _classes; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/UIComponents.Benchmarks.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Benchmarks", 3 | "rootNamespace": "UIComponents", 4 | "references": [ 5 | "Unity.PerformanceTesting", 6 | "UnityEngine.TestRunner", 7 | "UnityEditor.TestRunner", 8 | "UIComponents", 9 | "UIComponents.Addressables", 10 | "UIComponents.Editor" 11 | ], 12 | "includePlatforms": [ 13 | "Editor" 14 | ], 15 | "excludePlatforms": [], 16 | "allowUnsafeCode": false, 17 | "overrideReferences": true, 18 | "precompiledReferences": [ 19 | "nunit.framework.dll" 20 | ], 21 | "autoReferenced": false, 22 | "defineConstraints": [ 23 | "UNITY_INCLUDE_TESTS" 24 | ], 25 | "versionDefines": [], 26 | "noEngineReferences": false 27 | } -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Editor/UIComponents.Tests.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Tests.Editor", 3 | "rootNamespace": "UIComponents.Tests", 4 | "references": [ 5 | "UnityEngine.TestRunner", 6 | "UnityEditor.TestRunner", 7 | "UIComponents", 8 | "UIComponents.Tests", 9 | "UIComponents.Testing", 10 | "UIComponents.Editor" 11 | ], 12 | "includePlatforms": [ 13 | "Editor" 14 | ], 15 | "excludePlatforms": [], 16 | "allowUnsafeCode": false, 17 | "overrideReferences": true, 18 | "precompiledReferences": [ 19 | "nunit.framework.dll" 20 | ], 21 | "autoReferenced": false, 22 | "defineConstraints": [ 23 | "UNITY_INCLUDE_TESTS" 24 | ], 25 | "versionDefines": [], 26 | "noEngineReferences": false 27 | } -------------------------------------------------------------------------------- /Assets/UIComponents/Core/DebugLogger.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UIComponents 4 | { 5 | /// 6 | /// The default logger for UIComponents. Uses Debug.Log. 7 | /// 8 | public class DebugLogger : ILogger 9 | { 10 | public void Log(string message, object caller) 11 | { 12 | Debug.LogFormat("[{0}] {1}", caller.GetType().Name, message); 13 | } 14 | 15 | public void LogWarning(string message, object caller) 16 | { 17 | Debug.LogWarningFormat("[{0}] {1}", caller.GetType().Name, message); 18 | } 19 | 20 | public void LogError(string message, object caller) 21 | { 22 | Debug.LogErrorFormat("[{0}] {1}", caller.GetType().Name, message); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/UIComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | using UIComponents.DependencyInjection; 3 | 4 | namespace UIComponents 5 | { 6 | public interface IAssetResolver {} 7 | public class ResourcesAssetResolver : IAssetResolver {} 8 | 9 | public interface ILogger {} 10 | public class DebugLogger : ILogger {} 11 | 12 | [Dependency(typeof(IAssetResolver), typeof(ResourcesAssetResolver))] 13 | [Dependency(typeof(ILogger), typeof(DebugLogger))] 14 | public abstract class UIComponent : VisualElement, IDependencyConsumer 15 | { 16 | protected readonly ILogger? Logger; 17 | 18 | public class UxmlFactory where T : UIComponent {} 19 | 20 | protected virtual void UIC_PopulateProvideFields() {} 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Samples/Resources/Editor/ResourcesExampleComponentWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace UIComponents.Samples.Resources.Editor 5 | { 6 | public class ResourcesExampleComponentWindow : EditorWindow 7 | { 8 | [MenuItem("UIComponents Examples/Loading Assets/Resources")] 9 | private static void ShowWindow() 10 | { 11 | var window = GetWindow(); 12 | window.titleContent = new GUIContent("Loading from Resources"); 13 | window.Show(); 14 | } 15 | 16 | private void CreateGUI() 17 | { 18 | rootVisualElement.style.minWidth = 150; 19 | rootVisualElement.style.minHeight = 40; 20 | rootVisualElement.Add(new ResourcesExampleComponent()); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/UIComponents/Addressables/UIComponents.Addressables.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Addressables", 3 | "rootNamespace": "UIComponents", 4 | "references": [ 5 | "UIComponents", 6 | "Unity.Addressables", 7 | "Unity.ResourceManager" 8 | ], 9 | "includePlatforms": [], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": false, 15 | "defineConstraints": [ 16 | "UICOMPONENTS_ADDRESSABLES_INSTALLED" 17 | ], 18 | "versionDefines": [ 19 | { 20 | "name": "com.unity.addressables", 21 | "expression": "1.18.19", 22 | "define": "UICOMPONENTS_ADDRESSABLES_INSTALLED" 23 | } 24 | ], 25 | "noEngineReferences": false 26 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Generates_Layout_Call.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: LayoutTestComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class LayoutTestComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override Task UIC_StartLayoutLoad() 16 | { 17 | return AssetResolver.LoadAsset("Components/LayoutTestComponent"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Takes_AssetPrefixAttribute_Into_Account.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: LayoutTestComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class LayoutTestComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override Task UIC_StartLayoutLoad() 16 | { 17 | return AssetResolver.LoadAsset("UI/Components/LayoutTestComponent"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Editor/AddressablesExampleComponentWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace UIComponents.Samples.Addressables.Editor 5 | { 6 | public class AddressablesExampleComponentWindow : EditorWindow 7 | { 8 | [MenuItem("UIComponents Examples/Loading Assets/Addressables")] 9 | private static void ShowWindow() 10 | { 11 | var window = GetWindow(); 12 | window.titleContent = new GUIContent("Loading from Addressables"); 13 | window.Show(); 14 | } 15 | 16 | private void CreateGUI() 17 | { 18 | rootVisualElement.style.minWidth = 150; 19 | rootVisualElement.style.minHeight = 40; 20 | rootVisualElement.Add(new AddressablesExampleComponent()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Uses_Base_Class_Attribute.00BaseLayoutComponent.Layout.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: BaseLayoutComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class BaseLayoutComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override Task UIC_StartLayoutLoad() 16 | { 17 | return AssetResolver.LoadAsset("Components/BaseLayoutComponent"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/UIComponents.Tests.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Tests", 3 | "rootNamespace": "UIComponents.Tests", 4 | "references": [ 5 | "UnityEngine.TestRunner", 6 | "UnityEditor.TestRunner", 7 | "UIComponents", 8 | "UIComponents.Testing" 9 | ], 10 | "includePlatforms": [], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": true, 14 | "precompiledReferences": [ 15 | "nunit.framework.dll", 16 | "NSubstitute.dll", 17 | "Castle.Core.dll", 18 | "System.Threading.Tasks.Extensions.dll", 19 | "System.Runtime.CompilerServices.Unsafe.dll" 20 | ], 21 | "autoReferenced": false, 22 | "defineConstraints": [ 23 | "UNITY_INCLUDE_TESTS" 24 | ], 25 | "versionDefines": [], 26 | "noEngineReferences": false 27 | } 28 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Uses_Base_Class_Attribute.02ThirdLayoutComponent.Layout.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: ThirdLayoutComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class ThirdLayoutComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override Task UIC_StartLayoutLoad() 16 | { 17 | return AssetResolver.LoadAsset("Components/BaseLayoutComponent"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Generators/DependencyInjection/ProvideDescription.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace UIComponents.Roslyn.Generation.Generators.DependencyInjection 4 | { 5 | internal readonly struct ProvideDescription 6 | { 7 | public readonly IFieldSymbol Field; 8 | public readonly INamedTypeSymbol CastFromType; 9 | 10 | public ProvideDescription(IFieldSymbol field, INamedTypeSymbol castFromType) 11 | { 12 | Field = field; 13 | CastFromType = castFromType; 14 | } 15 | 16 | public string GetCastFromTypeName(AugmentGenerationContext context) 17 | { 18 | if (CastFromType != null) 19 | return context.GetTypeName(CastFromType); 20 | 21 | return context.GetTypeName(Field.Type); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Allows_Overriding_Base_Class_Attribute.00BaseLayoutComponent.Layout.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: BaseLayoutComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class BaseLayoutComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override Task UIC_StartLayoutLoad() 16 | { 17 | return AssetResolver.LoadAsset("Components/BaseLayoutComponent"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Uses_Base_Class_Attribute.01SuperclassLayoutComponent.Layout.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: SuperclassLayoutComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class SuperclassLayoutComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override Task UIC_StartLayoutLoad() 16 | { 17 | return AssetResolver.LoadAsset("Components/BaseLayoutComponent"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/UIComponents.Samples.Addressables.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Addressables", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents", 6 | "Unity.Addressables", 7 | "UIComponents.Addressables", 8 | "Unity.ResourceManager" 9 | ], 10 | "includePlatforms": [], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": false, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": false, 16 | "defineConstraints": [ 17 | "UICOMPONENTS_ADDRESSABLES_INSTALLED" 18 | ], 19 | "versionDefines": [ 20 | { 21 | "name": "com.unity.addressables", 22 | "expression": "1.0.0", 23 | "define": "UICOMPONENTS_ADDRESSABLES_INSTALLED" 24 | } 25 | ], 26 | "noEngineReferences": false 27 | } -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/ResourcesAssetResolverTests.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using NUnit.Framework; 3 | using UnityEngine.TestTools; 4 | using UnityEngine.UIElements; 5 | 6 | namespace UIComponents.Tests 7 | { 8 | [TestFixture] 9 | public class ResourcesAssetResolverTests : AssetResolverTestSuite 10 | { 11 | [UnityTest] 12 | public IEnumerator Should_Be_Able_To_Load_Existing_Asset() 13 | { 14 | yield return Assert_Loads_Existing_Asset( 15 | "UIComponentTests/LayoutAttributeTests" 16 | ); 17 | } 18 | 19 | [UnityTest] 20 | public IEnumerator Should_Be_Able_To_Tell_If_Asset_Exists() 21 | { 22 | yield return Assert_Tells_If_Asset_Exists( 23 | "UIComponentTests/LayoutAttributeTests" 24 | ); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Allows_Overriding_Base_Class_Attribute.01OverriddenLayoutComponent.Layout.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: OverriddenLayoutComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class OverriddenLayoutComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override Task UIC_StartLayoutLoad() 16 | { 17 | return AssetResolver.LoadAsset("Components/OverriddenLayoutComponent"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/UIComponents.Roslyn.Generation.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | false 6 | true 7 | 1.0.0-beta.9 8 | 9 | 10 | 11 | 12 | all 13 | runtime; build; native; contentfiles; analyzers; buildtransitive 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/InterfaceModifiers/RegistersEventCallbackAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine.TestTools; 3 | 4 | namespace UIComponents.InterfaceModifiers 5 | { 6 | /// 7 | /// When applied to an interface, its inheritors will have code generated for 8 | /// registering an unregistering callbacks for the given Event type. 9 | /// 10 | [AttributeUsage(AttributeTargets.Interface, AllowMultiple = true, Inherited = true)] 11 | [ExcludeFromCoverage] 12 | public sealed class RegistersEventCallbackAttribute : Attribute 13 | { 14 | public readonly Type EventType; 15 | 16 | public readonly string MethodName; 17 | 18 | public RegistersEventCallbackAttribute(Type eventType, string methodName = null) 19 | { 20 | EventType = eventType; 21 | MethodName = methodName; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Resources/DependencyAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace UIComponents 4 | { 5 | public enum Scope 6 | { 7 | Singleton, 8 | Transient 9 | } 10 | 11 | [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple = true)] 12 | [ExcludeFromCodeCoverage] 13 | public class DependencyAttribute : Attribute 14 | { 15 | public readonly Type DependencyType; 16 | 17 | public readonly Type ImplementationType; 18 | 19 | public readonly Scope Scope; 20 | 21 | public DependencyAttribute(Type dependency, Type? provide = null, Scope scope = Scope.Singleton) 22 | { 23 | DependencyType = dependency; 24 | ImplementationType = provide ?? dependency; 25 | Scope = scope; 26 | } 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Assets/UIComponents/Editor/AssetDatabaseAssetResolver.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace UIComponents.Editor 6 | { 7 | /// 8 | /// An IAssetResolver which loads assets with AssetDatabase. 9 | /// 10 | /// 11 | /// 12 | public class AssetDatabaseAssetResolver : IAssetResolver 13 | { 14 | public Task LoadAsset(string assetPath) where T : Object 15 | { 16 | var asset = AssetDatabase.LoadAssetAtPath(assetPath); 17 | 18 | return Task.FromResult(asset); 19 | } 20 | 21 | public Task AssetExists(string assetPath) 22 | { 23 | var asset = AssetDatabase.LoadAssetAtPath(assetPath); 24 | 25 | return Task.FromResult(asset != null); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3} 13 | m_Name: BuildScriptFastMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3} 13 | m_Name: BuildScriptPackedMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Handles_Nested_Types.00ParentClass.FirstNestedComponent.Layout.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: ParentClass.FirstNestedComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class ParentClass 13 | { 14 | public partial class FirstNestedComponent 15 | { 16 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 17 | protected override Task UIC_StartLayoutLoad() 18 | { 19 | return AssetResolver.LoadAsset("Components/FirstNestedComponent"); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bb0e4994b34add1409fd8ccaf4a82de5, type: 3} 13 | m_Name: BuildScriptVirtualMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/LayoutAugmentGeneratorSnapshotTests.It_Handles_Nested_Types.01ParentClass.SecondNestedComponent.Layout.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: ParentClass.SecondNestedComponent.Layout.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | using System.Threading.Tasks; 11 | 12 | public partial class ParentClass 13 | { 14 | private partial class SecondNestedComponent 15 | { 16 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 17 | protected override Task UIC_StartLayoutLoad() 18 | { 19 | return AssetResolver.LoadAsset("Components/SecondNestedComponent"); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3} 13 | m_Name: BuildScriptPackedPlayMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/Editor/UIComponents.Samples.Addressables.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Samples.Addressables.Editor", 3 | "rootNamespace": "UIComponents.Samples", 4 | "references": [ 5 | "UIComponents", 6 | "UIComponents.Samples.Addressables", 7 | "Unity.Addressables", 8 | "Unity.ResourceManager" 9 | ], 10 | "includePlatforms": [ 11 | "Editor" 12 | ], 13 | "excludePlatforms": [], 14 | "allowUnsafeCode": false, 15 | "overrideReferences": false, 16 | "precompiledReferences": [], 17 | "autoReferenced": false, 18 | "defineConstraints": [ 19 | "UICOMPONENTS_ADDRESSABLES_INSTALLED" 20 | ], 21 | "versionDefines": [ 22 | { 23 | "name": "com.unity.addressables", 24 | "expression": "1.0.0", 25 | "define": "UICOMPONENTS_ADDRESSABLES_INSTALLED" 26 | } 27 | ], 28 | "noEngineReferences": false 29 | } -------------------------------------------------------------------------------- /Assets/UIComponents/Core/UIComponentEffectAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | 4 | namespace UIComponents 5 | { 6 | /// 7 | /// An attribute used to apply effects to a . 8 | /// They are applied after the layout and assets have been loaded. 9 | /// Attributes with higher priority are applied first. 10 | /// 11 | [BaseTypeRequired(typeof(UIComponent))] 12 | public abstract class UIComponentEffectAttribute : Attribute, IComparable 13 | { 14 | /// 15 | /// The priority of the effect. Defaults to 0. 16 | /// 17 | public virtual int Priority { get; set; } 18 | 19 | public abstract void Apply(UIComponent component); 20 | 21 | public int CompareTo(UIComponentEffectAttribute other) 22 | { 23 | return other.Priority.CompareTo(Priority); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/Samples/Counter/CounterComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.UIElements; 2 | 3 | namespace UIComponents.Samples.Counter 4 | { 5 | [Dependency(typeof(ICounterService), provide: typeof(CounterService))] 6 | public partial class CounterComponent : UIComponent 7 | { 8 | private readonly ICounterService _counterService; 9 | 10 | private readonly Label _countLabel; 11 | 12 | public CounterComponent() 13 | { 14 | _counterService = Provide(); 15 | 16 | _countLabel = new Label(_counterService.GetCount().ToString()); 17 | Add(_countLabel); 18 | 19 | var incrementButton = new Button(IncrementCount); 20 | incrementButton.text = "Increment"; 21 | Add(incrementButton); 22 | } 23 | 24 | private void IncrementCount() 25 | { 26 | _counterService.IncrementCount(); 27 | _countLabel.text = _counterService.GetCount().ToString(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UIElementsSchema/UIElements.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/UxmlTraitsExampleWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UIElements; 3 | 4 | namespace UIComponents.Samples.UxmlTraits.Editor 5 | { 6 | public class UxmlTraitsExampleWindow : UnityEditor.EditorWindow 7 | { 8 | [UnityEditor.MenuItem("UIComponents Examples/UxmlTraits and UxmlName")] 9 | private static void ShowWindow() 10 | { 11 | var window = GetWindow(); 12 | window.titleContent = new GUIContent("UxmlTraits and UxmlName"); 13 | window.minSize = new Vector2(470, 250); 14 | window.Show(); 15 | } 16 | 17 | private void CreateGUI() 18 | { 19 | var layout = Resources.Load("UxmlTraitsExampleWindow"); 20 | 21 | layout.CloneTree(rootVisualElement); 22 | 23 | var styles = Resources.Load("UxmlTraitsExampleWindow.style"); 24 | 25 | rootVisualElement.styleSheets.Add(styles); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Assets/UIComponents.Benchmarks/AssetLoading/ResourcesAssetLoadBenchmarks.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using Unity.PerformanceTesting; 3 | 4 | namespace UIComponents.Benchmarks.AssetLoading 5 | { 6 | public partial class ResourcesAssetLoadBenchmarks 7 | { 8 | [Layout("Components/ResourcesExampleComponent")] 9 | [Stylesheet("Components/ResourcesExampleComponent.style")] 10 | [Stylesheet("Margins")] 11 | private partial class ComponentWithAssets : UIComponent {} 12 | 13 | [Test, Performance, Version(BenchmarkUtils.Version), Timeout(5000)] 14 | public void InitializeComponentWithWarmCache() 15 | { 16 | BenchmarkUtils.MeasureComponentInitWithWarmCache(); 17 | } 18 | 19 | [Test, Performance, Version(BenchmarkUtils.Version), Timeout(5000)] 20 | public void InitializeComponentWithColdCache() 21 | { 22 | BenchmarkUtils.MeasureComponentInitWithColdCache(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Common/Readers/AttributeReader.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace UIComponents.Roslyn.Common.Readers 4 | { 5 | /// 6 | /// Attribute readers fetch attributes from syntax nodes. 7 | /// 8 | public abstract class AttributeReader 9 | where TSyntaxNode : SyntaxNode 10 | { 11 | protected readonly INamedTypeSymbol AttributeSymbol; 12 | protected readonly SemanticModel SemanticModel; 13 | 14 | public AttributeReader(INamedTypeSymbol attributeSymbol, SemanticModel semanticModel) 15 | { 16 | AttributeSymbol = attributeSymbol; 17 | SemanticModel = semanticModel; 18 | } 19 | 20 | public abstract void Read(TSyntaxNode syntaxNode, TData output); 21 | 22 | protected bool NodeHasDesiredAttribute(AttributeData attributeData) 23 | { 24 | return attributeData.AttributeClass.Equals(AttributeSymbol, SymbolEqualityComparer.Default); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Analyzers/UIComponents.Roslyn.Analyzers/AnalyzerReleases.Shipped.md: -------------------------------------------------------------------------------- 1 | ; Shipped analyzer releases 2 | ; https://github.com/dotnet/roslyn-analyzers/blob/master/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md 3 | 4 | ## Release 1.0.0-beta.8 5 | 6 | ### New Rules 7 | 8 | Rule ID | Category | Severity | Notes 9 | --------|----------|----------|------- 10 | UIC003 | Category | Error | InvalidReadonlyMemberAnalyzer 11 | 12 | ## Release 1.0.0-alpha.6 13 | 14 | ### New Rules 15 | 16 | Rule ID | Category | Severity | Notes 17 | ---------|----------|----------|---------------------------------------- 18 | UIC001 | Core | Error | UIComponentPartialAnalyzer 19 | UIC002 | Core | Warning | UIComponentInternalMethodAnalyzer 20 | UIC101 | Layout | Warning | UIComponentIdenticalStylesheetAnalyzer 21 | UIC102 | Layout | Error | EmptyUxmlNameAnalyzer 22 | UIC103 | Layout | Error | EmptyUxmlTraitNameAnalyzer 23 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Nested_Types.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: BaseClass.ClickHandler.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents.InterfaceModifiers; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class BaseClass 12 | { 13 | private partial class ClickHandler 14 | { 15 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 16 | protected override void UIC_RegisterEventCallbacks() 17 | { 18 | RegisterCallback(OnClick); 19 | } 20 | 21 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 22 | protected override void UIC_UnregisterEventCallbacks() 23 | { 24 | UnregisterCallback(OnClick); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Utilities/TraitTestFixture.cs: -------------------------------------------------------------------------------- 1 | using UIComponents.Roslyn.Generation.Generators.Uxml; 2 | 3 | namespace UIComponents.Roslyn.Generation.Tests.Utilities 4 | { 5 | public class TraitTestFixture 6 | { 7 | public Task Verify_Traits(string fieldTypeName, bool useUnityEngine = false) 8 | { 9 | var fieldTypeNameCap = char.ToUpper(fieldTypeName[0]) + fieldTypeName.Substring(1); 10 | 11 | var source = $@" 12 | using UIComponents; 13 | 14 | public partial class {fieldTypeNameCap}ComponentWithUsing : UIComponent 15 | {{ 16 | [UxmlTrait] 17 | public {fieldTypeName} FieldTrait; 18 | 19 | [UxmlTrait] 20 | public {fieldTypeName} PropertyTrait {{ get; set; }} 21 | 22 | [UxmlTrait] 23 | public {fieldTypeName} PropertyWithoutSetter {{ get; }} 24 | }}"; 25 | if (useUnityEngine) 26 | source = "using UnityEngine;\r\n" + source; 27 | 28 | return GeneratorTester.Verify(source); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/IAssetResolver.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace UIComponents 4 | { 5 | /// 6 | /// An interface for classes whose purpose is to load assets 7 | /// and determine whether they exist. 8 | /// 9 | public interface IAssetResolver 10 | { 11 | /// 12 | /// Loads the asset. 13 | /// 14 | /// Asset path 15 | /// Asset type 16 | /// A task which resolves to the asset object 17 | Task LoadAsset(string assetPath) where T : UnityEngine.Object; 18 | 19 | /// 20 | /// Returns whether the asset exists. 21 | /// 22 | /// Asset path 23 | /// 24 | /// A task which resolves to a boolean, which tells 25 | /// whether the asset exists 26 | /// 27 | Task AssetExists(string assetPath); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Generates_Functions_For_Callbacks.00CallbackHandler.RegistersEventCallbackAttribute.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: CallbackHandler.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents.InterfaceModifiers; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class CallbackHandler 12 | { 13 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 14 | protected override void UIC_RegisterEventCallbacks() 15 | { 16 | RegisterCallback(OnMyEvent); 17 | } 18 | 19 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 20 | protected override void UIC_UnregisterEventCallbacks() 21 | { 22 | UnregisterCallback(OnMyEvent); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Allows_Specifying_Method_Name.00CallbackHandler.RegistersEventCallbackAttribute.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: CallbackHandler.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents.InterfaceModifiers; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class CallbackHandler 12 | { 13 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 14 | protected override void UIC_RegisterEventCallbacks() 15 | { 16 | RegisterCallback(MyEventHappened); 17 | } 18 | 19 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 20 | protected override void UIC_UnregisterEventCallbacks() 21 | { 22 | UnregisterCallback(MyEventHappened); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/QueryAugmentGeneratorSnapshotTests.It_Handles_Lists.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: ListQueryComponent.Query.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using System.Collections.Generic; 8 | using UnityEngine.UIElements; 9 | using UIComponents; 10 | using System.CodeDom.Compiler; 11 | 12 | public partial class ListQueryComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override void UIC_PopulateQueryFields() 16 | { 17 | // elements 18 | var UIC_elementsList = new List(); 19 | this.Query("uxml-name", "class-name").ToList(UIC_elementsList); 20 | if (UIC_elementsList.Count == 0) 21 | Logger.LogError("Query (elements): No instances of VisualElement found", this); 22 | elements = UIC_elementsList; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/QueryAugmentGeneratorSnapshotTests.It_Handles_Null_Arguments.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: NullQueryComponent.Query.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using System.Collections.Generic; 8 | using UnityEngine.UIElements; 9 | using UIComponents; 10 | using System.CodeDom.Compiler; 11 | 12 | public partial class NullQueryComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override void UIC_PopulateQueryFields() 16 | { 17 | // elements 18 | var UIC_elementsList = new List(); 19 | this.Query(null, (string) null).ToList(UIC_elementsList); 20 | if (UIC_elementsList.Count == 0) 21 | Logger.LogError("Query (elements): No instances of VisualElement found", this); 22 | elements = UIC_elementsList; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/DependencyAugmentGeneratorSnapshotTests.It_Allows_Overriding_Scope.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: ConsumerClass.Dependencies.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using UIComponents.DependencyInjection; 9 | using System.Collections.Generic; 10 | using System.CodeDom.Compiler; 11 | using UnityEngine.UIElements; 12 | 13 | public partial class ConsumerClass 14 | { 15 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 16 | private static readonly IDependency[] UIC_Dependencies = new IDependency[] { 17 | UIComponents.DependencyInjection.Dependency.TransientFor() 18 | }; 19 | 20 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 21 | public IEnumerable GetDependencies() 22 | { 23 | return UIC_Dependencies; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Common_Namespaces.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: MyComponent.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using MyLibrary.Generation.EventInterfaces; 9 | using System.CodeDom.Compiler; 10 | using UnityEngine.UIElements; 11 | 12 | namespace MyLibrary.Components 13 | { 14 | public partial class MyComponent 15 | { 16 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 17 | protected override void UIC_RegisterEventCallbacks() 18 | { 19 | RegisterCallback(OnEvent); 20 | } 21 | 22 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 23 | protected override void UIC_UnregisterEventCallbacks() 24 | { 25 | UnregisterCallback(OnEvent); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/UIComponents/Core/ILogger.cs: -------------------------------------------------------------------------------- 1 | namespace UIComponents 2 | { 3 | /// 4 | /// An interface for logging information in UIComponents. 5 | /// 6 | public interface ILogger 7 | { 8 | /// 9 | /// Logs a regular message. 10 | /// 11 | /// Message to log 12 | /// Object which logged this message 13 | void Log(string message, object caller); 14 | 15 | /// 16 | /// Logs a warning. 17 | /// 18 | /// Message to log 19 | /// Object which logged this message 20 | void LogWarning(string message, object caller); 21 | 22 | /// 23 | /// Logs an error. 24 | /// 25 | /// Message to log 26 | /// Object which logged this message 27 | void LogError(string message, object caller); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.addressables": "1.22.3", 4 | "com.unity.ide.rider": "3.0.36", 5 | "com.unity.ide.visualstudio": "2.0.23", 6 | "com.unity.ide.vscode": "1.2.5", 7 | "com.unity.test-framework": "1.1.33", 8 | "com.unity.test-framework.performance": "3.0.0-pre.2", 9 | "com.unity.testtools.codecoverage": "1.2.6", 10 | "com.unity.ugui": "1.0.0", 11 | "com.unity.modules.assetbundle": "1.0.0", 12 | "com.unity.modules.audio": "1.0.0", 13 | "com.unity.modules.imageconversion": "1.0.0", 14 | "com.unity.modules.imgui": "1.0.0", 15 | "com.unity.modules.jsonserialize": "1.0.0", 16 | "com.unity.modules.physics": "1.0.0", 17 | "com.unity.modules.ui": "1.0.0", 18 | "com.unity.modules.uielements": "1.0.0", 19 | "com.unity.modules.unitywebrequest": "1.0.0", 20 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 21 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 22 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 23 | "com.unity.modules.unitywebrequestwww": "1.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Common/Readers/PropertyAttributeReader.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | using Microsoft.CodeAnalysis.CSharp.Syntax; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | 6 | namespace UIComponents.Roslyn.Common.Readers 7 | { 8 | public sealed class PropertyAttributeReader : AttributeReader> 9 | { 10 | public PropertyAttributeReader(INamedTypeSymbol attributeSymbol, SemanticModel semanticModel) : base(attributeSymbol, semanticModel) {} 11 | 12 | public override void Read(PropertyDeclarationSyntax propertySyntax, IList output) 13 | { 14 | var propertySymbol = SemanticModel.GetDeclaredSymbol(propertySyntax) as IPropertySymbol; 15 | 16 | if (propertySymbol.SetMethod == null) 17 | return; 18 | 19 | var propertyAttributes = propertySymbol.GetAttributes(); 20 | 21 | if (propertyAttributes.Any(NodeHasDesiredAttribute)) 22 | output.Add(propertySymbol); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Built In Data.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} 13 | m_Name: Built In Data 14 | m_EditorClassIdentifier: 15 | m_GroupName: Built In Data 16 | m_Data: 17 | m_SerializedData: [] 18 | m_GUID: fd9f01804f5f0f541823591cc90741eb 19 | m_SerializeEntries: 20 | - m_GUID: Resources 21 | m_Address: Resources 22 | m_ReadOnly: 1 23 | m_SerializedLabels: [] 24 | - m_GUID: EditorSceneList 25 | m_Address: EditorSceneList 26 | m_ReadOnly: 1 27 | m_SerializedLabels: [] 28 | m_ReadOnly: 1 29 | m_Settings: {fileID: 11400000, guid: f579b44f316abdd43a0ccf85ca7cdda4, type: 2} 30 | m_SchemaSet: 31 | m_Schemas: 32 | - {fileID: 11400000, guid: 6fb06c0ecc978f24282a317aab0309d5, type: 2} 33 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 0 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 0 30 | m_SerializeInlineMappingsOnOneLine: 1 -------------------------------------------------------------------------------- /Assets/Samples/UxmlTraits/Editor/Resources/UxmlTraitsExampleWindow.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Common/Readers/FieldAttributeReader.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | using Microsoft.CodeAnalysis.CSharp.Syntax; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | 6 | namespace UIComponents.Roslyn.Common.Readers 7 | { 8 | public sealed class FieldAttributeReader : AttributeReader> 9 | { 10 | public FieldAttributeReader(INamedTypeSymbol attributeSymbol, SemanticModel semanticModel) : base(attributeSymbol, semanticModel) {} 11 | 12 | public override void Read(FieldDeclarationSyntax fieldSyntax, IList output) 13 | { 14 | foreach (var variableDeclaration in fieldSyntax.Declaration.Variables) 15 | { 16 | var fieldSymbol = SemanticModel.GetDeclaredSymbol(variableDeclaration) as IFieldSymbol; 17 | 18 | var fieldAttributes = fieldSymbol.GetAttributes(); 19 | 20 | if (fieldAttributes.Any(NodeHasDesiredAttribute)) 21 | output.Add(fieldSymbol); 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Addressables/UIComponents.Tests.Addressables.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UIComponents.Tests.Addressables", 3 | "rootNamespace": "UIComponents", 4 | "references": [ 5 | "UnityEngine.TestRunner", 6 | "UnityEditor.TestRunner", 7 | "UIComponents", 8 | "UIComponents.Tests", 9 | "UIComponents.Addressables", 10 | "Unity.Addressables", 11 | "Unity.ResourceManager", 12 | "UIComponents.Testing" 13 | ], 14 | "includePlatforms": [], 15 | "excludePlatforms": [], 16 | "allowUnsafeCode": false, 17 | "overrideReferences": true, 18 | "precompiledReferences": [ 19 | "nunit.framework.dll" 20 | ], 21 | "autoReferenced": false, 22 | "defineConstraints": [ 23 | "UNITY_INCLUDE_TESTS", 24 | "UICOMPONENTS_ADDRESSABLES_INSTALLED" 25 | ], 26 | "versionDefines": [ 27 | { 28 | "name": "com.unity.addressables", 29 | "expression": "1.18.19", 30 | "define": "UICOMPONENTS_ADDRESSABLES_INSTALLED" 31 | } 32 | ], 33 | "noEngineReferences": false 34 | } -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Interface_Inheritance.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: EventHandler.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents.InterfaceModifiers; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class EventHandler 12 | { 13 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 14 | protected override void UIC_RegisterEventCallbacks() 15 | { 16 | RegisterCallback(OnMyEvent); 17 | RegisterCallback(OnOtherEvent); 18 | } 19 | 20 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 21 | protected override void UIC_UnregisterEventCallbacks() 22 | { 23 | UnregisterCallback(OnMyEvent); 24 | UnregisterCallback(OnOtherEvent); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_EnablePackageDependencies: 1 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 1 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_ConfigSource: 0 29 | m_UserSelectedRegistryName: 30 | m_UserAddingNewScopedRegistry: 0 31 | m_RegistryInfoDraft: 32 | m_Modified: 0 33 | m_ErrorMessage: 34 | m_UserModificationsInstanceId: -824 35 | m_OriginalInstanceId: -826 36 | m_LoadAssets: 0 37 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/DependencyAugmentGeneratorSnapshotTests.It_Allows_Overriding_Assembly_Declarations_With_Class_Declarations.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: ConsumerClass.Dependencies.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using UIComponents.DependencyInjection; 9 | using System.Collections.Generic; 10 | using System.CodeDom.Compiler; 11 | using UnityEngine.UIElements; 12 | 13 | public partial class ConsumerClass 14 | { 15 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 16 | private static readonly IDependency[] UIC_Dependencies = new IDependency[] { 17 | UIComponents.DependencyInjection.Dependency.SingletonFor() 18 | }; 19 | 20 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 21 | public IEnumerable GetDependencies() 22 | { 23 | return UIC_Dependencies; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/UIComponents.Tests/Utilities/MockUtilities.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using NSubstitute; 3 | using UIComponents.DependencyInjection; 4 | using UnityEngine; 5 | using UnityEngine.UIElements; 6 | 7 | namespace UIComponents.Tests.Utilities 8 | { 9 | public static class MockUtilities 10 | { 11 | public static IAssetResolver CreateMockResolver() 12 | { 13 | var resolver = Substitute.For(); 14 | resolver.LoadAsset(Arg.Any()) 15 | .Returns(Task.FromResult(ScriptableObject.CreateInstance())); 16 | resolver.LoadAsset(Arg.Any()) 17 | .Returns(Task.FromResult(ScriptableObject.CreateInstance())); 18 | return resolver; 19 | } 20 | 21 | public static IDependencyConsumer CreateDependencyConsumer(IDependency[] dependencies) 22 | { 23 | var consumer = Substitute.For(); 24 | consumer.GetDependencies().Returns(dependencies); 25 | return consumer; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/Samples/Addressables/AddressablesExampleComponent.cs: -------------------------------------------------------------------------------- 1 | using UIComponents.Addressables; 2 | using UnityEngine; 3 | using UnityEngine.UIElements; 4 | 5 | namespace UIComponents.Samples.Addressables 6 | { 7 | [AssetPrefix("Assets/Samples/Addressables/Data/")] 8 | [Layout("AddressablesExampleComponent.uxml")] 9 | [Stylesheet("AddressablesExampleComponent.uss")] 10 | [Stylesheet("Box.uss")] 11 | [Dependency(typeof(IAssetResolver), provide: typeof(AddressableAssetResolver))] 12 | public partial class AddressablesExampleComponent : UIComponent 13 | { 14 | private readonly Label _loadingLabel; 15 | 16 | public AddressablesExampleComponent() 17 | { 18 | _loadingLabel = new Label("Loading..."); 19 | _loadingLabel.style.alignSelf = Align.Center; 20 | _loadingLabel.style.unityFontStyleAndWeight = FontStyle.Bold; 21 | _loadingLabel.style.fontSize = 50; 22 | Add(_loadingLabel); 23 | } 24 | 25 | public override void OnInit() 26 | { 27 | _loadingLabel.RemoveFromHierarchy(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Does_Not_Generate_For_Abstract_Class.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: CallbackHandler.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents.InterfaceModifiers; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class CallbackHandler 12 | { 13 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 14 | protected override void UIC_RegisterEventCallbacks() 15 | { 16 | RegisterCallback(OnMyEvent); 17 | RegisterCallback(OnMyOtherEvent); 18 | } 19 | 20 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 21 | protected override void UIC_UnregisterEventCallbacks() 22 | { 23 | UnregisterCallback(OnMyEvent); 24 | UnregisterCallback(OnMyOtherEvent); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Joni Savolainen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/QueryAugmentGeneratorSnapshotTests.Does_Not_Generate_If_Used_On_Class_Or_Method.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: InvalidUsageQueryComponent.Query.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UnityEngine.UIElements; 8 | using UIComponents; 9 | using System.Collections.Generic; 10 | using System.CodeDom.Compiler; 11 | 12 | public partial class InvalidUsageQueryComponent 13 | { 14 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 15 | protected override void UIC_PopulateQueryFields() 16 | { 17 | // element 18 | var UIC_elementList = new List(); 19 | this.Query("valid-usage", (string) null).ToList(UIC_elementList); 20 | if (UIC_elementList.Count == 0) 21 | Logger.LogError("Query (element): No instances of VisualElement found", this); 22 | if (UIC_elementList.Count > 0) 23 | element = UIC_elementList[0]; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Nested_Types_And_Namespace.01Tests.OnEventComponent.RegistersEventCallbackAttribute.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: Tests.OnEventComponent.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | namespace UIComponents.Tests.Editor.Interfaces 12 | { 13 | public partial class Tests 14 | { 15 | private partial class OnEventComponent 16 | { 17 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 18 | protected override void UIC_RegisterEventCallbacks() 19 | { 20 | RegisterCallback(OnEvent); 21 | } 22 | 23 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 24 | protected override void UIC_UnregisterEventCallbacks() 25 | { 26 | UnregisterCallback(OnEvent); 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Assets/Samples/Query/QueryExampleComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UIElements; 3 | 4 | namespace UIComponents.Samples.Query 5 | { 6 | [Layout("QueryExampleComponent")] 7 | [Stylesheet("QueryExampleComponent.styles")] 8 | public partial class QueryExampleComponent : UIComponent 9 | { 10 | [Query("my-label")] 11 | private Label _myLabel; 12 | 13 | [Query(Name = "my-foldout")] 14 | private Foldout _myFoldout; 15 | 16 | [Query(Class = "description")] 17 | private Label[] _descriptionLabels; 18 | 19 | [Query] 20 | private VisualElement[] _everything; 21 | 22 | public override void OnInit() 23 | { 24 | _myLabel.text = "This text was set in the component's OnInit function."; 25 | _myFoldout.Add(new Label("This label was added in the component's OnInit function.")); 26 | 27 | foreach (var label in _descriptionLabels) 28 | label.style.color = Color.green; 29 | 30 | foreach (var element in _everything) 31 | element.tooltip = "Everything has this tooltip."; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/QueryAugmentGeneratorSnapshotTests.It_Handles_Common_Namespaces.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: MyComponent.Query.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using MyLibrary.Core.Elements; 9 | using System.Collections.Generic; 10 | using System.CodeDom.Compiler; 11 | using UnityEngine.UIElements; 12 | 13 | namespace MyLibrary.GUI 14 | { 15 | public partial class MyComponent 16 | { 17 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 18 | protected override void UIC_PopulateQueryFields() 19 | { 20 | // element 21 | var UIC_elementList = new List(); 22 | this.Query(null, (string) null).ToList(UIC_elementList); 23 | if (UIC_elementList.Count == 0) 24 | Logger.LogError("Query (element): No instances of MyElement found", this); 25 | if (UIC_elementList.Count > 0) 26 | element = UIC_elementList[0]; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/UxmlAugmentGeneratorSnapshotTests.Generates_UxmlFactory_With_UxmlName.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: MyUxmlNameAttributeComponent.Uxml.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class MyUxmlNameAttributeComponent 12 | { 13 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 14 | public new partial class UxmlFactory : UxmlFactory 15 | { 16 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 17 | public override string uxmlName 18 | { 19 | get { return "MyUxmlNameAttribute"; } 20 | } 21 | 22 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 23 | public override string uxmlQualifiedName 24 | { 25 | get { return uxmlNamespace + "." + uxmlName; } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Utilities/WithinNamespaceScope.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | 4 | namespace UIComponents.Roslyn.Generation.Utilities 5 | { 6 | /// 7 | /// A scope for StringBuilders, where the output will be written 8 | /// inside a namespace block. 9 | /// 10 | internal class WithinNamespaceScope : IDisposable 11 | { 12 | private readonly bool _hasNamespace; 13 | private readonly StringBuilder _stringBuilder; 14 | 15 | public WithinNamespaceScope(string fullNamespace, StringBuilder stringBuilder) 16 | { 17 | _stringBuilder = stringBuilder; 18 | 19 | _hasNamespace = !string.IsNullOrEmpty(fullNamespace); 20 | 21 | if (_hasNamespace) 22 | { 23 | stringBuilder 24 | .Append("namespace ") 25 | .Append(fullNamespace) 26 | .AppendLine("\n{"); 27 | } 28 | } 29 | 30 | public void Dispose() 31 | { 32 | if (_hasNamespace) 33 | _stringBuilder.AppendLine("}"); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation/Utilities/StringBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace UIComponents.Roslyn.Generation.Utilities 4 | { 5 | public static class StringBuilderExtensions 6 | { 7 | public static StringBuilder AppendPadding(this StringBuilder stringBuilder, uint tabs = 1) 8 | { 9 | for (var i = 0; i < tabs; i++) 10 | stringBuilder.Append(" "); 11 | 12 | return stringBuilder; 13 | } 14 | 15 | public static StringBuilder AppendCodeGeneratedAttribute(this StringBuilder stringBuilder) 16 | { 17 | return stringBuilder.AppendLine(Constants.GeneratedCodeAttribute); 18 | } 19 | 20 | public static StringBuilder AppendWithPadding(this StringBuilder stringBuilder, string text, uint tabs = 1) 21 | { 22 | return stringBuilder.AppendPadding(tabs).Append(text); 23 | } 24 | 25 | public static StringBuilder AppendLineWithPadding(this StringBuilder stringBuilder, string text, uint tabs = 1) 26 | { 27 | return stringBuilder.AppendPadding(tabs).AppendLine(text); 28 | } 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Allows_Specifying_Method_Name.01OtherCallbackHandler.RegistersEventCallbackAttribute.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: OtherCallbackHandler.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents.InterfaceModifiers; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class OtherCallbackHandler 12 | { 13 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 14 | protected override void UIC_RegisterEventCallbacks() 15 | { 16 | RegisterCallback(MyEventHappened); 17 | RegisterCallback(Callback); 18 | } 19 | 20 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 21 | protected override void UIC_UnregisterEventCallbacks() 22 | { 23 | UnregisterCallback(MyEventHappened); 24 | UnregisterCallback(Callback); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Handles_Nested_Types_And_Namespace.00Tests.OnCallbackComponent.RegistersEventCallbackAttribute.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: Tests.OnCallbackComponent.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | namespace UIComponents.Tests.Editor.Interfaces 12 | { 13 | public partial class Tests 14 | { 15 | private partial class OnCallbackComponent 16 | { 17 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 18 | protected override void UIC_RegisterEventCallbacks() 19 | { 20 | RegisterCallback(OnCallback); 21 | } 22 | 23 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 24 | protected override void UIC_UnregisterEventCallbacks() 25 | { 26 | UnregisterCallback(OnCallback); 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UIComponents.Roslyn/UIComponents.Roslyn.Generation.Tests/Snapshots/RegistersEventCallbackGeneratorSnapshotTests.It_Generates_Functions_For_Callbacks.01OtherCallbackHandler.RegistersEventCallbackAttribute.g.verified.cs: -------------------------------------------------------------------------------- 1 | //HintName: OtherCallbackHandler.RegistersEventCallbackAttribute.g.cs 2 | // 3 | // This file has been generated automatically by UIComponents.Roslyn. 4 | // Do not attempt to modify it. Any changes will be overridden during compilation. 5 | // 6 | 7 | using UIComponents.InterfaceModifiers; 8 | using System.CodeDom.Compiler; 9 | using UnityEngine.UIElements; 10 | 11 | public partial class OtherCallbackHandler 12 | { 13 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 14 | protected override void UIC_RegisterEventCallbacks() 15 | { 16 | RegisterCallback(OnMyEvent); 17 | RegisterCallback(OnMyOtherEvent); 18 | } 19 | 20 | [GeneratedCode("UIComponents.Roslyn.Generation", "1.0.0-beta.9")] 21 | protected override void UIC_UnregisterEventCallbacks() 22 | { 23 | UnregisterCallback(OnMyEvent); 24 | UnregisterCallback(OnMyOtherEvent); 25 | } 26 | } 27 | --------------------------------------------------------------------------------