diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000..af9ff34b
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,126 @@
+###############################
+# Core EditorConfig Options #
+###############################
+# All files
+[*]
+indent_style = space
+# Code files
+[*.{cs,csx,vb,vbx}]
+indent_size = 4
+insert_final_newline = false
+charset = utf-8-bom
+###############################
+# .NET Coding Conventions #
+###############################
+[*.{cs,vb}]
+# Organize usings
+dotnet_sort_system_directives_first = true
+# this. preferences
+dotnet_style_qualification_for_field = false:silent
+dotnet_style_qualification_for_property = false:silent
+dotnet_style_qualification_for_method = false:silent
+dotnet_style_qualification_for_event = false:silent
+# Language keywords vs BCL types preferences
+dotnet_style_predefined_type_for_locals_parameters_members = true:silent
+dotnet_style_predefined_type_for_member_access = true:silent
+# Parentheses preferences
+dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
+dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
+# Modifier preferences
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
+dotnet_style_readonly_field = true:suggestion
+# Expression-level preferences
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
+dotnet_style_prefer_auto_properties = true:silent
+dotnet_style_prefer_conditional_expression_over_assignment = true:silent
+dotnet_style_prefer_conditional_expression_over_return = true:silent
+###############################
+# Naming Conventions #
+###############################
+# Style Definitions
+dotnet_naming_style.camel_case_style.capitalization = camel_case
+# Use CamelCase for constant fields
+dotnet_naming_rule.constant_fields_should_be_camel_case.severity = suggestion
+dotnet_naming_rule.constant_fields_should_be_camel_case.symbols = constant_fields
+dotnet_naming_rule.constant_fields_should_be_camel_case.style = camel_case_style
+dotnet_naming_symbols.constant_fields.applicable_kinds = field
+dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
+dotnet_naming_symbols.constant_fields.required_modifiers = const
+###############################
+# C# Coding Conventions #
+###############################
+[*.cs]
+# var preferences
+csharp_style_var_for_built_in_types = true:silent
+csharp_style_var_when_type_is_apparent = true:silent
+csharp_style_var_elsewhere = true:silent
+# Expression-bodied members
+csharp_style_expression_bodied_methods = false:silent
+csharp_style_expression_bodied_constructors = false:silent
+csharp_style_expression_bodied_operators = false:silent
+csharp_style_expression_bodied_properties = true:silent
+csharp_style_expression_bodied_indexers = true:silent
+csharp_style_expression_bodied_accessors = true:silent
+# Pattern matching preferences
+csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
+csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
+# Null-checking preferences
+csharp_style_throw_expression = true:suggestion
+csharp_style_conditional_delegate_call = true:suggestion
+# Modifier preferences
+csharp_preferred_modifier_order = private,protected,internal,public,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
+# Expression-level preferences
+csharp_prefer_braces = true:silent
+csharp_style_deconstructed_variable_declaration = true:suggestion
+csharp_prefer_simple_default_expression = true:suggestion
+csharp_style_pattern_local_over_anonymous_function = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
+###############################
+# C# Formatting Rules #
+###############################
+# New line preferences
+csharp_new_line_before_open_brace = all
+csharp_new_line_before_else = true
+csharp_new_line_before_catch = true
+csharp_new_line_before_finally = true
+csharp_new_line_before_members_in_object_initializers = true
+csharp_new_line_before_members_in_anonymous_types = true
+csharp_new_line_between_query_expression_clauses = true
+# Indentation preferences
+csharp_indent_case_contents = true
+csharp_indent_switch_labels = true
+csharp_indent_labels = flush_left
+# Space preferences
+csharp_space_after_cast = false
+csharp_space_after_keywords_in_control_flow_statements = true
+csharp_space_between_method_call_parameter_list_parentheses = false
+csharp_space_between_method_declaration_parameter_list_parentheses = false
+csharp_space_between_parentheses = false
+csharp_space_before_colon_in_inheritance_clause = true
+csharp_space_after_colon_in_inheritance_clause = true
+csharp_space_around_binary_operators = before_and_after
+csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
+csharp_space_between_method_call_name_and_opening_parenthesis = false
+csharp_space_between_method_call_empty_parameter_list_parentheses = false
+# Wrapping preferences
+csharp_preserve_single_line_statements = true
+csharp_preserve_single_line_blocks = true
+
+dotnet_diagnostic.IDE0090.severity = silent
+
+###############################
+# VB Coding Conventions #
+###############################
+
+[*.vb]
+# Modifier preferences
+visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion
diff --git a/Assets/Editor Toolbox/CHANGELOG.md b/Assets/Editor Toolbox/CHANGELOG.md
index c07722e0..8680c09f 100644
--- a/Assets/Editor Toolbox/CHANGELOG.md
+++ b/Assets/Editor Toolbox/CHANGELOG.md
@@ -1,3 +1,21 @@
+## 0.11.1 [08.05.2022]
+
+### Added:
+- ReferencePicker for properties with the [SerializeReference] attribute
+- TypeField - dedicated and independent type picker
+- SerializedDirectory
+- .editorconfig for the sample project
+
+### Changed:
+- New sample classes & general improvements to the SampleScene
+- Renamed 'Scripts' directory to 'Runtime'
+- Path serialization in the SerializedScene class
+- NewLabel & HideLabel attributes now can be combined with any other attributes
+- Performance improvements related to types caching
+- Fix drawing FormattedNumber within vertical groups
+- Fix drawing tooltips [TooltipAttribute]
+- Fix drawing AssetPreview
+
## 0.10.9 [02.03.2022]
### Added:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/AudioImporter Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/AudioImporter Icon.png.meta
deleted file mode 100644
index 31bdbb36..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/AudioImporter Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: ae1f12b433e81f44fbb1d21847810a49
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Material Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/Material Icon.png.meta
deleted file mode 100644
index b7ee535c..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Material Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: 1d71361930da3bc40a6e31097daf97e1
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Mesh Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/Mesh Icon.png.meta
deleted file mode 100644
index 09bc6d5e..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Mesh Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: ca2ff7d64fd4a2a469b445cd07005538
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Prefab Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/Prefab Icon.png.meta
deleted file mode 100644
index 9d1393ad..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Prefab Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: ac0d89f30426603488c8db8a86ab9861
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/PrefabModel Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/PrefabModel Icon.png.meta
deleted file mode 100644
index 12aee3c5..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/PrefabModel Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: d24774c462a41f14c9d6e7e13f371ab9
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/SceneAsset Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/SceneAsset Icon.png.meta
deleted file mode 100644
index 7a7d7ca0..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/SceneAsset Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: 20665ef8fafc05f4cb2e71502884a0b7
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Shader Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/Shader Icon.png.meta
deleted file mode 100644
index 5cd4e487..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Shader Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: 904349cb6c97417499aa097e0b5dd3a6
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Sprite Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/Sprite Icon.png.meta
deleted file mode 100644
index 5c924cde..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Sprite Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: b464f3e13fd5d97439a5b85dd353cde8
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/TextMesh Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/TextMesh Icon.png.meta
deleted file mode 100644
index dc857134..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/TextMesh Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: ac9d86076d39cac45ade86ec37d1e068
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Texture Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/Texture Icon.png.meta
deleted file mode 100644
index 61f682ec..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Texture Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: 06d8a123e01d2ff44a2af3a1a35564cb
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/cs Script Icon.png.meta b/Assets/Editor Toolbox/Editor Resources/Folder Icons/cs Script Icon.png.meta
deleted file mode 100644
index 001ca92d..00000000
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/cs Script Icon.png.meta
+++ /dev/null
@@ -1,88 +0,0 @@
-fileFormatVersion: 2
-guid: d5f5f953f8e2fd549b269b884c145d2c
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Regular/AssetPreviewAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Regular/AssetPreviewAttributeDrawer.cs
index f1fe40f1..1424fb9a 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Regular/AssetPreviewAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Regular/AssetPreviewAttributeDrawer.cs
@@ -56,8 +56,9 @@ private void DrawAssetPreview(Rect rect, Texture2D previewTexture)
protected override float GetPropertyHeightSafe(SerializedProperty property, GUIContent label)
{
- //return native height
- if (!property.objectReferenceValue)
+ var target = GetValidTarget(property.objectReferenceValue);
+ var previewTexture = AssetPreview.GetAssetPreview(target);
+ if (previewTexture == null)
{
return base.GetPropertyHeightSafe(property, label);
}
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Regular/FormattedNumberAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Regular/FormattedNumberAttributeDrawer.cs
index 164576bb..64bbecae 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Regular/FormattedNumberAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Regular/FormattedNumberAttributeDrawer.cs
@@ -6,6 +6,8 @@
namespace Toolbox.Editor.Drawers
{
+ using Toolbox.Editor.Internal;
+
[CustomPropertyDrawer(typeof(FormattedNumberAttribute))]
public class FormattedNumberAttributeDrawer : PropertyDrawerBase
{
@@ -27,7 +29,7 @@ private bool IsControlEditing(string propertyKey)
return EditorGUIUtility.editingTextField && GUI.GetNameOfFocusedControl() == propertyKey;
}
- private Single GetSingle(SerializedProperty property)
+ private float GetSingle(SerializedProperty property)
{
return property.propertyType == SerializedPropertyType.Integer
? property.intValue
@@ -53,7 +55,11 @@ protected override void OnGUISafe(Rect position, SerializedProperty property, GU
}
else
{
+#if UNITY_2019_2_OR_NEWER
position.xMin += EditorGUIUtility.labelWidth + EditorGUIUtility.standardVerticalSpacing;
+#else
+ position.xMin += EditorGUIUtility.labelWidth;
+#endif
}
var targetAttribute = attribute as FormattedNumberAttribute;
@@ -62,7 +68,10 @@ protected override void OnGUISafe(Rect position, SerializedProperty property, GU
try
{
- EditorGUI.TextField(position, single.ToString(format, formatInfo));
+ using (new ZeroIndentScope())
+ {
+ EditorGUI.TextField(position, single.ToString(format, formatInfo));
+ }
}
catch (FormatException)
{
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Regular/HideLabelAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Regular/HideLabelAttributeDrawer.cs
index f9317dac..84d49a56 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Regular/HideLabelAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Regular/HideLabelAttributeDrawer.cs
@@ -1,9 +1,11 @@
-using UnityEditor;
+using System;
+
+using UnityEditor;
using UnityEngine;
namespace Toolbox.Editor.Drawers
{
- [CustomPropertyDrawer(typeof(HideLabelAttribute))]
+ [Obsolete("For now, HideLabelAttribute is handled internally by the ToolboxPropertyHandler.")]
public class HideLabelAttributeDrawer : PropertyDrawerBase
{
protected override float GetPropertyHeightSafe(SerializedProperty property, GUIContent label)
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Regular/NewLabelAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Regular/NewLabelAttributeDrawer.cs
index 9bd1ecda..d2e9ed04 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Regular/NewLabelAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Regular/NewLabelAttributeDrawer.cs
@@ -1,9 +1,11 @@
-using UnityEditor;
+using System;
+
+using UnityEditor;
using UnityEngine;
namespace Toolbox.Editor.Drawers
{
- [CustomPropertyDrawer(typeof(NewLabelAttribute))]
+ [Obsolete("For now, NewLabelAttribute is handled internally by the ToolboxPropertyHandler.")]
public class NewLabelAttributeDrawer : PropertyDrawerBase
{
protected override float GetPropertyHeightSafe(SerializedProperty property, GUIContent label)
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Regular/SerializedTypeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Regular/SerializedTypeDrawer.cs
index 2996059c..963d20a1 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Regular/SerializedTypeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Regular/SerializedTypeDrawer.cs
@@ -1,5 +1,4 @@
using System;
-using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
@@ -12,55 +11,10 @@ namespace Toolbox.Editor.Drawers
[CustomPropertyDrawer(typeof(SerializedType))]
public sealed class SerializedTypeDrawer : PropertyDrawerBase
{
- ///
- /// Dictionary used to store all previously filtered types matched to the targt attribute.
- ///
- private readonly static Dictionary> cachedfilteredTypes = new Dictionary>();
-
+ private static readonly TypeConstraintContext sharedConstraint = new TypeConstraintStandard();
+ private static readonly TypeAppearanceContext sharedAppearance = new TypeAppearanceContext(sharedConstraint, TypeGrouping.None, true);
+ private static readonly TypeField typeField = new TypeField(sharedConstraint, sharedAppearance);
- ///
- /// Creates formatted type name depending on value.
- ///
- /// Type to display.
- /// Format grouping type.
- private static string FormatGroupedTypeName(Type type, ClassGrouping grouping)
- {
- var name = type.FullName;
- switch (grouping)
- {
- default:
- case ClassGrouping.None:
- return name;
-
- case ClassGrouping.ByNamespace:
- return name.Replace('.', '/');
-
- case ClassGrouping.ByNamespaceFlat:
- var lastPeriodIndex = name.LastIndexOf('.');
- if (lastPeriodIndex != -1)
- {
- name = name.Substring(0, lastPeriodIndex) + "/" + name.Substring(lastPeriodIndex + 1);
- }
- return name;
-
- case ClassGrouping.ByAddComponentMenu:
- var addComponentMenuAttributes = type.GetCustomAttributes(typeof(AddComponentMenu), false);
- if (addComponentMenuAttributes.Length == 1)
- {
- return ((AddComponentMenu)addComponentMenuAttributes[0]).componentMenu;
- }
-
- return "Scripts/" + type.FullName.Replace('.', '/');
- }
- }
-
- ///
- /// Returns valid equivalent of the referenced .
- ///
- private static string GetClassReferencValue(int selectedType, List types)
- {
- return selectedType > 0 ? SerializedType.GetClassReference(types[selectedType - 1]) : string.Empty;
- }
private bool IsDefaultField(TypeConstraintAttribute attribute)
{
@@ -88,28 +42,28 @@ private TypeConstraintAttribute GetVerifiedAttribute(TypeConstraintAttribute att
///
private TypeConstraintAttribute GetDefaultConstraint()
{
- return new ClassExtendsAttribute()
+ return new ClassExtendsAttribute(typeof(object))
{
AddTextSearchField = true
};
}
- ///
- /// Returns all s associated to the given constraint.
- ///
- private List GetFilteredTypes(TypeConstraintAttribute attribute)
+ private void UpdateConstraint(TypeConstraintAttribute attribute)
{
- var hashCode = attribute.GetHashCode();
- if (cachedfilteredTypes.TryGetValue(hashCode, out var filteredTypes))
- {
- return filteredTypes;
- }
- else
+ sharedConstraint.ApplyTarget(attribute.AssemblyType);
+ if (sharedConstraint is TypeConstraintStandard constraint)
{
- return cachedfilteredTypes[hashCode] = attribute.GetFilteredTypes();
+ constraint.AllowAbstract = attribute.AllowAbstract;
+ constraint.AllowObsolete = attribute.AllowObsolete;
+ constraint.Settings = attribute.TypeSettings;
}
}
+ private void UpdateAppearance(TypeConstraintAttribute attribute)
+ {
+ sharedAppearance.TypeGrouping = attribute.TypeGrouping;
+ }
+
protected override float GetPropertyHeightSafe(SerializedProperty property, GUIContent label)
{
@@ -118,68 +72,30 @@ protected override float GetPropertyHeightSafe(SerializedProperty property, GUIC
protected override void OnGUISafe(Rect position, SerializedProperty property, GUIContent label)
{
- var validAttribute = GetVerifiedAttribute(attribute);
-
- var referenceProperty = property.FindPropertyRelative("classReference");
- var referenceValue = referenceProperty.stringValue;
- var currentType = !string.IsNullOrEmpty(referenceValue) ? Type.GetType(referenceValue) : null;
-
- var filteredTypes = GetFilteredTypes(validAttribute);
-
- var itemsCount = filteredTypes.Count + 1;
- var options = new string[itemsCount];
- var index = 0;
-
- //create labels for all types
- options[0] = "";
- for (var i = 1; i < itemsCount; i++)
- {
- var menuType = filteredTypes[i - 1];
- var menuLabel = FormatGroupedTypeName(menuType, validAttribute.Grouping);
- if (menuType == currentType)
- {
- index = i;
- }
-
- options[i] = menuLabel;
- }
-
- //draw the reference property
label = EditorGUI.BeginProperty(position, label, property);
label = property.name != "data" ? label : GUIContent.none;
- //draw the proper label field
position = EditorGUI.PrefixLabel(position, label);
- //try to draw associated popup
- if (validAttribute.AddTextSearchField)
+ var validAttribute = GetVerifiedAttribute(attribute);
+ var addSearchField = validAttribute.AddTextSearchField;
+ UpdateConstraint(validAttribute);
+ UpdateAppearance(validAttribute);
+
+ var referenceProperty = property.FindPropertyRelative("typeReference");
+ var activeType = SerializedType.GetReferenceType(referenceProperty.stringValue);
+ typeField.OnGui(position, addSearchField, (type) =>
{
- var buttonLabel = new GUIContent(options[index]);
- ToolboxEditorGui.DrawSearchablePopup(position, buttonLabel, index, options, (i) =>
+ try
{
- try
- {
- referenceProperty.serializedObject.Update();
- referenceProperty.stringValue = GetClassReferencValue(i, filteredTypes);
- referenceProperty.serializedObject.ApplyModifiedProperties();
- }
- catch (Exception e) when (e is ArgumentNullException || e is NullReferenceException)
- {
- ToolboxEditorLog.LogWarning("Invalid attempt to update disposed property.");
- }
- });
- }
- else
- {
- using (new ZeroIndentScope())
+ referenceProperty.serializedObject.Update();
+ referenceProperty.stringValue = SerializedType.GetReferenceValue(type);
+ referenceProperty.serializedObject.ApplyModifiedProperties();
+ }
+ catch (Exception e) when (e is ArgumentNullException || e is NullReferenceException)
{
- EditorGUI.BeginChangeCheck();
- index = EditorGUI.Popup(position, index, options);
- if (EditorGUI.EndChangeCheck())
- {
- referenceProperty.stringValue = GetClassReferencValue(index, filteredTypes);
- }
+ ToolboxEditorLog.LogWarning("Invalid attempt to update disposed property.");
}
- }
+ }, activeType);
EditorGUI.EndProperty();
}
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Regular/TagSelectorAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Regular/TagSelectorAttributeDrawer.cs
index 4a9ad5ca..d129ebbb 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Regular/TagSelectorAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Regular/TagSelectorAttributeDrawer.cs
@@ -19,7 +19,7 @@ protected override void OnGUISafe(Rect position, SerializedProperty property, GU
{
var tags = new List
{
- ""
+ ""
};
tags.AddRange(InternalEditorUtility.tags);
var value = property.stringValue;
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ComparisonAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ComparisonAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ComparisonAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ComparisonAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ComparisonAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ComparisonAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ComparisonAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ComparisonAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableIfAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableIfAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableIfAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableIfAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableIfAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableIfAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableIfAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableIfAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableInPlayModeAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableInPlayModeAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableInPlayModeAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableInPlayModeAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableInPlayModeAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableInPlayModeAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/DisableInPlayModeAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/DisableInPlayModeAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/EnableIfAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/EnableIfAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/EnableIfAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/EnableIfAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/EnableIfAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/EnableIfAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/EnableIfAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/EnableIfAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideDisabledIfAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideDisabledIfAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideDisabledIfAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideDisabledIfAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideDisabledIfAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideDisabledIfAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideDisabledIfAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideDisabledIfAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideIfAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideIfAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideIfAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideIfAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideIfAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideIfAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/HideIfAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/HideIfAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowDisabledIfAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowDisabledIfAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowDisabledIfAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowDisabledIfAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowDisabledIfAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowDisabledIfAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowDisabledIfAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowDisabledIfAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowIfAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowIfAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowIfAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowIfAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowIfAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowIfAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowIfAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowIfAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowWarningIfAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowWarningIfAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowWarningIfAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowWarningIfAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowWarningIfAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowWarningIfAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/ConditionDrawers/ShowWarningIfAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Condition/ShowWarningIfAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginGroupAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginGroupAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginGroupAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginGroupAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginGroupAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginGroupAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginGroupAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginGroupAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalGroupAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalGroupAttributeDrawer.cs
similarity index 99%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalGroupAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalGroupAttributeDrawer.cs
index a64b86e3..c38fcb31 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalGroupAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalGroupAttributeDrawer.cs
@@ -72,4 +72,4 @@ static Style()
}
}
}
-}
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalGroupAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalGroupAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginHorizontalGroupAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginHorizontalGroupAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginIndentAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginIndentAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginIndentAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginIndentAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginIndentAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginIndentAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/BeginIndentAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/BeginIndentAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/DynamicHelpAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/DynamicHelpAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/DynamicHelpAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/DynamicHelpAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/DynamicHelpAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/DynamicHelpAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/DynamicHelpAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/DynamicHelpAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EditorButtonAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EditorButtonAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EditorButtonAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EditorButtonAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EditorButtonAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EditorButtonAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EditorButtonAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EditorButtonAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndGroupAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndGroupAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndGroupAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndGroupAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndGroupAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndGroupAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndGroupAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndGroupAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalGroupAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalGroupAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalGroupAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalGroupAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalGroupAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalGroupAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndHorizontalGroupAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndHorizontalGroupAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndIndentAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndIndentAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndIndentAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndIndentAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndIndentAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndIndentAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/EndIndentAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/EndIndentAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/GuiColorAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/GuiColorAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/GuiColorAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/GuiColorAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/GuiColorAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/GuiColorAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/GuiColorAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/GuiColorAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HelpAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HelpAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HelpAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HelpAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HelpAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HelpAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HelpAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HelpAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HighlightAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HighlightAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HighlightAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HighlightAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HighlightAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HighlightAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/HighlightAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/HighlightAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/ImageAreaAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/ImageAreaAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/ImageAreaAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/ImageAreaAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/ImageAreaAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/ImageAreaAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/ImageAreaAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/ImageAreaAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/IndentAreaAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/IndentAreaAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/IndentAreaAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/IndentAreaAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/IndentAreaAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/IndentAreaAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/IndentAreaAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/IndentAreaAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LabelAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LabelAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LabelAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LabelAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LabelAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LabelAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LabelAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LabelAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LineAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LineAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LineAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LineAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LineAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LineAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/LineAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/LineAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/SpaceAreaAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/SpaceAreaAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/SpaceAreaAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/SpaceAreaAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/SpaceAreaAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/SpaceAreaAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/DecoratorDrawers/SpaceAreaAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/Decorator/SpaceAreaAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListAttributeDrawer.cs
similarity index 94%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListAttributeDrawer.cs
index 6c105f8f..9f315bd8 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListAttributeDrawer.cs
@@ -30,7 +30,7 @@ static ReorderableListAttributeDrawer()
///
protected override void OnGuiSafe(SerializedProperty property, GUIContent label, ReorderableListAttribute attribute)
{
- storage.ReturnItem(property, attribute).DoList();
+ storage.ReturnItem(property, attribute).DoList(label);
}
}
}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListExposedAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListExposedAttributeDrawer.cs
similarity index 97%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListExposedAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListExposedAttributeDrawer.cs
index 5063f642..afff02d8 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListExposedAttributeDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListExposedAttributeDrawer.cs
@@ -83,7 +83,7 @@ private static MethodInfo FindMethod(SerializedObject target, string methodName,
protected override void OnGuiSafe(SerializedProperty property, GUIContent label, ReorderableListExposedAttribute attribute)
{
- storage.ReturnItem(property, attribute).DoList();
+ storage.ReturnItem(property, attribute).DoList(label);
}
}
}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListExposedAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListExposedAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ReorderableListExposedAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ReorderableListExposedAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ScrollableItemsAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ScrollableItemsAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ScrollableItemsAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ScrollableItemsAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ScrollableItemsAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ScrollableItemsAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyListDrawers/ScrollableItemsAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertyList/ScrollableItemsAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxBaseDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxBaseDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxBaseDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxBaseDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxBaseDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxBaseDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxBaseDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxBaseDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxSliderAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxSliderAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxSliderAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxSliderAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxSliderAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxSliderAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicMinMaxSliderAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicMinMaxSliderAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicRangeAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicRangeAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicRangeAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicRangeAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicRangeAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicRangeAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/DynamicRangeAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/DynamicRangeAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/IgnoreParentAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/IgnoreParentAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/IgnoreParentAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/IgnoreParentAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/IgnoreParentAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/IgnoreParentAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/IgnoreParentAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/IgnoreParentAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/InLineEditorAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/InLineEditorAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/InLineEditorAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/InLineEditorAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/InLineEditorAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/InLineEditorAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/InLineEditorAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/InLineEditorAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/ReferencePickerAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/ReferencePickerAttributeDrawer.cs
new file mode 100644
index 00000000..cf922084
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/ReferencePickerAttributeDrawer.cs
@@ -0,0 +1,82 @@
+#if UNITY_2019_3_OR_NEWER
+using System;
+
+using UnityEditor;
+using UnityEngine;
+
+namespace Toolbox.Editor.Drawers
+{
+ using Toolbox.Editor.Internal;
+
+ public class ReferencePickerAttributeDrawer : ToolboxSelfPropertyDrawer
+ {
+ private readonly TypeField typeField = new TypeField(new TypeConstraintReference(null));
+
+
+ private void CreateTypeProperty(SerializedProperty property)
+ {
+ property.GetFieldInfo(out Type propertyType);
+ TypeUtilities.TryGetTypeFromManagedReferenceFullTypeName(property.managedReferenceFullTypename, out var currentType);
+ var position = EditorGUILayout.GetControlRect(false, EditorGUIUtility.singleLineHeight);
+ position = EditorGUI.IndentedRect(position);
+ typeField.OnGui(position, true, (type) =>
+ {
+ try
+ {
+ if (!property.serializedObject.isEditingMultipleObjects)
+ {
+ UpdateTypeProperty(property, type);
+ }
+ else
+ {
+ var targets = property.serializedObject.targetObjects;
+ foreach (var target in targets)
+ {
+ using (var so = new SerializedObject(target))
+ {
+ SerializedProperty sp = so.FindProperty(property.propertyPath);
+ UpdateTypeProperty(sp, type);
+ }
+ }
+ }
+ }
+ catch (Exception e) when (e is ArgumentNullException || e is NullReferenceException)
+ {
+ ToolboxEditorLog.LogWarning("Invalid attempt to update disposed property.");
+ }
+ }, currentType, propertyType);
+ }
+
+ private void UpdateTypeProperty(SerializedProperty property, Type referenceType)
+ {
+ var obj = referenceType != null ? Activator.CreateInstance(referenceType) : null;
+ property.serializedObject.Update();
+ property.managedReferenceValue = obj;
+ property.serializedObject.ApplyModifiedProperties();
+ }
+
+
+ protected override void OnGuiSafe(SerializedProperty property, GUIContent label, ReferencePickerAttribute attribute)
+ {
+ using (var propertyScope = new PropertyScope(property, label))
+ {
+ if (!propertyScope.IsVisible)
+ {
+ return;
+ }
+
+ EditorGUI.indentLevel++;
+ CreateTypeProperty(property);
+ ToolboxEditorGui.DrawPropertyChildren(property);
+ EditorGUI.indentLevel--;
+ }
+ }
+
+
+ public override bool IsPropertyValid(SerializedProperty property)
+ {
+ return property.propertyType == SerializedPropertyType.ManagedReference;
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/ReferencePickerAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/ReferencePickerAttributeDrawer.cs.meta
new file mode 100644
index 00000000..bd3afb89
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/ReferencePickerAttributeDrawer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 79a1b5133682db942818cc3b16b59d6e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/RegexValueAttributeDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/RegexValueAttributeDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/RegexValueAttributeDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/RegexValueAttributeDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/RegexValueAttributeDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/RegexValueAttributeDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelfDrawers/RegexValueAttributeDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/PropertySelf/RegexValueAttributeDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetTypeDrawers.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetType.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetTypeDrawers.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetType.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetTypeDrawers/SerializedDictionaryDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetType/SerializedDictionaryDrawer.cs
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetTypeDrawers/SerializedDictionaryDrawer.cs
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetType/SerializedDictionaryDrawer.cs
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetTypeDrawers/SerializedDictionaryDrawer.cs.meta b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetType/SerializedDictionaryDrawer.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetTypeDrawers/SerializedDictionaryDrawer.cs.meta
rename to Assets/Editor Toolbox/Editor/Drawers/Toolbox/TargetType/SerializedDictionaryDrawer.cs.meta
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawer.cs
index 189b8158..62571b0e 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawer.cs
@@ -1,5 +1,5 @@
-using UnityEngine;
-using UnityEditor;
+using UnityEditor;
+using UnityEngine;
namespace Toolbox.Editor.Drawers
{
@@ -11,14 +11,14 @@ protected virtual PropertyCondition OnGuiValidateSafe(SerializedProperty propert
}
- public override sealed PropertyCondition OnGuiValidate(SerializedProperty property)
- {
+ public sealed override PropertyCondition OnGuiValidate(SerializedProperty property)
+ {
return OnGuiValidate(property, PropertyUtility.GetAttribute(property));
}
- public override sealed PropertyCondition OnGuiValidate(SerializedProperty property, ToolboxAttribute attribute)
- {
- return OnGuiValidate(property, attribute as T);
+ public sealed override PropertyCondition OnGuiValidate(SerializedProperty property, ToolboxAttribute attribute)
+ {
+ return OnGuiValidate(property, attribute as T);
}
public PropertyCondition OnGuiValidate(SerializedProperty property, T attribute)
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawerBase.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawerBase.cs
index a5b270cd..1c3d6b7e 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawerBase.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxConditionDrawerBase.cs
@@ -1,5 +1,5 @@
-using UnityEngine;
-using UnityEditor;
+using UnityEditor;
+using UnityEngine;
namespace Toolbox.Editor.Drawers
{
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawer.cs
index 2830722e..1f5bbd7c 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawer.cs
@@ -5,7 +5,7 @@
namespace Toolbox.Editor.Drawers
{
public abstract class ToolboxDecoratorDrawer : ToolboxDecoratorDrawerBase where T : ToolboxDecoratorAttribute
- {
+ {
protected virtual void OnGuiBeginSafe(T attribute)
{ }
@@ -17,12 +17,12 @@ protected virtual void OnGuiEndSafe(T attribute)
{ }
- public override sealed void OnGuiBegin(ToolboxAttribute attribute)
+ public sealed override void OnGuiBegin(ToolboxAttribute attribute)
{
OnGuiBegin(attribute as T);
}
- public override sealed void OnGuiClose(ToolboxAttribute attribute)
+ public sealed override void OnGuiClose(ToolboxAttribute attribute)
{
OnGuiClose(attribute as T);
}
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawerBase.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawerBase.cs
index e21b534c..07bf359c 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawerBase.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxDecoratorDrawerBase.cs
@@ -2,7 +2,7 @@
namespace Toolbox.Editor.Drawers
{
- public abstract class ToolboxDecoratorDrawerBase : ToolboxAttributeDrawer
+ public abstract class ToolboxDecoratorDrawerBase : ToolboxAttributeDrawer
{
public abstract void OnGuiBegin(ToolboxAttribute attribute);
diff --git a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxListPropertyDrawer.cs b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxListPropertyDrawer.cs
index a767b7f3..f31765aa 100644
--- a/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxListPropertyDrawer.cs
+++ b/Assets/Editor Toolbox/Editor/Drawers/Toolbox/ToolboxListPropertyDrawer.cs
@@ -1,5 +1,5 @@
-using UnityEngine;
-using UnityEditor;
+using UnityEditor;
+using UnityEngine;
namespace Toolbox.Editor.Drawers
{
@@ -8,6 +8,6 @@ public abstract class ToolboxListPropertyDrawer : ToolboxPropertyDrawer wh
public override bool IsPropertyValid(SerializedProperty property)
{
return property.isArray;
- }
+ }
}
}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/ReorderableListBase.cs b/Assets/Editor Toolbox/Editor/Internal/ReorderableListBase.cs
index 81f02794..2ed5acfd 100644
--- a/Assets/Editor Toolbox/Editor/Internal/ReorderableListBase.cs
+++ b/Assets/Editor Toolbox/Editor/Internal/ReorderableListBase.cs
@@ -497,6 +497,15 @@ public void RemoveElement(int index)
///
public virtual void DoList()
{
+ DoList(null);
+ }
+
+ ///
+ /// Draws whole list at once.
+ ///
+ public virtual void DoList(GUIContent label)
+ {
+ TitleLabel = label;
//NOTE: indentation will break some controls
//make sure there is no indent while drawing
using (new ZeroIndentScope())
diff --git a/Assets/Editor Toolbox/Editor/Internal/SearchablePopup.cs b/Assets/Editor Toolbox/Editor/Internal/SearchablePopup.cs
index 0bd93613..101d8757 100644
--- a/Assets/Editor Toolbox/Editor/Internal/SearchablePopup.cs
+++ b/Assets/Editor Toolbox/Editor/Internal/SearchablePopup.cs
@@ -19,7 +19,7 @@ public class SearchablePopup : PopupWindowContent
///
public static void Show(Rect activatorRect, int current, string[] options, Action onSelect)
{
- PopupWindow.Show(activatorRect, new SearchablePopup(current, options, onSelect));
+ PopupWindow.Show(activatorRect, new SearchablePopup(activatorRect, current, options, onSelect));
}
@@ -32,16 +32,18 @@ public static void Show(Rect activatorRect, int current, string[] options, Actio
private int scrollIndex = -1;
private Vector2 scroll;
-
+ private Rect activatorRect;
private Rect toolbarRect;
private Rect contentRect;
-
+
///
/// Constructor should be called only internally by the method.
///
- private SearchablePopup(int startIndex, string[] options, Action onSelect)
+ private SearchablePopup(Rect activatorRect, int startIndex, string[] options, Action onSelect)
{
+ this.activatorRect = activatorRect;
+
searchArray = new SearchArray(options);
searchField = new SearchField();
@@ -186,6 +188,13 @@ private GUIContent GetElementContent(Rect rect, int index)
}
+ public override Vector2 GetWindowSize()
+ {
+ var size = base.GetWindowSize();
+ size.x = activatorRect.width;
+ return size;
+ }
+
///
/// Called each time new is created.
///
diff --git a/Assets/Editor Toolbox/Editor/Internal/ToolboxEditorList.cs b/Assets/Editor Toolbox/Editor/Internal/ToolboxEditorList.cs
index dfbb408b..52e69eea 100644
--- a/Assets/Editor Toolbox/Editor/Internal/ToolboxEditorList.cs
+++ b/Assets/Editor Toolbox/Editor/Internal/ToolboxEditorList.cs
@@ -335,13 +335,13 @@ protected override void HandleHeaderEvents(Rect rect)
///
- public override void DoList()
+ public override void DoList(GUIContent label)
{
//pack eveything in one, vertical scope
//it will keep sections always in order
using (new EditorGUILayout.VerticalScope())
{
- base.DoList();
+ base.DoList(label);
}
}
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeAppearanceContext.cs b/Assets/Editor Toolbox/Editor/Internal/TypeAppearanceContext.cs
new file mode 100644
index 00000000..c8322ddc
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeAppearanceContext.cs
@@ -0,0 +1,42 @@
+using System.Collections.Generic;
+
+using UnityEngine;
+
+namespace Toolbox.Editor.Internal
+{
+ public class TypeAppearanceContext
+ {
+ public TypeAppearanceContext(TypeConstraintContext constraint) : this(constraint, TypeGrouping.None, true)
+ { }
+
+ public TypeAppearanceContext(TypeConstraintContext constraint, TypeGrouping typeGrouping, bool addEmptyValue)
+ {
+ Constraint = constraint;
+ TypeGrouping = typeGrouping;
+ AddEmptyValue = addEmptyValue;
+ }
+
+
+ public override bool Equals(object other)
+ {
+ return other is TypeAppearanceContext appearance &&
+ EqualityComparer.Default.Equals(Constraint, appearance.Constraint) &&
+ TypeGrouping == appearance.TypeGrouping &&
+ AddEmptyValue == appearance.AddEmptyValue;
+ }
+
+ public override int GetHashCode()
+ {
+ var hashCode = -8527728;
+ hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Constraint);
+ hashCode = hashCode * -1521134295 + TypeGrouping.GetHashCode();
+ hashCode = hashCode * -1521134295 + AddEmptyValue.GetHashCode();
+ return hashCode;
+ }
+
+
+ public TypeConstraintContext Constraint { get; set; }
+ public TypeGrouping TypeGrouping { get; set; }
+ public bool AddEmptyValue { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeAppearanceContext.cs.meta b/Assets/Editor Toolbox/Editor/Internal/TypeAppearanceContext.cs.meta
new file mode 100644
index 00000000..d4bac0ed
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeAppearanceContext.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7fda8e70563fab94ca8aa551a1d83dc0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeConstraintContext.cs b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintContext.cs
new file mode 100644
index 00000000..32d5a4d5
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintContext.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+
+namespace Toolbox.Editor.Internal
+{
+ public class TypeConstraintContext
+ {
+ protected Type targetType;
+
+
+ public TypeConstraintContext(Type targetType)
+ {
+ this.targetType = targetType;
+ }
+
+
+ public virtual bool IsSatisfied(Type type)
+ {
+#if UNITY_2019_2_OR_NEWER
+ return type.IsVisible;
+#else
+ return type.IsVisible && (targetType.IsGenericType
+ ? targetType.IsAssignableFromGeneric(type)
+ : targetType.IsAssignableFrom(type));
+#endif
+ }
+
+ public virtual void ApplyTarget(Type type)
+ {
+ targetType = type;
+ }
+
+ public override bool Equals(object obj)
+ {
+ return obj is TypeConstraintContext constraint &&
+ EqualityComparer.Default.Equals(targetType, constraint.targetType);
+ }
+
+ public override int GetHashCode()
+ {
+ return 1673078848 + EqualityComparer.Default.GetHashCode(targetType);
+ }
+
+
+ public Type TargetType => targetType;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeConstraintContext.cs.meta b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintContext.cs.meta
new file mode 100644
index 00000000..1d35d43d
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintContext.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 118c19767a8066a47a7f2330c22d7c22
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeConstraintReference.cs b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintReference.cs
new file mode 100644
index 00000000..dace68fe
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintReference.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+
+using Object = UnityEngine.Object;
+
+namespace Toolbox.Editor.Internal
+{
+ public class TypeConstraintReference : TypeConstraintContext
+ {
+ public TypeConstraintReference(Type targetType) : base(targetType)
+ { }
+
+
+ public override bool IsSatisfied(Type type)
+ {
+ return base.IsSatisfied(type) &&
+ !type.IsInterface &&
+ !type.IsAbstract &&
+ !type.IsPointer &&
+ !type.IsArray &&
+ !type.IsSubclassOf(typeof(Object)) &&
+ !type.ContainsGenericParameters &&
+ !Attribute.IsDefined(type, typeof(ObsoleteAttribute));
+ }
+
+ public override bool Equals(object other)
+ {
+ return other is TypeConstraintReference constraint &&
+ base.Equals(other) &&
+ EqualityComparer.Default.Equals(targetType, constraint.targetType);
+ }
+
+ public override int GetHashCode()
+ {
+ var hashCode = 1038385366;
+ hashCode = hashCode * -1521134295 + base.GetHashCode();
+ return hashCode;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeConstraintReference.cs.meta b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintReference.cs.meta
new file mode 100644
index 00000000..3df95e93
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintReference.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7a47d5ab7d6588a4b82a5b97925f44b0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeConstraintStandard.cs b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintStandard.cs
new file mode 100644
index 00000000..d6265f98
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintStandard.cs
@@ -0,0 +1,54 @@
+using System;
+
+using UnityEngine;
+
+namespace Toolbox.Editor.Internal
+{
+ public class TypeConstraintStandard : TypeConstraintContext
+ {
+ public TypeConstraintStandard() : base(null)
+ { }
+
+ public TypeConstraintStandard(Type targetType, TypeSettings settings, bool allowAbstract, bool allowObsolete) : base(targetType)
+ {
+ Settings = settings;
+ AllowAbstract = allowAbstract;
+ AllowObsolete = allowObsolete;
+ }
+
+
+ public override bool IsSatisfied(Type type)
+ {
+ return base.IsSatisfied(type) &&
+ //NOTE: consider moving allowAbstract && allowObsolete properties to the TypeSettings enum
+ (!type.IsClass || Settings.HasFlag(TypeSettings.Class)) &&
+ (!type.IsAbstract || (Settings.HasFlag(TypeSettings.Interface) && type.IsInterface) || AllowAbstract) &&
+ (!type.IsInterface || Settings.HasFlag(TypeSettings.Interface)) &&
+ (!Attribute.IsDefined(type, typeof(ObsoleteAttribute)) || AllowObsolete);
+ }
+
+ public override bool Equals(object other)
+ {
+ return other is TypeConstraintStandard constraint &&
+ base.Equals(other) &&
+ Settings == constraint.Settings &&
+ AllowAbstract == constraint.AllowAbstract &&
+ AllowObsolete == constraint.AllowObsolete;
+ }
+
+ public override int GetHashCode()
+ {
+ var hashCode = 433750135;
+ hashCode = hashCode * -1521134295 + base.GetHashCode();
+ hashCode = hashCode * -1521134295 + Settings.GetHashCode();
+ hashCode = hashCode * -1521134295 + AllowAbstract.GetHashCode();
+ hashCode = hashCode * -1521134295 + AllowObsolete.GetHashCode();
+ return hashCode;
+ }
+
+
+ public TypeSettings Settings { get; set; }
+ public bool AllowAbstract { get; set; }
+ public bool AllowObsolete { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeConstraintStandard.cs.meta b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintStandard.cs.meta
new file mode 100644
index 00000000..1cf1fc2f
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeConstraintStandard.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3b7a7e43ed392854f9bbcb7381c02e34
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeField.cs b/Assets/Editor Toolbox/Editor/Internal/TypeField.cs
new file mode 100644
index 00000000..8adcad8d
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeField.cs
@@ -0,0 +1,106 @@
+using System;
+using System.Collections.Generic;
+
+using UnityEditor;
+using UnityEngine;
+
+namespace Toolbox.Editor.Internal
+{
+ ///
+ /// Out-of-the-box field that can be used as a picker.
+ ///
+ public class TypeField
+ {
+ private TypeConstraintContext constraintContext;
+ private TypeAppearanceContext appearanceContext;
+
+
+ public TypeField() : this(null, null)
+ { }
+
+ public TypeField(TypeConstraintContext constraintContext) : this(constraintContext, null)
+ { }
+
+ public TypeField(TypeConstraintContext constraintContext, TypeAppearanceContext appearanceContext)
+ {
+ this.constraintContext = constraintContext ?? new TypeConstraintStandard(null, TypeSettings.Class, false, false);
+ this.appearanceContext = appearanceContext ?? new TypeAppearanceContext(this.constraintContext, TypeGrouping.None, true);
+ }
+
+
+ private Type RetriveSelectedType(IReadOnlyList types, int selectedIndex, bool includeEmptyValue)
+ {
+ if (includeEmptyValue)
+ {
+ selectedIndex -= 1;
+ }
+
+ return selectedIndex >= 0 ? types[selectedIndex] : null;
+ }
+
+
+ public void OnGui(Rect position, bool addSearchField, Action onSelect)
+ {
+ OnGui(position, addSearchField, onSelect, null);
+ }
+
+ public void OnGui(Rect position, bool addSearchField, Action onSelect, Type activeType)
+ {
+ var collection = TypeUtilities.GetCollection(AppearanceContext);
+ var values = collection.Values;
+ var labels = collection.Labels;
+ var index = collection.IndexOf(activeType);
+
+ var addEmptyValue = AppearanceContext.AddEmptyValue;
+ if (addSearchField)
+ {
+ var buttonLabel = new GUIContent(labels[index]);
+ ToolboxEditorGui.DrawSearchablePopup(position, buttonLabel, index, labels, (i) =>
+ {
+ var type = RetriveSelectedType(values, i, addEmptyValue);
+ onSelect?.Invoke(type);
+ });
+ }
+ else
+ {
+ using (new ZeroIndentScope())
+ {
+ EditorGUI.BeginChangeCheck();
+ index = EditorGUI.Popup(position, index, labels);
+ if (EditorGUI.EndChangeCheck())
+ {
+ var type = RetriveSelectedType(values, index, addEmptyValue);
+ onSelect?.Invoke(type);
+ }
+ }
+ }
+ }
+
+ public void OnGui(Rect position, bool addSearchField, Action onSelect, Type activeType, Type parentType)
+ {
+ ConstraintContext.ApplyTarget(parentType);
+ OnGui(position, addSearchField, onSelect, activeType);
+ }
+
+
+ public TypeConstraintContext ConstraintContext
+ {
+ get => constraintContext;
+ set
+ {
+ constraintContext = value ?? throw new NullReferenceException($"Cannot assign null constraint to the {nameof(TypeField)}.");
+ AppearanceContext.Constraint = constraintContext;
+ }
+ }
+
+ public TypeAppearanceContext AppearanceContext
+ {
+ get => appearanceContext;
+ set
+ {
+ appearanceContext = value ?? throw new NullReferenceException($"Cannot assign null appearance to the {nameof(TypeField)}.");
+ ConstraintContext = appearanceContext.Constraint;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypeField.cs.meta b/Assets/Editor Toolbox/Editor/Internal/TypeField.cs.meta
new file mode 100644
index 00000000..a1094e7c
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypeField.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5870e4659fe35474db2d34642d21d930
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypesCachedCollection.cs b/Assets/Editor Toolbox/Editor/Internal/TypesCachedCollection.cs
new file mode 100644
index 00000000..2a37ffd6
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypesCachedCollection.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Toolbox.Editor.Internal
+{
+ public class TypesCachedCollection : IEnumerable
+ {
+ private readonly List values;
+
+
+ public TypesCachedCollection() : this(new List())
+ { }
+
+ public TypesCachedCollection(List values)
+ {
+ this.values = values;
+ }
+
+
+ public virtual int IndexOf(Type type)
+ {
+ return values.IndexOf(type);
+ }
+
+ public virtual bool Contains(Type type)
+ {
+ return values.Contains(type);
+ }
+
+ public IEnumerator GetEnumerator()
+ {
+ return values.GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return values.GetEnumerator();
+ }
+
+
+ public IReadOnlyList Values => values;
+
+ public static implicit operator List(TypesCachedCollection collection) => collection.values;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypesCachedCollection.cs.meta b/Assets/Editor Toolbox/Editor/Internal/TypesCachedCollection.cs.meta
new file mode 100644
index 00000000..3a97281c
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypesCachedCollection.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2c13ae41dd9ca444fbab3d954167c674
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypesEditorCollection.cs b/Assets/Editor Toolbox/Editor/Internal/TypesEditorCollection.cs
new file mode 100644
index 00000000..e6522257
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypesEditorCollection.cs
@@ -0,0 +1,102 @@
+using System;
+
+using UnityEngine;
+
+namespace Toolbox.Editor.Internal
+{
+ public class TypesEditorCollection : TypesCachedCollection
+ {
+ private readonly bool hasEmptyValue;
+ private string[] labels;
+
+
+ public TypesEditorCollection(TypesCachedCollection cachedCollection)
+ : this(cachedCollection, true)
+ { }
+
+ public TypesEditorCollection(TypesCachedCollection cachedCollection, bool hasEmptyValue)
+ : this(cachedCollection, hasEmptyValue, TypeGrouping.None)
+ { }
+
+ public TypesEditorCollection(TypesCachedCollection cachedCollection, bool hasEmptyValue, TypeGrouping grouping)
+ : base(cachedCollection)
+ {
+ this.hasEmptyValue = hasEmptyValue;
+ CreateLabels(grouping);
+ }
+
+
+ private void CreateLabels(TypeGrouping grouping)
+ {
+ var count = Values.Count;
+ var shift = 0;
+ if (hasEmptyValue)
+ {
+ shift += 1;
+ count += 1;
+ labels = new string[count];
+ labels[0] = "";
+ }
+ else
+ {
+ labels = new string[count];
+ }
+
+ for (var i = 0; i < count - shift; i++)
+ {
+ var type = Values[i];
+ var name = FormatGroupedTypeName(type, grouping);
+ labels[i + shift] = name;
+ }
+ }
+
+ private static string FormatGroupedTypeName(Type type, TypeGrouping grouping)
+ {
+ var name = type.FullName;
+ switch (grouping)
+ {
+ default:
+ case TypeGrouping.None:
+ return name;
+
+ case TypeGrouping.ByNamespace:
+ return name.Replace('.', '/');
+
+ case TypeGrouping.ByNamespaceFlat:
+ var lastPeriodIndex = name.LastIndexOf('.');
+ if (lastPeriodIndex != -1)
+ {
+ name = name.Substring(0, lastPeriodIndex) + "/" + name.Substring(lastPeriodIndex + 1);
+ }
+
+ return name;
+
+ case TypeGrouping.ByAddComponentMenu:
+ var addComponentMenuAttributes = type.GetCustomAttributes(typeof(AddComponentMenu), false);
+ if (addComponentMenuAttributes.Length == 1)
+ {
+ return ((AddComponentMenu)addComponentMenuAttributes[0]).componentMenu;
+ }
+
+ return "Scripts/" + type.FullName.Replace('.', '/');
+ }
+ }
+
+
+ public override int IndexOf(Type type)
+ {
+ var index = -1;
+ if (type != null)
+ {
+ index = base.IndexOf(type);
+ }
+
+ return hasEmptyValue
+ ? index + 1
+ : index;
+ }
+
+
+ public string[] Labels => labels;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Internal/TypesEditorCollection.cs.meta b/Assets/Editor Toolbox/Editor/Internal/TypesEditorCollection.cs.meta
new file mode 100644
index 00000000..9534b36b
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Internal/TypesEditorCollection.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 51cefceaf65b2ea479dd3abb2c3db1c5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources.meta b/Assets/Editor Toolbox/Editor/Resources.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources.meta
rename to Assets/Editor Toolbox/Editor/Resources.meta
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons.meta
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons.meta
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/AudioImporter Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/AudioImporter Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/AudioImporter Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/AudioImporter Icon.png
diff --git a/Assets/Examples/Editor Resources/Editor CityHall Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/AudioImporter Icon.png.meta
similarity index 75%
rename from Assets/Examples/Editor Resources/Editor CityHall Icon.png.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/AudioImporter Icon.png.meta
index 2efc33bb..b9c54a84 100644
--- a/Assets/Examples/Editor Resources/Editor CityHall Icon.png.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/AudioImporter Icon.png.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
-guid: 23acab7563472f84e998cd7af8f0d79d
+guid: ae1f12b433e81f44fbb1d21847810a49
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,13 +32,13 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: 2
+ filterMode: 1
aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
@@ -49,18 +50,22 @@ TextureImporter:
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
- alphaIsTransparency: 1
+ alphaIsTransparency: 0
spriteTessellationDetail: -1
- textureType: 2
+ textureType: 0
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,20 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -91,6 +86,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon Small.psd b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon Small.psd
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon Small.psd
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon Small.psd
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon Small.psd.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon Small.psd.meta
similarity index 81%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon Small.psd.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon Small.psd.meta
index b4adaf83..ccde05d9 100644
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon Small.psd.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon Small.psd.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
guid: fd9a2277d1ea8144b9c8a4085b82092f
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,13 +55,17 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,9 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -80,7 +86,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -91,6 +98,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +106,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon.psd b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon.psd
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon.psd
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon.psd
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon.psd.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon.psd.meta
similarity index 81%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon.psd.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon.psd.meta
index 35cebe2d..c45c8722 100644
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Editor Folder Icon.psd.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Editor Folder Icon.psd.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
guid: e22085615aa223c4e929f704dadf7736
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,13 +55,17 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,9 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -80,7 +86,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -91,6 +98,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +106,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Material Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Material Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Material Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Material Icon.png
diff --git a/Assets/Examples/Editor Resources/Editor Injection Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Material Icon.png.meta
similarity index 75%
rename from Assets/Examples/Editor Resources/Editor Injection Icon.png.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Material Icon.png.meta
index ac55a75d..7baa31c3 100644
--- a/Assets/Examples/Editor Resources/Editor Injection Icon.png.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Material Icon.png.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
-guid: e87de8db71153644ca6e2c573d3f9951
+guid: 1d71361930da3bc40a6e31097daf97e1
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,13 +32,13 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
@@ -49,18 +50,22 @@ TextureImporter:
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
- alphaIsTransparency: 1
+ alphaIsTransparency: 0
spriteTessellationDetail: -1
- textureType: 2
+ textureType: 0
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,20 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -91,6 +86,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Mesh Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Mesh Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Mesh Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Mesh Icon.png
diff --git a/Assets/Examples/Editor Resources/Editor Keyboard Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Mesh Icon.png.meta
similarity index 75%
rename from Assets/Examples/Editor Resources/Editor Keyboard Icon.png.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Mesh Icon.png.meta
index a55bcb31..bbe36bdd 100644
--- a/Assets/Examples/Editor Resources/Editor Keyboard Icon.png.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Mesh Icon.png.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
-guid: 5391afb6695a4a04884f5b3648e00c36
+guid: ca2ff7d64fd4a2a469b445cd07005538
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,13 +32,13 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
@@ -49,18 +50,22 @@ TextureImporter:
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
- alphaIsTransparency: 1
+ alphaIsTransparency: 0
spriteTessellationDetail: -1
- textureType: 2
+ textureType: 0
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,20 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -91,6 +86,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Prefab Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Prefab Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Prefab Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Prefab Icon.png
diff --git a/Assets/Examples/Editor Resources/Editor Brush Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Prefab Icon.png.meta
similarity index 73%
rename from Assets/Examples/Editor Resources/Editor Brush Icon.png.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Prefab Icon.png.meta
index 7b96b574..628f563b 100644
--- a/Assets/Examples/Editor Resources/Editor Brush Icon.png.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Prefab Icon.png.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
-guid: 3ec5bead7c5e0004194533a3464755a7
+guid: ac0d89f30426603488c8db8a86ab9861
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,13 +32,13 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: 2
+ filterMode: 1
aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
@@ -49,48 +50,43 @@ TextureImporter:
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
- alphaIsTransparency: 1
+ alphaIsTransparency: 0
spriteTessellationDetail: -1
- textureType: 2
+ textureType: 0
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/PrefabModel Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/PrefabModel Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/PrefabModel Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/PrefabModel Icon.png
diff --git a/Assets/Editor Toolbox/Editor/Resources/Folder Icons/PrefabModel Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/PrefabModel Icon.png.meta
new file mode 100644
index 00000000..cea7364b
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/PrefabModel Icon.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: d24774c462a41f14c9d6e7e13f371ab9
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/SceneAsset Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/SceneAsset Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/SceneAsset Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/SceneAsset Icon.png
diff --git a/Assets/Editor Toolbox/Editor/Resources/Folder Icons/SceneAsset Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/SceneAsset Icon.png.meta
new file mode 100644
index 00000000..8a59a1a0
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/SceneAsset Icon.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: 20665ef8fafc05f4cb2e71502884a0b7
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/ScriptableObject Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/ScriptableObject Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/ScriptableObject Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/ScriptableObject Icon.png
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/ScriptableObject Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/ScriptableObject Icon.png.meta
similarity index 79%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/ScriptableObject Icon.png.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/ScriptableObject Icon.png.meta
index 36fc2dae..7d6aabda 100644
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/ScriptableObject Icon.png.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/ScriptableObject Icon.png.meta
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
- aniso: -1
- mipBias: -100
- wrapU: -1
- wrapV: -1
- wrapW: -1
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
@@ -54,14 +55,29 @@ TextureImporter:
textureType: 0
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon Small.psd b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon Small.psd
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon Small.psd
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon Small.psd
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon Small.psd.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon Small.psd.meta
similarity index 81%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon Small.psd.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon Small.psd.meta
index dee11781..d2f3229e 100644
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon Small.psd.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon Small.psd.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
guid: e99d63b63394eba4aaf10385704d0ef3
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,13 +55,17 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,9 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -80,7 +86,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -91,6 +98,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +106,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon.psd b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon.psd
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon.psd
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon.psd
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon.psd.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon.psd.meta
similarity index 81%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon.psd.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon.psd.meta
index a32a552c..0fab3288 100644
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Scripts Folder Icon.psd.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Scripts Folder Icon.psd.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
guid: 6315862a85e61a44e947fbd4b1b23e11
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,13 +55,17 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,9 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -80,7 +86,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -91,6 +98,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +106,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Shader Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Shader Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Shader Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Shader Icon.png
diff --git a/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Shader Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Shader Icon.png.meta
new file mode 100644
index 00000000..e5478d70
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Shader Icon.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: 904349cb6c97417499aa097e0b5dd3a6
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Sprite Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Sprite Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Sprite Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Sprite Icon.png
diff --git a/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Sprite Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Sprite Icon.png.meta
new file mode 100644
index 00000000..6d827108
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Sprite Icon.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: b464f3e13fd5d97439a5b85dd353cde8
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/TextMesh Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/TextMesh Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/TextMesh Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/TextMesh Icon.png
diff --git a/Assets/Editor Toolbox/Editor/Resources/Folder Icons/TextMesh Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/TextMesh Icon.png.meta
new file mode 100644
index 00000000..161a6ca3
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/TextMesh Icon.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: ac9d86076d39cac45ade86ec37d1e068
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Texture Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Texture Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Texture Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Texture Icon.png
diff --git a/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Texture Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Texture Icon.png.meta
new file mode 100644
index 00000000..b5a34d49
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Texture Icon.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: 06d8a123e01d2ff44a2af3a1a35564cb
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon Small.psd b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon Small.psd
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon Small.psd
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon Small.psd
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon Small.psd.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon Small.psd.meta
similarity index 81%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon Small.psd.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon Small.psd.meta
index 2639cbbb..0a741de9 100644
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon Small.psd.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon Small.psd.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
guid: ae0310c2e6a193f4f935eef57508cd40
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,13 +55,17 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,9 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -80,7 +86,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -91,6 +98,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +106,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon.psd b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon.psd
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon.psd
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon.psd
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon.psd.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon.psd.meta
similarity index 81%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon.psd.meta
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon.psd.meta
index 570fef93..130631ac 100644
--- a/Assets/Editor Toolbox/Editor Resources/Folder Icons/Toolbox Icon.psd.meta
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/Toolbox Icon.psd.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
guid: ee4ce20abd2621b4687047a8e4e03f96
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: -1
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,13 +55,17 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -69,9 +74,10 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
@@ -80,7 +86,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -91,6 +98,7 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +106,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
diff --git a/Assets/Editor Toolbox/Editor Resources/Folder Icons/cs Script Icon.png b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/cs Script Icon.png
similarity index 100%
rename from Assets/Editor Toolbox/Editor Resources/Folder Icons/cs Script Icon.png
rename to Assets/Editor Toolbox/Editor/Resources/Folder Icons/cs Script Icon.png
diff --git a/Assets/Editor Toolbox/Editor/Resources/Folder Icons/cs Script Icon.png.meta b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/cs Script Icon.png.meta
new file mode 100644
index 00000000..29427006
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Resources/Folder Icons/cs Script Icon.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: d5f5f953f8e2fd549b269b884c145d2c
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Editor/ToolboxEditorGui.cs b/Assets/Editor Toolbox/Editor/ToolboxEditorGui.cs
index eae6cb97..fafdf210 100644
--- a/Assets/Editor Toolbox/Editor/ToolboxEditorGui.cs
+++ b/Assets/Editor Toolbox/Editor/ToolboxEditorGui.cs
@@ -434,7 +434,7 @@ public static void DrawToolboxProperty(Rect position, SerializedProperty propert
///
public static void DrawToolboxProperty(SerializedProperty property)
{
- ToolboxDrawerModule.GetPropertyHandler(property)?.OnGuiLayout();
+ ToolboxDrawerModule.GetPropertyHandler(property)?.OnGuiLayout(property);
}
///
@@ -443,7 +443,7 @@ public static void DrawToolboxProperty(SerializedProperty property)
///
public static void DrawToolboxProperty(SerializedProperty property, GUIContent label)
{
- ToolboxDrawerModule.GetPropertyHandler(property)?.OnGuiLayout(label);
+ ToolboxDrawerModule.GetPropertyHandler(property)?.OnGuiLayout(property, label);
}
///
diff --git a/Assets/Editor Toolbox/Editor/ToolboxPropertyHandler.cs b/Assets/Editor Toolbox/Editor/ToolboxPropertyHandler.cs
index 2590d111..c19fdfb0 100644
--- a/Assets/Editor Toolbox/Editor/ToolboxPropertyHandler.cs
+++ b/Assets/Editor Toolbox/Editor/ToolboxPropertyHandler.cs
@@ -87,7 +87,7 @@ internal class ToolboxPropertyHandler
///
/// Constructor prepares all property-related data for custom drawing.
///
- public ToolboxPropertyHandler(SerializedProperty property)
+ internal ToolboxPropertyHandler(SerializedProperty property)
{
this.property = property;
@@ -95,9 +95,7 @@ public ToolboxPropertyHandler(SerializedProperty property)
//first of all we have to retrieve the native data like FieldInfo, custom native drawer, etc.
//after this we have to retrieve (if possible) all Toolbox-related data - ToolboxAttributes
- //set basic content for the handled property
label = new GUIContent(property.displayName);
-
//get FieldInfo associated to this property, it is needed to cache custom attributes
if ((fieldInfo = property.GetFieldInfo(out type)) == null)
{
@@ -116,25 +114,13 @@ public ToolboxPropertyHandler(SerializedProperty property)
private void ProcessBuiltInData()
{
- //arrays cannot have custom built-in property drawers
- if (isArray)
+ var attributes = fieldInfo.GetCustomAttributes();
+ foreach (var attribute in attributes)
{
- return;
+ HandleNewAttribute(attribute);
}
- //check if this property has built-in property drawer
- if (!(hasBuiltInPropertyDrawer = ToolboxDrawerModule.HasNativeTypeDrawer(type)))
- {
- var propertyAttributes = fieldInfo.GetCustomAttributes();
- foreach (var attribute in propertyAttributes)
- {
- var attributeType = attribute.GetType();
- if (hasBuiltInPropertyDrawer = ToolboxDrawerModule.HasNativeTypeDrawer(attributeType))
- {
- break;
- }
- }
- }
+ CheckIfPropertyHasPropertyDrawer(type);
}
///
@@ -167,6 +153,38 @@ private void ProcessToolboxData()
hasToolboxConditionDrawer = conditionAttribute != null;
}
+ private void CheckIfPropertyHasPropertyDrawer(Type type)
+ {
+ //NOTE: arrays cannot have built-in property drawers
+ if (hasBuiltInPropertyDrawer || isArray)
+ {
+ return;
+ }
+
+ hasBuiltInPropertyDrawer = ToolboxDrawerModule.HasNativeTypeDrawer(type);
+ }
+
+ private void HandleNewAttribute(PropertyAttribute attribute)
+ {
+ if (!isChild)
+ {
+ //NOTE: setting tooltip and labels is valid only for parent or single properties
+ //it's a bit ugly but, it's the only semi-acceptable way to support built-in TooltipAttribute
+ switch (attribute)
+ {
+ case TooltipAttribute a:
+ label.tooltip = a.tooltip;
+ return;
+ case NewLabelAttribute a:
+ label.text = a.NewLabel;
+ return;
+ }
+ }
+
+ var attributeType = attribute.GetType();
+ CheckIfPropertyHasPropertyDrawer(attributeType);
+ }
+
private void HandleNewAttribute(ToolboxAttribute attribute)
{
switch (attribute)
@@ -249,7 +267,7 @@ private bool TryAssignConditionAttribute(ToolboxConditionAttribute attribute)
}
}
- private void DrawProperty(GUIContent label)
+ private void DrawProperty(SerializedProperty property, GUIContent label)
{
//get toolbox drawer for the property or draw it in the default way
if (hasToolboxPropertyDrawer && (!hasBuiltInPropertyDrawer || isArray))
@@ -271,7 +289,7 @@ private void DrawProperty(GUIContent label)
}
else
{
- OnGuiDefault(label);
+ OnGuiDefault(property, label);
}
}
@@ -301,7 +319,7 @@ private void CloseDecoratorDrawers()
}
}
- private PropertyCondition Validate()
+ private PropertyCondition Validate(SerializedProperty property)
{
if (!hasToolboxConditionDrawer)
{
@@ -311,32 +329,35 @@ private PropertyCondition Validate()
return ToolboxDrawerModule.GetConditionDrawer(conditionAttribute)?.OnGuiValidate(property, conditionAttribute) ?? PropertyCondition.Valid;
}
+
///
- /// Begins vertical group to "pack" all property-related controls into one body.
+ /// Draw property using built-in layout system and cached s.
///
- private void BeginVerticalLayoutBody()
+ public void OnGuiLayout()
{
- EditorGUILayout.BeginVertical();
+ OnGuiLayout(label);
}
- private void CloseVerticalLayoutBody()
+ ///
+ /// Draw property using built-in layout system and cached s.
+ ///
+ public void OnGuiLayout(GUIContent label)
{
- EditorGUILayout.EndVertical();
+ OnGuiLayout(property, label);
}
-
///
/// Draw property using built-in layout system and cached s.
///
- public void OnGuiLayout()
+ public void OnGuiLayout(SerializedProperty property)
{
- OnGuiLayout(label);
+ OnGuiLayout(property, label);
}
///
/// Draw property using built-in layout system and cached s.
///
- public void OnGuiLayout(GUIContent label)
+ public void OnGuiLayout(SerializedProperty property, GUIContent label)
{
//depending on previously gained data we can provide more action
//using custom attributes and information about native drawers
@@ -346,16 +367,17 @@ public void OnGuiLayout(GUIContent label)
BeginDecoratorDrawers();
//handle condition attribute and draw property if possible
- var conditionState = Validate();
+ var conditionState = Validate(property);
var isValid = conditionState != PropertyCondition.NonValid;
var disable = conditionState == PropertyCondition.Disabled;
if (isValid)
{
using (new EditorGUI.DisabledScope(disable))
{
- BeginVerticalLayoutBody();
- DrawProperty(label);
- CloseVerticalLayoutBody();
+ using (new EditorGUILayout.VerticalScope())
+ {
+ DrawProperty(property, label);
+ }
}
}
@@ -375,6 +397,22 @@ public void OnGuiDefault()
/// Draws property in the default way, without additional s.
///
public void OnGuiDefault(GUIContent label)
+ {
+ OnGuiDefault(property, label);
+ }
+
+ ///
+ /// Draws property in the default way, without additional s.
+ ///
+ public void OnGuiDefault(SerializedProperty property)
+ {
+ OnGuiDefault(property, label);
+ }
+
+ ///
+ /// Draws property in the default way, without additional s.
+ ///
+ public void OnGuiDefault(SerializedProperty property, GUIContent label)
{
//all "single" properties and native drawers should be drawn in the native way
if (hasBuiltInPropertyDrawer)
diff --git a/Assets/Editor Toolbox/Editor/Utilities/InspectorUtility.cs b/Assets/Editor Toolbox/Editor/Utilities/InspectorUtility.cs
index b0906b40..3328a35e 100644
--- a/Assets/Editor Toolbox/Editor/Utilities/InspectorUtility.cs
+++ b/Assets/Editor Toolbox/Editor/Utilities/InspectorUtility.cs
@@ -159,8 +159,8 @@ internal static partial class InspectorUtility
private static readonly List copiedComponents = new List();
- [MenuItem("CONTEXT/Component/Copy Components", false, priority = 200)]
- private static void Copy()
+ [MenuItem("CONTEXT/Component/Copy Components", false, priority = 700)]
+ internal static void Copy()
{
copiedComponents.Clear();
var selectedGameObjects = Selection.gameObjects;
@@ -187,13 +187,13 @@ private static void Copy()
}
[MenuItem("CONTEXT/Component/Copy Components", true)]
- private static bool ValidateCopy()
+ internal static bool ValidateCopy()
{
return Selection.gameObjects.Length > 0;
}
- [MenuItem("CONTEXT/Component/Paste Components", false, priority = 201)]
- private static void Paste()
+ [MenuItem("CONTEXT/Component/Paste Components", false, priority = 701)]
+ internal static void Paste()
{
var selectedGameobjects = Selection.gameObjects;
@@ -214,13 +214,13 @@ private static void Paste()
}
[MenuItem("CONTEXT/Component/Paste Components", true)]
- private static bool ValidatePaste()
+ internal static bool ValidatePaste()
{
return Selection.gameObjects.Length > 0 && copiedComponents.Count > 0;
}
- [MenuItem("CONTEXT/Component/Hide Component", false, priority = 300)]
- private static void Hide(MenuCommand menuCommand)
+ [MenuItem("CONTEXT/Component/Hide Component", false, priority = 702)]
+ internal static void Hide(MenuCommand menuCommand)
{
var component = menuCommand.context as Component;
var components = component.gameObject.GetComponents();
@@ -254,7 +254,7 @@ private static void Hide(MenuCommand menuCommand)
}
[Obsolete]
- private static void HideAll(MenuCommand menuCommand)
+ internal static void HideAll(MenuCommand menuCommand)
{
var gameObject = (menuCommand.context as Component).gameObject;
var components = (menuCommand.context as Component).GetComponents();
@@ -270,7 +270,7 @@ private static void HideAll(MenuCommand menuCommand)
}
[Obsolete]
- private static void ShowAll(MenuCommand menuCommand)
+ internal static void ShowAll(MenuCommand menuCommand)
{
var gameObject = (menuCommand.context as Component).gameObject;
var components = (menuCommand.context as Component).GetComponents();
diff --git a/Assets/Editor Toolbox/Editor/Utilities/TypeUtilities.cs b/Assets/Editor Toolbox/Editor/Utilities/TypeUtilities.cs
new file mode 100644
index 00000000..c2490e22
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Utilities/TypeUtilities.cs
@@ -0,0 +1,128 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
+using UnityEditor;
+
+namespace Toolbox.Editor
+{
+ using Toolbox.Editor.Internal;
+
+ public static class TypeUtilities
+ {
+ internal static readonly Dictionary cachedCollections = new Dictionary();
+ internal static readonly Dictionary editorCollections = new Dictionary();
+ internal static readonly Dictionary referenceTypesByNames = new Dictionary();
+
+
+ internal static void ClearCache()
+ {
+ cachedCollections.Clear();
+ editorCollections.Clear();
+ referenceTypesByNames.Clear();
+ }
+
+
+ public static TypesCachedCollection GetCollection(Type parentType)
+ {
+ return GetCollection(new TypeConstraintContext(parentType));
+ }
+
+ public static TypesCachedCollection GetCollection(TypeConstraintContext constraint)
+ {
+ var key = constraint.GetHashCode();
+ if (cachedCollections.TryGetValue(key, out var collection))
+ {
+ return collection;
+ }
+
+ var parentType = constraint.TargetType;
+ if (parentType == null)
+ {
+ return new TypesCachedCollection();
+ }
+
+ var typesList = FindTypes(constraint);
+ return cachedCollections[key] = new TypesCachedCollection(typesList);
+ }
+
+ public static TypesEditorCollection GetCollection(TypeAppearanceContext appearance)
+ {
+ var key = appearance.GetHashCode();
+ if (editorCollections.TryGetValue(key, out var collection))
+ {
+ return collection;
+ }
+
+ var types = GetCollection(appearance.Constraint);
+ return editorCollections[key] = new TypesEditorCollection(types,
+ appearance.AddEmptyValue, appearance.TypeGrouping);
+ }
+
+ public static bool TryGetTypeFromManagedReferenceFullTypeName(string managedReferenceFullTypeName, out Type managedReferenceInstanceType)
+ {
+ if (referenceTypesByNames.TryGetValue(managedReferenceFullTypeName, out managedReferenceInstanceType))
+ {
+ return true;
+ }
+
+ var parts = managedReferenceFullTypeName.Split(' ');
+ managedReferenceInstanceType = parts.Length == 2
+ ? Type.GetType($"{parts[1]}, {parts[0]}") : null;
+ if (managedReferenceInstanceType != null)
+ {
+ referenceTypesByNames[managedReferenceFullTypeName] = managedReferenceInstanceType;
+ return true;
+ }
+
+ return false;
+ }
+
+ public static List FindTypes(TypeConstraintContext constraint)
+ {
+#if UNITY_2019_2_OR_NEWER
+ var parentType = constraint.TargetType;
+ var typesCache = TypeCache.GetTypesDerivedFrom(parentType);
+ var typesList = typesCache.ToList();
+ typesList.Add(parentType);
+ for (var i = typesList.Count - 1; i >= 0; i--)
+ {
+ var type = typesList[i];
+ if (constraint.IsSatisfied(type))
+ {
+ continue;
+ }
+
+ typesList.RemoveAt(i);
+ }
+#else
+ var typesList = new List();
+ var assemblies = AppDomain.CurrentDomain.GetAssemblies();
+ foreach (var assembly in assemblies)
+ {
+ typesList.AddRange(FindTypes(constraint, assembly));
+ }
+
+ typesList.Sort((a, b) => a.FullName.CompareTo(b.FullName));
+#endif
+ return typesList;
+ }
+
+ public static List FindTypes(TypeConstraintContext constraint, Assembly assembly)
+ {
+ var types = new List();
+ foreach (var type in assembly.GetTypes())
+ {
+ if (!constraint.IsSatisfied(type))
+ {
+ continue;
+ }
+
+ types.Add(type);
+ }
+
+ return types;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Editor/Utilities/TypeUtilities.cs.meta b/Assets/Editor Toolbox/Editor/Utilities/TypeUtilities.cs.meta
new file mode 100644
index 00000000..2c07c185
--- /dev/null
+++ b/Assets/Editor Toolbox/Editor/Utilities/TypeUtilities.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3688f6c8b9775cf4f80143c85f5b36a1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/EditorSettings.asset b/Assets/Editor Toolbox/EditorSettings.asset
index 754ef20f..cbbc8afa 100644
--- a/Assets/Editor Toolbox/EditorSettings.asset
+++ b/Assets/Editor Toolbox/EditorSettings.asset
@@ -39,7 +39,7 @@ MonoBehaviour:
smallIcon: {fileID: 2800000, guid: fd9a2277d1ea8144b9c8a4085b82092f, type: 3}
iconName:
- dataType: 1
- name: Scripts
+ name: Runtime
path: Examples/Scripts
tooltip:
iconType: 0
@@ -48,45 +48,46 @@ MonoBehaviour:
iconName:
useToolboxDrawers: 1
decoratorDrawerHandlers:
- - classReference: Toolbox.Editor.Drawers.BeginGroupAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.BeginHorizontalAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.BeginHorizontalGroupAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.BeginIndentAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.DynamicHelpAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.EditorButtonAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.EndGroupAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.EndHorizontalAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.EndHorizontalGroupAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.EndIndentAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.GuiColorAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.HelpAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.HighlightAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.ImageAreaAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.IndentAreaAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.LabelAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.LineAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.SpaceAreaAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.BeginGroupAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.BeginHorizontalAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.BeginHorizontalGroupAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.BeginIndentAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.DynamicHelpAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.EditorButtonAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.EndGroupAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.EndHorizontalAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.EndHorizontalGroupAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.EndIndentAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.GuiColorAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.HelpAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.HighlightAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.ImageAreaAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.IndentAreaAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.LabelAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.LineAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.SpaceAreaAttributeDrawer, Toolbox.Editor
conditionDrawerHandlers:
- - classReference: Toolbox.Editor.Drawers.DisableAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.DisableIfAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.DisableInPlayModeAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.EnableIfAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.HideAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.HideDisabledIfAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.HideIfAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.ShowDisabledIfAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.ShowIfAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.ShowWarningIfAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.DisableAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.DisableIfAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.DisableInPlayModeAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.EnableIfAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.HideAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.HideDisabledIfAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.HideIfAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.ShowDisabledIfAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.ShowIfAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.ShowWarningIfAttributeDrawer, Toolbox.Editor
selfPropertyDrawerHandlers:
- - classReference: Toolbox.Editor.Drawers.DynamicMinMaxSliderAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.DynamicRangeAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.IgnoreParentAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.InLineEditorAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.RegexValueAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.DynamicMinMaxSliderAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.DynamicRangeAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.IgnoreParentAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.InLineEditorAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.ReferencePickerAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.RegexValueAttributeDrawer, Toolbox.Editor
listPropertyDrawerHandlers:
- - classReference: Toolbox.Editor.Drawers.ReorderableListAttributeDrawer, Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.ReorderableListExposedAttributeDrawer,
+ - typeReference: Toolbox.Editor.Drawers.ReorderableListAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.ReorderableListExposedAttributeDrawer,
Toolbox.Editor
- - classReference: Toolbox.Editor.Drawers.ScrollableItemsAttributeDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.ScrollableItemsAttributeDrawer, Toolbox.Editor
targetTypeDrawerHandlers:
- - classReference: Toolbox.Editor.Drawers.SerializedDictionaryDrawer, Toolbox.Editor
+ - typeReference: Toolbox.Editor.Drawers.SerializedDictionaryDrawer, Toolbox.Editor
diff --git a/Assets/Editor Toolbox/README.md b/Assets/Editor Toolbox/README.md
index 5378dc53..e2df44b2 100644
--- a/Assets/Editor Toolbox/README.md
+++ b/Assets/Editor Toolbox/README.md
@@ -36,6 +36,13 @@ Unity 2018.x or newer
- [Attributes & Drawers](#drawers)
- [Regular Drawers](#regulardrawers)
- [Toolbox Drawers](#toolboxdrawers)
+ - [Toolbox Decorator Attributes](#toolboxdecorator)
+ - [Toolbox Condition Attributes](#toolboxcondition)
+ - [Toolbox Property (Self/List) Attributes](#toolboxproperty)
+ - [Toolbox Special Attributes](#toolboxspecial)
+ - [Toolbox Archetype Attributes](#toolboxarchetype)
+ - [SerializeReference (ReferencePicker)](#toolboxreference)
+ - [Toolbox Custom Editors](#toolboxeditors)
- [Material Drawers](#materialdrawers)
- [Serialized Types](#serialized-types)
- [Editor Extensions](#editor-extensions)
@@ -43,11 +50,10 @@ Unity 2018.x or newer
- [Project](#project)
- [Toolbar](#toolbar)
- [Utilities](#utilities)
-- [Editor Extras](#editor-extras)
## Settings
-The most important file, it allows the user to manage all available features. Can be accessed from the Project Settings window (Edit/Project Settings.../Editor Toolbox) or directly inside the Project window. Make sure to have one valid settings file per project.
+The most important file, allows the user to manage all available features. Can be accessed from the Project Settings window (Edit/Project Settings.../Editor Toolbox) or directly inside the Project window. Make sure to have one valid settings file per project.
Available features are divided into three groups:
- Hierarchy
@@ -56,6 +62,9 @@ Available features are divided into three groups:
Each module is described in its respective section.
+If you want to keep your custom settings between UET versions, create your own settings file:
+```Create/Editor Toolbox/Settings```
+
## Attributes & Drawers
### Regular Drawers
@@ -81,17 +90,6 @@ public float var1 = 80.0f;
\

-#### NewLabelAttribute
-
-```csharp
-[NewLabel("Custom Label", "Element")]
-public int[] vars1 = new int[3];
-[NewLabel("Custom Label")]
-public float var2 = 25.4f;
-```
-
-
-
#### MinMaxSliderAttribute
```csharp
@@ -112,10 +110,6 @@ public Component var2;

-#### HideLabelAttribute
-
-
-
#### SuffixAttribute

@@ -255,7 +249,7 @@ Examples **'How to'** create custom ToolboxDrawers you can find [HERE](https://g

-#### ToolboxDecoratorAttributes
+#### Toolbox Decorator Attributes
Display/create something before and after property in the desired order (using Order property).
In fact **ToolboxDecoratorDrawers** are like extended version of built-in **DecoratorDrawers**.
@@ -337,7 +331,7 @@ public int var1;

-#### ToolboxConditionAttributes
+#### Toolbox Condition Attributes
Enable/disable or show/hide properties using custom conditions. You can use them together with any other type of drawer.
Every ToolboxConditionDrawer supports boolean, int, string, UnityEngine.Object and enum types and works even with array/list properties.
@@ -388,7 +382,9 @@ public int[] vars1 = new [] { 1, 2, 3, 4 };
\

-#### InLineEditorAttribute
+#### Toolbox Property Attributes
+
+##### InLineEditorAttribute
This attribute gives a great possibility to extend all reference-related (UnityEngine.Object) fields.
Using it you are able to 'inline' Editors for: components, ScriptableObjects, Materials, Renderers, MeshFilters, Textures, AudioClips, etc.
@@ -409,7 +405,7 @@ public Material var1;
```

-#### Reorderable List
+##### Reorderable List
Custom implementation of standard ReorderableList (UnityEditorInternal). Usable as an attribute in serialized fields or a single object in custom Editors.
@@ -448,7 +444,7 @@ private int GetValue()
}
```
-#### ScrollableItemsAttribute
+##### ScrollableItemsAttribute
It's a perfect solution to inspect large arrays/lists and optimize displaying them within the Inspector window.
@@ -459,7 +455,7 @@ public GameObject[] largeArray = new GameObject[19];

-#### Other ToolboxProperty attributes
+##### Other ToolboxProperty attributes
```csharp
[IgnoreParent]
@@ -474,7 +470,23 @@ public float minValue;
public float MaxValue => 15.0f;
```
-#### ToolboxArchetypeAttributes
+#### Toolbox Special Attributes
+
+Attributes handled internally by the ToolboxEditor. You can combine them with any other attributes.
+
+```csharp
+[NewLabel("Custom Label")]
+public float var1 = 25.4f;
+```
+
+```csharp
+[HideLabel]
+public float var1;
+```
+
+
+
+#### Toolbox Archetype Attributes
Using this attribute you are able to implement custom patterns of frequently grouped **ToolboxAttributes**.
@@ -513,6 +525,81 @@ public int var1;

+#### SerializeReference (ReferencePicker)
+
+You can draw properties marked with the **[SerializeReference]** attribute with an additional type picker that allows you to manipulate what managed type will be serialized.
+
+```csharp
+[SerializeReference, ReferencePicker]
+public Interface1 var1;
+[SerializeReference, ReferencePicker]
+public ClassWithInterfaceBase var2;
+
+public interface Interface1 { }
+
+[Serializable]
+public struct Struct : Interface1
+{
+ public bool var1;
+ public bool var2;
+}
+
+public abstract class ClassWithInterfaceBase : Interface1 { }
+
+[Serializable]
+public class ClassWithInterface1 : ClassWithInterfaceBase
+{
+ public GameObject go;
+}
+
+[Serializable]
+public class ClassWithInterface2 : ClassWithInterfaceBase
+{
+ [LeftToggle]
+ public bool var1;
+}
+
+[Serializable]
+public class ClassWithInterface3 : ClassWithInterfaceBase
+{
+ public int var1;
+}
+```
+
+
+
+#### Custom Editors
+
+If you want to create a custom **UnityEditor.Editor** for your components and still use Toolbox-related features be sure to inherit from the **Toolbox.Editor.ToolboxEditor** class.
+
+```csharp
+using UnityEditor;
+using UnityEngine;
+#if UNITY_2019_1_OR_NEWER
+using UnityEditor.UIElements;
+using UnityEngine.UIElements;
+#endif
+using Toolbox.Editor;
+
+[CustomEditor(typeof(SampleBehaviour))]
+public class SampleEditor : ToolboxEditor
+{
+ private void OnEnable()
+ { }
+
+ private void OnDisable()
+ { }
+
+ public override void DrawCustomInspector()
+ {
+ base.DrawCustomInspector();
+
+ //for custom properties:
+ // - ToolboxEditorGui.DrawToolboxProperty(serializedObject.FindProperty("myProperty"));
+ }
+}
+```
+
### Material Drawers
```
@@ -548,7 +635,7 @@ _HideIfExample ("Range", Range(0, 1)) = 0.75
Allows to serialize Types and pick them through a dedicated picker.
```csharp
-[ClassExtends(typeof(Collider), Grouping = ClassGrouping.None, AddTextSearchField = false)] //or [ClassImplements(typeof(interface))] for interfaces
+[TypeConstraint(typeof(Collider), AllowAbstract = false, AllowObsolete = false, TypeSettings = TypeSettings.Class, TypeGrouping = TypeGrouping.None)]
public SerializedType var1;
public void Usage()
@@ -602,14 +689,14 @@ public void Usage()
#endif
```
-#### SerializedDateTime
-
-Allows to serialize DateTime.
-


+#### SerializedDateTime
+
+Allows to serialize DateTime.
+
#### SerializedDirectory
Allows to serialize folders in form of assets and retrieve direct paths in runtime.
diff --git a/Assets/Editor Toolbox/Scripts.meta b/Assets/Editor Toolbox/Runtime.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts.meta
rename to Assets/Editor Toolbox/Runtime.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes.meta b/Assets/Editor Toolbox/Runtime/Attributes.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/AssetPreviewAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/AssetPreviewAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/AssetPreviewAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/AssetPreviewAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/AssetPreviewAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/AssetPreviewAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/AssetPreviewAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/AssetPreviewAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ChildObjectOnlyAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/ChildObjectOnlyAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ChildObjectOnlyAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/ChildObjectOnlyAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ChildObjectOnlyAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/ChildObjectOnlyAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ChildObjectOnlyAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/ChildObjectOnlyAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ClampAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/ClampAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ClampAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/ClampAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ClampAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/ClampAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ClampAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/ClampAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/DirectoryAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/DirectoryAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/DirectoryAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/DirectoryAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/DirectoryAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/DirectoryAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/DirectoryAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/DirectoryAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumFlagAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumFlagAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumFlagAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumFlagAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumFlagAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumFlagAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumFlagAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumFlagAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumTogglesAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumTogglesAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumTogglesAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumTogglesAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumTogglesAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumTogglesAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/EnumTogglesAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/EnumTogglesAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/FormattedNumberAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/FormattedNumberAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/FormattedNumberAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/FormattedNumberAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/FormattedNumberAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/FormattedNumberAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/FormattedNumberAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/FormattedNumberAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LabelByChildAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/LabelByChildAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LabelByChildAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/LabelByChildAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LabelByChildAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/LabelByChildAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LabelByChildAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/LabelByChildAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LayerAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/LayerAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LayerAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/LayerAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LayerAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/LayerAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LayerAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/LayerAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LeftToggleAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/LeftToggleAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LeftToggleAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/LeftToggleAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LeftToggleAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/LeftToggleAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/LeftToggleAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/LeftToggleAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/MinMaxSliderAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/MinMaxSliderAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/MinMaxSliderAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/MinMaxSliderAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/MinMaxSliderAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/MinMaxSliderAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/MinMaxSliderAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/MinMaxSliderAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NotNullAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/NotNullAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NotNullAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/NotNullAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NotNullAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/NotNullAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NotNullAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/NotNullAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/OnValueChangedAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/OnValueChangedAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/OnValueChangedAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/OnValueChangedAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/OnValueChangedAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/OnValueChangedAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/OnValueChangedAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/OnValueChangedAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PasswordAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/PasswordAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PasswordAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/PasswordAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PasswordAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/PasswordAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PasswordAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/PasswordAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PrefabObjectOnlyAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/PrefabObjectOnlyAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PrefabObjectOnlyAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/PrefabObjectOnlyAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PrefabObjectOnlyAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/PrefabObjectOnlyAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PrefabObjectOnlyAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/PrefabObjectOnlyAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PresetAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/PresetAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PresetAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/PresetAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PresetAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/PresetAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/PresetAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/PresetAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ProgressBarAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/ProgressBarAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ProgressBarAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/ProgressBarAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ProgressBarAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/ProgressBarAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/ProgressBarAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/ProgressBarAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneDetailsAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneDetailsAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneDetailsAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneDetailsAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneDetailsAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneDetailsAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneDetailsAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneDetailsAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneNameAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneNameAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneNameAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneNameAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneNameAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneNameAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneNameAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneNameAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneObjectOnlyAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneObjectOnlyAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneObjectOnlyAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneObjectOnlyAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneObjectOnlyAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneObjectOnlyAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SceneObjectOnlyAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SceneObjectOnlyAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SearchableEnumAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SearchableEnumAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SearchableEnumAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SearchableEnumAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SearchableEnumAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SearchableEnumAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SearchableEnumAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SearchableEnumAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SuffixAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SuffixAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SuffixAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SuffixAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SuffixAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/SuffixAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/SuffixAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/SuffixAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TagSelectorAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/TagSelectorAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TagSelectorAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/TagSelectorAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TagSelectorAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/TagSelectorAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TagSelectorAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/TagSelectorAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TypeConstraintAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Regular/TypeConstraintAttribute.cs
similarity index 62%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TypeConstraintAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/TypeConstraintAttribute.cs
index cb601e4f..0a29e184 100644
--- a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TypeConstraintAttribute.cs
+++ b/Assets/Editor Toolbox/Runtime/Attributes/Regular/TypeConstraintAttribute.cs
@@ -1,10 +1,5 @@
using System;
-using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
-using System.Reflection;
-
-using UnityEditor;
namespace UnityEngine
{
@@ -15,90 +10,14 @@ namespace UnityEngine
///
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
[Conditional("UNITY_EDITOR")]
- public abstract class TypeConstraintAttribute : PropertyAttribute
+ public class TypeConstraintAttribute : PropertyAttribute
{
- protected TypeConstraintAttribute(Type assemblyType)
+ public TypeConstraintAttribute(Type assemblyType)
{
AssemblyType = assemblyType;
}
- ///
- /// Get all proper types from executing assembly.
- ///
- public virtual List GetFilteredTypes()
- {
-#if UNITY_EDITOR
- var types = TypeCache.GetTypesDerivedFrom(AssemblyType).ToList();
- for (var i = types.Count - 1; i >= 0; i--)
- {
- var type = types[i];
- if (IsConstraintSatisfied(type))
- {
- continue;
- }
-
- types.RemoveAt(i);
- }
-
- return types;
-#else
- return new List();
-#endif
- }
-
- ///
- /// Get all filtered type from provided assembly.
- ///
- public virtual List GetFilteredTypes(Assembly assembly)
- {
- var types = new List();
- foreach (var type in assembly.GetTypes())
- {
- if (!IsConstraintSatisfied(type))
- {
- continue;
- }
-
- types.Add(type);
- }
-
- return types;
- }
-
- ///
- /// Determines whether the specified satisfies filter constraint.
- ///
- /// Type to test.
- ///
- /// A value indicating if the type specified by
- /// satisfies this constraint and should thus be selectable.
- ///
- public virtual bool IsConstraintSatisfied(Type type)
- {
- //NOTE: it's possible to strip out ConstructedGenericTypes, but they are considered valid for now
- if (!type.IsVisible || !type.IsClass)
- {
- return false;
- }
-
- return (AllowAbstract || !type.IsAbstract) && (AllowObsolete || !IsDefined(type, typeof(ObsoleteAttribute)));
- }
-
- ///
- public override int GetHashCode()
- {
- unchecked
- {
- var result = 0;
- result = (result * 397) ^ AssemblyType.GetHashCode();
- result = (result * 397) ^ AllowAbstract.GetHashCode();
- result = (result * 397) ^ AllowObsolete.GetHashCode();
- return result;
- }
- }
-
-
///
/// Associated type which will define what type we are looking for.
///
@@ -124,7 +43,18 @@ public override int GetHashCode()
/// Gets or sets grouping of selectable classes.
/// Defaults to unless explicitly specified.
///
+ [Obsolete("Use TypeGrouping instead.")]
public ClassGrouping Grouping { get; set; } = ClassGrouping.None;
+
+ ///
+ /// Gets or sets grouping of selectable classes.
+ /// Defaults to unless explicitly specified.
+ ///
+ public TypeGrouping TypeGrouping { get; set; } = TypeGrouping.None;
+ ///
+ /// Indicates what kind of types are accepted.
+ ///
+ public TypeSettings TypeSettings { get; set; } = TypeSettings.Class | TypeSettings.Interface;
}
///
@@ -135,6 +65,7 @@ public sealed class ClassExtendsAttribute : TypeConstraintAttribute
///
/// Initializes a new instance of the class.
///
+ [Obsolete]
public ClassExtendsAttribute() : base(typeof(object))
{ }
@@ -143,7 +74,9 @@ public ClassExtendsAttribute() : base(typeof(object))
///
/// Type of class that selectable classes must derive from.
public ClassExtendsAttribute(Type baseType) : base(baseType)
- { }
+ {
+ TypeSettings = TypeSettings.Class;
+ }
}
///
@@ -154,6 +87,7 @@ public sealed class ClassImplementsAttribute : TypeConstraintAttribute
///
/// Initializes a new instance of the class.
///
+ [Obsolete]
public ClassImplementsAttribute() : base(null)
{ }
@@ -162,12 +96,50 @@ public ClassImplementsAttribute() : base(null)
///
/// Type of interface that selectable classes must implement.
public ClassImplementsAttribute(Type interfaceType) : base(interfaceType)
- { }
+ {
+ TypeSettings = TypeSettings.Class;
+ }
+ }
+
+ ///
+ /// Indicates what kind of s are accepted by the filtering system.
+ ///
+ [Flags]
+ public enum TypeSettings
+ {
+ Class = 1,
+ Interface = 2
+ }
+
+ ///
+ /// Indicates how selectable classes should be collated in drop-down menu.
+ ///
+ public enum TypeGrouping
+ {
+ ///
+ /// No grouping, just show type names in a list; for instance, "Some.Nested.Namespace.SpecialClass".
+ ///
+ None,
+ ///
+ /// Group classes by namespace and show foldout menus for nested namespaces; for
+ /// instance, "Some > Nested > Namespace > SpecialClass".
+ ///
+ ByNamespace,
+ ///
+ /// Group classes by namespace; for instance, "Some.Nested.Namespace > SpecialClass".
+ ///
+ ByNamespaceFlat,
+ ///
+ /// Group classes in the same way as Unity does for its component menu. This
+ /// grouping method must only be used for types.
+ ///
+ ByAddComponentMenu,
}
///
/// Indicates how selectable classes should be collated in drop-down menu.
///
+ [Obsolete("Use TypeGrouping instead.")]
public enum ClassGrouping
{
///
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TypeConstraintAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Regular/TypeConstraintAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/TypeConstraintAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Regular/TypeConstraintAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Runtime/Attributes/Special.meta b/Assets/Editor Toolbox/Runtime/Attributes/Special.meta
new file mode 100644
index 00000000..5ecc3f69
--- /dev/null
+++ b/Assets/Editor Toolbox/Runtime/Attributes/Special.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6c2a4ff6508976b4a8fba531fc8006a8
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/HideLabelAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Special/HideLabelAttribute.cs
similarity index 67%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/HideLabelAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Special/HideLabelAttribute.cs
index edf7fb7a..8795c32e 100644
--- a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/HideLabelAttribute.cs
+++ b/Assets/Editor Toolbox/Runtime/Attributes/Special/HideLabelAttribute.cs
@@ -10,6 +10,9 @@ namespace UnityEngine
///
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
[Conditional("UNITY_EDITOR")]
- public class HideLabelAttribute : PropertyAttribute
- { }
+ public class HideLabelAttribute : NewLabelAttribute
+ {
+ public HideLabelAttribute() : base(string.Empty)
+ { }
+ }
}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/HideLabelAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Special/HideLabelAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/HideLabelAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Special/HideLabelAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NewLabelAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Special/NewLabelAttribute.cs
similarity index 61%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NewLabelAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Special/NewLabelAttribute.cs
index 2f10fa80..cd9b1003 100644
--- a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NewLabelAttribute.cs
+++ b/Assets/Editor Toolbox/Runtime/Attributes/Special/NewLabelAttribute.cs
@@ -12,14 +12,27 @@ namespace UnityEngine
[Conditional("UNITY_EDITOR")]
public class NewLabelAttribute : PropertyAttribute
{
+ public NewLabelAttribute(string newLabel)
+ {
+ NewLabel = newLabel;
+ }
+
+ [Obsolete]
public NewLabelAttribute(string newLabel, string oldLabel = null)
{
NewLabel = newLabel;
OldLabel = oldLabel;
}
+ ///
+ /// New label that will be used in the Inspector.
+ ///
public string NewLabel { get; private set; }
-
+ ///
+ /// Indicates what name (or part) has to be replaced.
+ /// Useful to change labels for array elements.
+ ///
+ [Obsolete]
public string OldLabel { get; private set; }
}
}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NewLabelAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Special/NewLabelAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/RegularAttributes/NewLabelAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Special/NewLabelAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes.meta
diff --git a/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/ScriptablesListAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/ScriptablesListAttribute.cs
new file mode 100644
index 00000000..b5c0111c
--- /dev/null
+++ b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/ScriptablesListAttribute.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Diagnostics;
+
+namespace UnityEngine
+{
+ [AttributeUsage(AttributeTargets.Field, AllowMultiple = true)]
+ [Conditional("UNITY_EDITOR")]
+ public class ScriptablesListAttribute : ToolboxArchetypeAttribute
+ {
+ public override ToolboxAttribute[] Process()
+ {
+ return new ToolboxAttribute[]
+ {
+ new InLineEditorAttribute(),
+ new ReorderableListAttribute()
+ {
+ Foldable = Foldable,
+ HasLabels = HasLabels,
+ HasHeader = HasHeader
+ }
+ };
+ }
+
+ ///
+ /// Indicates whether list should be allowed to fold in and out.
+ ///
+ public bool Foldable { get; set; } = true;
+ ///
+ /// Indicates whether list should have a label above elements.
+ ///
+ public bool HasHeader { get; set; } = true;
+ ///
+ /// Indicates whether each element should have an additional label.
+ ///
+ public bool HasLabels { get; set; } = false;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/ScriptablesListAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/ScriptablesListAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/ScriptablesListAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/ScriptablesListAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/TitleAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/TitleAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/TitleAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/TitleAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/TitleAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/TitleAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/TitleAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ArchetypeAttributes/TitleAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ComparisonAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ComparisonAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ComparisonAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ComparisonAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ComparisonAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ComparisonAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ComparisonAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ComparisonAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableIfAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableIfAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableIfAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableIfAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableIfAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableIfAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableIfAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableIfAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableInPlayModeAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableInPlayModeAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableInPlayModeAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableInPlayModeAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableInPlayModeAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableInPlayModeAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/DisableInPlayModeAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/DisableInPlayModeAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/EnableIfAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/EnableIfAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/EnableIfAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/EnableIfAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/EnableIfAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/EnableIfAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/EnableIfAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/EnableIfAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideDisabledIfAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideDisabledIfAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideDisabledIfAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideDisabledIfAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideDisabledIfAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideDisabledIfAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideDisabledIfAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideDisabledIfAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideIfAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideIfAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideIfAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideIfAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideIfAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideIfAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/HideIfAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/HideIfAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowDisabledIfAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowDisabledIfAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowDisabledIfAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowDisabledIfAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowDisabledIfAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowDisabledIfAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowDisabledIfAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowDisabledIfAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowIfAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowIfAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowIfAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowIfAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowIfAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowIfAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowIfAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowIfAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowWarningIfAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowWarningIfAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowWarningIfAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowWarningIfAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowWarningIfAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowWarningIfAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/ShowWarningIfAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/ShowWarningIfAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/UnityComparisonMethod.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/UnityComparisonMethod.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/UnityComparisonMethod.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/UnityComparisonMethod.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/UnityComparisonMethod.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/UnityComparisonMethod.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ConditionAttributes/UnityComparisonMethod.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ConditionAttributes/UnityComparisonMethod.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginGroupAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginGroupAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginGroupAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginGroupAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginGroupAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginGroupAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginGroupAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginGroupAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalGroupAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalGroupAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalGroupAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalGroupAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalGroupAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalGroupAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginHorizontalGroupAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginHorizontalGroupAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginIndentAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginIndentAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginIndentAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginIndentAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginIndentAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginIndentAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/BeginIndentAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/BeginIndentAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/DynamicHelpAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/DynamicHelpAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/DynamicHelpAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/DynamicHelpAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/DynamicHelpAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/DynamicHelpAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/DynamicHelpAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/DynamicHelpAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EditorButtonAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EditorButtonAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EditorButtonAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EditorButtonAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EditorButtonAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EditorButtonAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EditorButtonAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EditorButtonAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndGroupAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndGroupAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndGroupAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndGroupAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndGroupAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndGroupAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndGroupAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndGroupAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalGroupAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalGroupAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalGroupAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalGroupAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalGroupAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalGroupAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndHorizontalGroupAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndHorizontalGroupAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndIndentAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndIndentAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndIndentAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndIndentAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndIndentAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndIndentAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/EndIndentAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/EndIndentAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/GuiColorAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/GuiColorAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/GuiColorAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/GuiColorAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/GuiColorAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/GuiColorAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/GuiColorAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/GuiColorAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HelpAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HelpAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HelpAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HelpAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HelpAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HelpAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HelpAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HelpAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HighlightAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HighlightAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HighlightAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HighlightAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HighlightAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HighlightAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/HighlightAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/HighlightAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/ImageAreaAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/ImageAreaAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/ImageAreaAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/ImageAreaAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/ImageAreaAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/ImageAreaAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/ImageAreaAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/ImageAreaAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/IndentAreaAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/IndentAreaAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/IndentAreaAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/IndentAreaAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/IndentAreaAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/IndentAreaAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/IndentAreaAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/IndentAreaAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LabelAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LabelAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LabelAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LabelAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LabelAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LabelAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LabelAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LabelAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LineAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LineAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LineAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LineAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LineAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LineAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/LineAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/LineAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/SpaceAreaAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/SpaceAreaAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/SpaceAreaAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/SpaceAreaAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/SpaceAreaAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/SpaceAreaAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/SpaceAreaAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/SpaceAreaAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/UnityMessageType.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/UnityMessageType.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/UnityMessageType.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/UnityMessageType.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/UnityMessageType.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/UnityMessageType.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/DecoratorAttributes/UnityMessageType.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/DecoratorAttributes/UnityMessageType.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListExposedAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListExposedAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListExposedAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListExposedAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListExposedAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListExposedAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ReorderableListExposedAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ReorderableListExposedAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ScrollableItemsAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ScrollableItemsAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ScrollableItemsAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ScrollableItemsAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ScrollableItemsAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ScrollableItemsAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertyListAttributes/ScrollableItemsAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertyListAttributes/ScrollableItemsAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxBaseAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicMinMaxSliderAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicRangeAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicRangeAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicRangeAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicRangeAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicRangeAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicRangeAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/DynamicRangeAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/DynamicRangeAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/IgnoreParentAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/IgnoreParentAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/IgnoreParentAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/IgnoreParentAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/IgnoreParentAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/IgnoreParentAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/IgnoreParentAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/IgnoreParentAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/InLineEditorAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/InLineEditorAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/InLineEditorAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/InLineEditorAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/InLineEditorAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/InLineEditorAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/InLineEditorAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/InLineEditorAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/ReferencePickerAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/ReferencePickerAttribute.cs
new file mode 100644
index 00000000..eb40407d
--- /dev/null
+++ b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/ReferencePickerAttribute.cs
@@ -0,0 +1,17 @@
+#if UNITY_2019_3_OR_NEWER
+using System;
+using System.Diagnostics;
+
+namespace UnityEngine
+{
+ ///
+ /// Creates dedicated drawer for fields marked with the .
+ ///
+ /// Supported types: any serializable type and field with the attribute.
+ ///
+ [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
+ [Conditional("UNITY_EDITOR")]
+ public class ReferencePickerAttribute : ToolboxSelfPropertyAttribute
+ { }
+}
+#endif
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/ReferencePickerAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/ReferencePickerAttribute.cs.meta
new file mode 100644
index 00000000..95e6b8f0
--- /dev/null
+++ b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/ReferencePickerAttribute.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 99f196ef06b29634cb8bbd2fcde93038
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/RegexValueAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/RegexValueAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/RegexValueAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/RegexValueAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/RegexValueAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/RegexValueAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/PropertySelfAttributes/RegexValueAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/PropertySelfAttributes/RegexValueAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxArchetypeAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxArchetypeAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxArchetypeAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxArchetypeAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxArchetypeAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxArchetypeAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxArchetypeAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxArchetypeAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxConditionAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxConditionAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxConditionAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxConditionAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxConditionAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxConditionAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxConditionAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxConditionAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxDecoratorAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxDecoratorAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxDecoratorAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxDecoratorAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxDecoratorAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxDecoratorAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxDecoratorAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxDecoratorAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxListPropertyAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxListPropertyAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxListPropertyAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxListPropertyAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxListPropertyAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxListPropertyAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxListPropertyAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxListPropertyAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxPropertyAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxPropertyAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxPropertyAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxPropertyAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxPropertyAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxPropertyAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxPropertyAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxPropertyAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxSelfPropertyAttribute.cs b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxSelfPropertyAttribute.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxSelfPropertyAttribute.cs
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxSelfPropertyAttribute.cs
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxSelfPropertyAttribute.cs.meta b/Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxSelfPropertyAttribute.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ToolboxSelfPropertyAttribute.cs.meta
rename to Assets/Editor Toolbox/Runtime/Attributes/Toolbox/ToolboxSelfPropertyAttribute.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Extensions.meta b/Assets/Editor Toolbox/Runtime/Extensions.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Extensions.meta
rename to Assets/Editor Toolbox/Runtime/Extensions.meta
diff --git a/Assets/Editor Toolbox/Scripts/Extensions/TypeExtensions.cs b/Assets/Editor Toolbox/Runtime/Extensions/TypeExtensions.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Extensions/TypeExtensions.cs
rename to Assets/Editor Toolbox/Runtime/Extensions/TypeExtensions.cs
diff --git a/Assets/Editor Toolbox/Scripts/Extensions/TypeExtensions.cs.meta b/Assets/Editor Toolbox/Runtime/Extensions/TypeExtensions.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Extensions/TypeExtensions.cs.meta
rename to Assets/Editor Toolbox/Runtime/Extensions/TypeExtensions.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Serialization.meta b/Assets/Editor Toolbox/Runtime/Serialization.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization.meta
rename to Assets/Editor Toolbox/Runtime/Serialization.meta
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedDateTime.cs b/Assets/Editor Toolbox/Runtime/Serialization/SerializedDateTime.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedDateTime.cs
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedDateTime.cs
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedDateTime.cs.meta b/Assets/Editor Toolbox/Runtime/Serialization/SerializedDateTime.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedDateTime.cs.meta
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedDateTime.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedDictionary.cs b/Assets/Editor Toolbox/Runtime/Serialization/SerializedDictionary.cs
similarity index 96%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedDictionary.cs
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedDictionary.cs
index 7ad6d8e5..c30a1025 100644
--- a/Assets/Editor Toolbox/Scripts/Serialization/SerializedDictionary.cs
+++ b/Assets/Editor Toolbox/Runtime/Serialization/SerializedDictionary.cs
@@ -122,12 +122,6 @@ public void Clear()
indexByKey.Clear();
}
- [Obsolete("Use BuildNativeDictionary instead.")]
- public Dictionary BuiltNativeDictionary()
- {
- return new Dictionary(dictionary);
- }
-
public Dictionary BuildNativeDictionary()
{
return new Dictionary(dictionary);
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedDictionary.cs.meta b/Assets/Editor Toolbox/Runtime/Serialization/SerializedDictionary.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedDictionary.cs.meta
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedDictionary.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedDirectory.cs b/Assets/Editor Toolbox/Runtime/Serialization/SerializedDirectory.cs
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedDirectory.cs
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedDirectory.cs
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedDirectory.cs.meta b/Assets/Editor Toolbox/Runtime/Serialization/SerializedDirectory.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedDirectory.cs.meta
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedDirectory.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedScene.cs b/Assets/Editor Toolbox/Runtime/Serialization/SerializedScene.cs
similarity index 79%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedScene.cs
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedScene.cs
index 91da5a09..3ffaf56c 100644
--- a/Assets/Editor Toolbox/Scripts/Serialization/SerializedScene.cs
+++ b/Assets/Editor Toolbox/Runtime/Serialization/SerializedScene.cs
@@ -6,6 +6,9 @@
namespace UnityEngine
{
+ ///
+ /// Custom serializable class used to serialize the class.
+ ///
[Serializable]
public class SerializedScene : ISerializationCallbackReceiver
{
@@ -18,6 +21,8 @@ public class SerializedScene : ISerializationCallbackReceiver
[SerializeField, HideInInspector]
private string sceneName;
[SerializeField, HideInInspector]
+ private string scenePath;
+ [SerializeField, HideInInspector]
private int buildIndex;
@@ -29,6 +34,7 @@ void ISerializationCallbackReceiver.OnBeforeSerialize()
#if UNITY_EDITOR
TryGetBuildIndex(sceneReference, out buildIndex);
TryGetSceneName(sceneReference, out sceneName);
+ TryGetScenePath(sceneReference, out scenePath);
#endif
}
@@ -85,6 +91,18 @@ private static bool TryGetSceneName(SceneAsset sceneAsset, out string name)
return true;
}
+ public static bool TryGetScenePath(SceneAsset sceneAsset, out string path)
+ {
+ if (sceneAsset == null)
+ {
+ path = null;
+ return false;
+ }
+
+ path = AssetDatabase.GetAssetPath(sceneAsset);
+ return true;
+ }
+
public SceneAsset SceneReference
{
@@ -99,6 +117,12 @@ public string SceneName
set => sceneName = value;
}
+ public string ScenePath
+ {
+ get => scenePath;
+ set => scenePath = value;
+ }
+
public int BuildIndex
{
get => buildIndex;
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedScene.cs.meta b/Assets/Editor Toolbox/Runtime/Serialization/SerializedScene.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedScene.cs.meta
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedScene.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedType.cs b/Assets/Editor Toolbox/Runtime/Serialization/SerializedType.cs
similarity index 70%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedType.cs
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedType.cs
index 2b61f25f..56906d55 100644
--- a/Assets/Editor Toolbox/Scripts/Serialization/SerializedType.cs
+++ b/Assets/Editor Toolbox/Runtime/Serialization/SerializedType.cs
@@ -2,22 +2,16 @@
namespace UnityEngine
{
+ using UnityEngine.Serialization;
+
///
/// Reference to a class with support for Unity serialization.
///
[Serializable]
public sealed class SerializedType : ISerializationCallbackReceiver
{
- public static string GetClassReference(Type type)
- {
- return type != null
- ? type.FullName + ", " + type.Assembly.GetName().Name
- : string.Empty;
- }
-
-
- [SerializeField]
- private string classReference;
+ [SerializeField, FormerlySerializedAs("classReference")]
+ private string typeReference;
private Type type;
@@ -31,11 +25,11 @@ public SerializedType()
///
/// Initializes a new instance of the class.
///
- /// Assembly qualified class name.
- public SerializedType(string assemblyQualifiedClassName)
+ /// Assembly qualified class name.
+ public SerializedType(string assemblyQualifiedTypeName)
{
- Type = !string.IsNullOrEmpty(assemblyQualifiedClassName)
- ? Type.GetType(assemblyQualifiedClassName)
+ Type = !string.IsNullOrEmpty(assemblyQualifiedTypeName)
+ ? Type.GetType(assemblyQualifiedTypeName)
: null;
}
@@ -43,7 +37,7 @@ public SerializedType(string assemblyQualifiedClassName)
/// Initializes a new instance of the class.
///
/// Class type.
- ///
+ ///
/// If is not a class type.
///
public SerializedType(Type type)
@@ -52,6 +46,20 @@ public SerializedType(Type type)
}
+ public static string GetReferenceValue(Type type)
+ {
+ return type != null
+ ? type.FullName + ", " + type.Assembly.GetName().Name
+ : string.Empty;
+ }
+
+ public static Type GetReferenceType(string referenceValue)
+ {
+ return !string.IsNullOrEmpty(referenceValue)
+ ? Type.GetType(referenceValue)
+ : null;
+ }
+
public override string ToString()
{
return Type != null ? Type.FullName : $"(None)";
@@ -59,14 +67,13 @@ public override string ToString()
void ISerializationCallbackReceiver.OnAfterDeserialize()
{
- if (!string.IsNullOrEmpty(classReference))
+ if (!string.IsNullOrEmpty(typeReference))
{
- type = Type.GetType(classReference);
-
+ type = Type.GetType(typeReference);
if (type == null)
{
#if UNITY_EDITOR
- Debug.LogWarning($"'{classReference}' was referenced but class type was not found.");
+ Debug.LogWarning($"'{typeReference}' was referenced but class type was not found.");
#endif
}
}
@@ -97,12 +104,12 @@ public Type Type
}
type = value;
- classReference = GetClassReference(value);
+ typeReference = GetReferenceValue(value);
}
}
- public static implicit operator string(SerializedType typeReference) => typeReference.classReference;
+ public static implicit operator string(SerializedType typeReference) => typeReference.typeReference;
public static implicit operator Type(SerializedType typeReference) => typeReference.Type;
diff --git a/Assets/Editor Toolbox/Scripts/Serialization/SerializedType.cs.meta b/Assets/Editor Toolbox/Runtime/Serialization/SerializedType.cs.meta
similarity index 100%
rename from Assets/Editor Toolbox/Scripts/Serialization/SerializedType.cs.meta
rename to Assets/Editor Toolbox/Runtime/Serialization/SerializedType.cs.meta
diff --git a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/ScriptablesListAttribute.cs b/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/ScriptablesListAttribute.cs
deleted file mode 100644
index 4588799f..00000000
--- a/Assets/Editor Toolbox/Scripts/Attributes/ToolboxAttributes/ArchetypeAttributes/ScriptablesListAttribute.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Diagnostics;
-
-namespace UnityEngine
-{
- [AttributeUsage(AttributeTargets.Field, AllowMultiple = true)]
- [Conditional("UNITY_EDITOR")]
- public class ScriptablesListAttribute : ToolboxArchetypeAttribute
- {
- public override ToolboxAttribute[] Process()
- {
- return new ToolboxAttribute[]
- {
- new InLineEditorAttribute(),
- new ReorderableListAttribute()
- {
- HasLabels = false
- }
- };
- }
- }
-}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Tests/Editor/ExtractionTest.cs b/Assets/Editor Toolbox/Tests/Editor/ExtractionTest.cs
index f79e801f..0bc75784 100644
--- a/Assets/Editor Toolbox/Tests/Editor/ExtractionTest.cs
+++ b/Assets/Editor Toolbox/Tests/Editor/ExtractionTest.cs
@@ -1,4 +1,5 @@
-using NUnit.Framework;
+using NUnit.Framework;
+
using UnityEditor;
using UnityEngine;
diff --git a/Assets/Editor Toolbox/Tests/Editor/PropertyUtilitesTest.cs b/Assets/Editor Toolbox/Tests/Editor/PropertyUtilitesTest.cs
index e00142d2..81758a51 100644
--- a/Assets/Editor Toolbox/Tests/Editor/PropertyUtilitesTest.cs
+++ b/Assets/Editor Toolbox/Tests/Editor/PropertyUtilitesTest.cs
@@ -1,4 +1,5 @@
-using NUnit.Framework;
+using NUnit.Framework;
+
using UnityEditor;
using UnityEngine;
diff --git a/Assets/Editor Toolbox/Tests/Editor/ReorderableListTest.cs b/Assets/Editor Toolbox/Tests/Editor/ReorderableListTest.cs
index 1eff88ee..62d54996 100644
--- a/Assets/Editor Toolbox/Tests/Editor/ReorderableListTest.cs
+++ b/Assets/Editor Toolbox/Tests/Editor/ReorderableListTest.cs
@@ -1,4 +1,5 @@
-using NUnit.Framework;
+using NUnit.Framework;
+
using UnityEditor;
using UnityEngine;
diff --git a/Assets/Editor Toolbox/Tests/Editor/SerializationTest.cs b/Assets/Editor Toolbox/Tests/Editor/SerializationTest.cs
index 5ad1726e..a15de43b 100644
--- a/Assets/Editor Toolbox/Tests/Editor/SerializationTest.cs
+++ b/Assets/Editor Toolbox/Tests/Editor/SerializationTest.cs
@@ -1,4 +1,5 @@
-using NUnit.Framework;
+using NUnit.Framework;
+
using UnityEditor;
using UnityEngine;
diff --git a/Assets/Editor Toolbox/Tests/Editor/TypesFilteringTest.cs b/Assets/Editor Toolbox/Tests/Editor/TypesFilteringTest.cs
new file mode 100644
index 00000000..5115070c
--- /dev/null
+++ b/Assets/Editor Toolbox/Tests/Editor/TypesFilteringTest.cs
@@ -0,0 +1,175 @@
+using System;
+
+using NUnit.Framework;
+
+using UnityEngine;
+
+namespace Toolbox.Editor.Tests
+{
+ using Toolbox.Editor.Internal;
+
+ public class TypesFilteringTest
+ {
+ public interface Interface1 { }
+ public interface Interface2 : Interface1 { }
+ public interface Interface3 : Interface1 { }
+ public interface Interface4 : Interface2 { }
+ public interface Interface4 : Interface3 { }
+
+ public abstract class ClassBase : Interface1 { }
+ public class ClassWithInterface1 : ClassBase { }
+ [Obsolete]
+ public class ClassWithInterface2 : ClassBase { }
+ public class ClassWithInterface3 : ClassBase { }
+
+
+ [TestCase(typeof(ClassBase), 3)]
+ [TestCase(typeof(Interface1), 6)]
+ [TestCase(typeof(MonoBehaviour), 2)]
+ public void TestTypesCachingPass(Type parentType, int count)
+ {
+ TypeUtilities.ClearCache();
+ for (var i = 0; i < count; i++)
+ {
+ TypeUtilities.GetCollection(parentType);
+ }
+
+ Assert.AreEqual(1, TypeUtilities.cachedCollections.Count);
+ }
+
+ [Test]
+ public void TestStandardConstraintPass1()
+ {
+ var constraint = new TypeConstraintStandard(typeof(Interface1), TypeSettings.Class, false, false);
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsFalse(collection.Contains(typeof(ClassBase)));
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsFalse(collection.Contains(typeof(Interface2)));
+ Assert.IsFalse(collection.Contains(typeof(Interface3)));
+ }
+
+ [Test]
+ public void TestStandardConstraintPass2()
+ {
+ var constraint = new TypeConstraintStandard(typeof(Interface1), TypeSettings.Class, true, false);
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsTrue(collection.Contains(typeof(ClassBase)));
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsFalse(collection.Contains(typeof(Interface2)));
+ Assert.IsFalse(collection.Contains(typeof(Interface3)));
+ }
+
+ [Test]
+ public void TestStandardConstraintPass3()
+ {
+ var constraint = new TypeConstraintStandard(typeof(Interface1), TypeSettings.Class, true, true);
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsTrue(collection.Contains(typeof(ClassBase)));
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsFalse(collection.Contains(typeof(Interface2)));
+ Assert.IsFalse(collection.Contains(typeof(Interface3)));
+ }
+
+ [Test]
+ public void TestStandardConstraintPass4()
+ {
+ var constraint = new TypeConstraintStandard(typeof(Interface1), TypeSettings.Interface, true, true);
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsFalse(collection.Contains(typeof(ClassBase)));
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsTrue(collection.Contains(typeof(Interface2)));
+ Assert.IsTrue(collection.Contains(typeof(Interface3)));
+ }
+
+ [Test]
+ public void TestStandardConstraintPass5()
+ {
+ var constraint = new TypeConstraintStandard(typeof(Interface1), TypeSettings.Class | TypeSettings.Interface, true, false);
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsTrue(collection.Contains(typeof(ClassBase)));
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsTrue(collection.Contains(typeof(Interface2)));
+ Assert.IsTrue(collection.Contains(typeof(Interface3)));
+ }
+
+ [Test]
+ public void TestStandardConstraintPass6()
+ {
+ var constraint = new TypeConstraintStandard(typeof(ClassBase), TypeSettings.Class | TypeSettings.Interface, false, false);
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsFalse(collection.Contains(typeof(ClassBase)));
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsFalse(collection.Contains(typeof(Interface2)));
+ Assert.IsFalse(collection.Contains(typeof(Interface3)));
+ }
+
+ [Test]
+ public void TestStandardConstraintPass7()
+ {
+ var constraint = new TypeConstraintStandard(typeof(Component), TypeSettings.Class | TypeSettings.Interface, true, false);
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsFalse(collection.Contains(typeof(ClassBase)));
+ Assert.IsTrue(collection.Contains(typeof(Collider)));
+ }
+
+ [Test]
+ public void TestReferenceConstraintPass1()
+ {
+ var constraint = new TypeConstraintReference(typeof(Component));
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.AreEqual(0, collection.Values.Count);
+ }
+
+ [Test]
+ public void TestReferenceConstraintPass2()
+ {
+ var constraint = new TypeConstraintReference(typeof(ClassBase));
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsFalse(collection.Contains(typeof(Interface2)));
+ Assert.IsFalse(collection.Contains(typeof(Interface3)));
+ }
+
+ [Test]
+ public void TestReferenceConstraintPass3()
+ {
+ var constraint = new TypeConstraintReference(typeof(Interface1));
+ var collection = TypeUtilities.GetCollection(constraint);
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface1)));
+#pragma warning disable CS0612
+ Assert.IsFalse(collection.Contains(typeof(ClassWithInterface2)));
+#pragma warning restore CS0612
+ Assert.IsTrue(collection.Contains(typeof(ClassWithInterface3)));
+ Assert.IsFalse(collection.Contains(typeof(Interface2)));
+ Assert.IsFalse(collection.Contains(typeof(Interface3)));
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Editor Toolbox/Tests/Editor/TypesFilteringTest.cs.meta b/Assets/Editor Toolbox/Tests/Editor/TypesFilteringTest.cs.meta
new file mode 100644
index 00000000..3b82ee6a
--- /dev/null
+++ b/Assets/Editor Toolbox/Tests/Editor/TypesFilteringTest.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 53f9360cece7a274e9d7cc2fd41939b9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Toolbox/package.json b/Assets/Editor Toolbox/package.json
index d4082b27..e7b539bf 100644
--- a/Assets/Editor Toolbox/package.json
+++ b/Assets/Editor Toolbox/package.json
@@ -1,7 +1,7 @@
{
"name": "com.arimger.editor-toolbox",
"displayName": "Editor Toolbox",
- "version": "0.10.9",
+ "version": "0.11.1",
"unity": "2018.1",
"description": "Tools, custom attributes, drawers, hierarchy overlay, and other extensions for the Unity Editor.",
"keywords": [
diff --git a/Assets/Examples/Editor Resources/Editor Brush Icon.png b/Assets/Examples/Editor Resources/Editor Brush Icon.png
deleted file mode 100644
index 84e6190d..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Brush Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Bush Icon.png b/Assets/Examples/Editor Resources/Editor Bush Icon.png
deleted file mode 100644
index d3ef290d..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Bush Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Bush Icon.png.meta b/Assets/Examples/Editor Resources/Editor Bush Icon.png.meta
deleted file mode 100644
index fd0b271f..00000000
--- a/Assets/Examples/Editor Resources/Editor Bush Icon.png.meta
+++ /dev/null
@@ -1,110 +0,0 @@
-fileFormatVersion: 2
-guid: 8f09f7d88997aea4fa7d121270338880
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 2
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Examples/Editor Resources/Editor Camera Icon.png b/Assets/Examples/Editor Resources/Editor Camera Icon.png
index 7240c2a6..9a48b12c 100644
Binary files a/Assets/Examples/Editor Resources/Editor Camera Icon.png and b/Assets/Examples/Editor Resources/Editor Camera Icon.png differ
diff --git a/Assets/Examples/Editor Resources/Editor Camera Icon.png.meta b/Assets/Examples/Editor Resources/Editor Camera Icon.png.meta
index 420cd890..09861755 100644
--- a/Assets/Examples/Editor Resources/Editor Camera Icon.png.meta
+++ b/Assets/Examples/Editor Resources/Editor Camera Icon.png.meta
@@ -1,20 +1,20 @@
fileFormatVersion: 2
-guid: 4394cc95954ebb04897a83c077777530
+guid: 45980f2b5045fab4a95e80d4cd1d91a8
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
- enableMipMap: 1
+ enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 10
- mipMapFadeDistanceEnd: 10
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: 2
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,65 +55,38 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: iPhone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Windows Store Apps
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -120,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Examples/Editor Resources/Editor Canvas Icon.png b/Assets/Examples/Editor Resources/Editor Canvas Icon.png
index 1ca7988d..ae879d24 100644
Binary files a/Assets/Examples/Editor Resources/Editor Canvas Icon.png and b/Assets/Examples/Editor Resources/Editor Canvas Icon.png differ
diff --git a/Assets/Examples/Editor Resources/Editor Canvas Icon.png.meta b/Assets/Examples/Editor Resources/Editor Canvas Icon.png.meta
index 9d9ba47a..62cc633a 100644
--- a/Assets/Examples/Editor Resources/Editor Canvas Icon.png.meta
+++ b/Assets/Examples/Editor Resources/Editor Canvas Icon.png.meta
@@ -1,12 +1,12 @@
fileFormatVersion: 2
-guid: 944a8e7523b24474383ee2dc61c3bbf1
+guid: 902de9e125722044e9e8771af5c1b865
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
- enableMipMap: 1
+ enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: 2
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,43 +55,38 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Examples/Editor Resources/Editor CityHall Icon.png b/Assets/Examples/Editor Resources/Editor CityHall Icon.png
deleted file mode 100644
index 6e316770..00000000
Binary files a/Assets/Examples/Editor Resources/Editor CityHall Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Construction Icon.png b/Assets/Examples/Editor Resources/Editor Construction Icon.png
deleted file mode 100644
index c99db4ab..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Construction Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Construction Icon.png.meta b/Assets/Examples/Editor Resources/Editor Construction Icon.png.meta
deleted file mode 100644
index b43a04a3..00000000
--- a/Assets/Examples/Editor Resources/Editor Construction Icon.png.meta
+++ /dev/null
@@ -1,110 +0,0 @@
-fileFormatVersion: 2
-guid: 9c58b9af28ca46b4ba5d1b48c1374400
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: 2
- aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 1
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 8
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID: f84f22f888d069240b9e5d6f1aee9439
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Examples/Editor Resources/Editor Injection Icon.png b/Assets/Examples/Editor Resources/Editor Injection Icon.png
deleted file mode 100644
index 75fa693c..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Injection Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Keyboard Icon.png b/Assets/Examples/Editor Resources/Editor Keyboard Icon.png
deleted file mode 100644
index ad9a84b0..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Keyboard Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor King Icon.png b/Assets/Examples/Editor Resources/Editor King Icon.png
deleted file mode 100644
index eaaee6c6..00000000
Binary files a/Assets/Examples/Editor Resources/Editor King Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor King Icon.png.meta b/Assets/Examples/Editor Resources/Editor King Icon.png.meta
deleted file mode 100644
index a4472cd5..00000000
--- a/Assets/Examples/Editor Resources/Editor King Icon.png.meta
+++ /dev/null
@@ -1,110 +0,0 @@
-fileFormatVersion: 2
-guid: 601f12316da3eb34c97175de9c541cd5
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 2
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Examples/Editor Resources/Editor Light Icon.png b/Assets/Examples/Editor Resources/Editor Light Icon.png
index c3ae13f2..979eb80d 100644
Binary files a/Assets/Examples/Editor Resources/Editor Light Icon.png and b/Assets/Examples/Editor Resources/Editor Light Icon.png differ
diff --git a/Assets/Examples/Editor Resources/Editor Light Icon.png.meta b/Assets/Examples/Editor Resources/Editor Light Icon.png.meta
index 86e2a805..f5a8803c 100644
--- a/Assets/Examples/Editor Resources/Editor Light Icon.png.meta
+++ b/Assets/Examples/Editor Resources/Editor Light Icon.png.meta
@@ -1,12 +1,12 @@
fileFormatVersion: 2
-guid: fca81f71956d02344b55614c6a5a763a
+guid: 8b3b6694837c51e4fa984da506b3cd54
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
- enableMipMap: 1
+ enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,12 +32,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: 2
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@@ -54,43 +55,38 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -98,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Examples/Editor Resources/Editor Scene Icon.png b/Assets/Examples/Editor Resources/Editor Scene Icon.png
deleted file mode 100644
index b39f52eb..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Scene Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Scene Icon.png.meta b/Assets/Examples/Editor Resources/Editor Scene Icon.png.meta
deleted file mode 100644
index 63ddf2ed..00000000
--- a/Assets/Examples/Editor Resources/Editor Scene Icon.png.meta
+++ /dev/null
@@ -1,132 +0,0 @@
-fileFormatVersion: 2
-guid: f9d733b7a74802540ba14ffc10194797
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: 2
- aniso: -1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 1
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 8
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: iPhone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Windows Store Apps
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID: 8405be17065a5ea4cabed654a22a05c0
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Examples/Editor Resources/Editor Settings Icon.png b/Assets/Examples/Editor Resources/Editor Settings Icon.png
index 914a8a52..c070a7cd 100644
Binary files a/Assets/Examples/Editor Resources/Editor Settings Icon.png and b/Assets/Examples/Editor Resources/Editor Settings Icon.png differ
diff --git a/Assets/Examples/Editor Resources/Editor Settings Icon.png.meta b/Assets/Examples/Editor Resources/Editor Settings Icon.png.meta
index 332ad814..c7a3df0d 100644
--- a/Assets/Examples/Editor Resources/Editor Settings Icon.png.meta
+++ b/Assets/Examples/Editor Resources/Editor Settings Icon.png.meta
@@ -1,12 +1,12 @@
fileFormatVersion: 2
-guid: 3d0e0a2631bdc5b4a966fbc73129806f
+guid: b105bf1fb7fe62e4baba0ffd7b433e7b
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 9
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
- enableMipMap: 1
+ enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
@@ -23,6 +23,7 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
+ vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@@ -31,16 +32,16 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
- filterMode: 2
+ filterMode: 1
aniso: 1
- mipBias: -100
+ mipBias: 0
wrapU: 1
wrapV: 1
- wrapW: -1
+ wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
- spriteMode: 1
+ spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
@@ -54,65 +55,38 @@ TextureImporter:
textureType: 2
textureShape: 1
singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
buildTarget: Standalone
- maxTextureSize: 2048
+ maxTextureSize: 64
resizeAlgorithm: 0
textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: iPhone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Windows Store Apps
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
+ textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
@@ -120,10 +94,12 @@ TextureImporter:
physicsShape: []
bones: []
spriteID:
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
diff --git a/Assets/Examples/Editor Resources/Editor Terrain Icon.png b/Assets/Examples/Editor Resources/Editor Terrain Icon.png
deleted file mode 100644
index 8a81f6bc..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Terrain Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Terrain Icon.png.meta b/Assets/Examples/Editor Resources/Editor Terrain Icon.png.meta
deleted file mode 100644
index 82248f8c..00000000
--- a/Assets/Examples/Editor Resources/Editor Terrain Icon.png.meta
+++ /dev/null
@@ -1,110 +0,0 @@
-fileFormatVersion: 2
-guid: 112d8aff56bf2994f957525420e982e3
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 2
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID:
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Examples/Editor Resources/Editor Tree Icon.png b/Assets/Examples/Editor Resources/Editor Tree Icon.png
deleted file mode 100644
index 828b2a67..00000000
Binary files a/Assets/Examples/Editor Resources/Editor Tree Icon.png and /dev/null differ
diff --git a/Assets/Examples/Editor Resources/Editor Tree Icon.png.meta b/Assets/Examples/Editor Resources/Editor Tree Icon.png.meta
deleted file mode 100644
index 703c4fcc..00000000
--- a/Assets/Examples/Editor Resources/Editor Tree Icon.png.meta
+++ /dev/null
@@ -1,110 +0,0 @@
-fileFormatVersion: 2
-guid: 09d89c4f3fca0724e8d154491f13b63f
-TextureImporter:
- fileIDToRecycleName: {}
- externalObjects: {}
- serializedVersion: 9
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: -1
- aniso: 1
- mipBias: -100
- wrapU: 1
- wrapV: 1
- wrapW: -1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 1
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 2
- textureShape: 1
- singleChannelComponent: 0
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- platformSettings:
- - serializedVersion: 2
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- - serializedVersion: 2
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- androidETC2FallbackOverride: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- physicsShape: []
- bones: []
- spriteID: 54a4667d073ddb4459819bb4ed1a5757
- vertices: []
- indices:
- edges: []
- weights: []
- spritePackingTag:
- pSDRemoveMatte: 0
- pSDShowRemoveMatteOption: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Examples/Scenes/SampleScene.unity b/Assets/Examples/Scenes/SampleScene.unity
index 16069472..590d0085 100644
--- a/Assets/Examples/Scenes/SampleScene.unity
+++ b/Assets/Examples/Scenes/SampleScene.unity
@@ -204,7 +204,7 @@ GameObject:
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
- m_Icon: {fileID: 2800000, guid: fca81f71956d02344b55614c6a5a763a, type: 3}
+ m_Icon: {fileID: 2800000, guid: 8b3b6694837c51e4fa984da506b3cd54, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
@@ -294,9 +294,9 @@ GameObject:
m_Component:
- component: {fileID: 315584342}
m_Layer: 0
- m_Name: '#hAttributes'
+ m_Name: '#hSamples'
m_TagString: EditorOnly
- m_Icon: {fileID: 0}
+ m_Icon: {fileID: 2800000, guid: b105bf1fb7fe62e4baba0ffd7b433e7b, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
@@ -328,7 +328,7 @@ GameObject:
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
- m_Icon: {fileID: 2800000, guid: 4394cc95954ebb04897a83c077777530, type: 3}
+ m_Icon: {fileID: 2800000, guid: 45980f2b5045fab4a95e80d4cd1d91a8, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
@@ -408,9 +408,9 @@ GameObject:
- component: {fileID: 661896459}
- component: {fileID: 661896458}
m_Layer: 0
- m_Name: Sample GameObject2
- m_TagString: GameController
- m_Icon: {fileID: 2800000, guid: 3d0e0a2631bdc5b4a966fbc73129806f, type: 3}
+ m_Name: ToolboxPropertyDrawers[Sample]
+ m_TagString: Untagged
+ m_Icon: {fileID: 2800000, guid: b105bf1fb7fe62e4baba0ffd7b433e7b, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
@@ -433,42 +433,22 @@ MonoBehaviour:
- {fileID: 661896457}
- {fileID: 5059060190599569098, guid: e4263a04cf09ace4b8568f054ea426ee, type: 3}
- {fileID: 5059060190599569098, guid: e4263a04cf09ace4b8568f054ea426ee, type: 3}
- y: 220
- var14: 317
- var15: 8
- var16: -45
- var17: 15
- var18: -24
- go: {fileID: 5059060190599569098, guid: 5573ca52cac7c2d4cb2536e37e9be1f1, type: 3}
- var19: 18
- var20: 34
- x: 0
+ strings:
+ - a
+ - b
+ - c
+ ints: 01000000080000000c00000010000000
var21: {fileID: 977748988}
var22: {fileID: 2100000, guid: 7404c70251f9d0045a4aabaa49d83963, type: 2}
- var23: {fileID: 2800000, guid: 944a8e7523b24474383ee2dc61c3bbf1, type: 3}
+ var23: {fileID: 2800000, guid: 45980f2b5045fab4a95e80d4cd1d91a8, type: 3}
var24: {fileID: 8300000, guid: e83fc6426e5f2e0448cc3e51102509aa, type: 3}
var25: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
- var26: {fileID: 5059060190599569098, guid: 5573ca52cac7c2d4cb2536e37e9be1f1, type: 3}
- vars1: 01000000020000000300000004000000
var27:
i: 2
strings:
- MainCamera
- Untagged
- Respawn
- var28: {fileID: 661896457}
- var29: 1
- var30: 2
- var31: 3
- var1: 0
- stringValue: sho
- var33: 0
- enumValue: 97
- var35: 0
- objectValue: {fileID: 0}
- var36: 0
- floatValue: 1
- var37: 0
largeArray:
- {fileID: 0}
- {fileID: 0}
@@ -489,26 +469,7 @@ MonoBehaviour:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- var38: 0
- dictionary:
- pairs: []
- error: 0
- ints: 01000000080000000c00000010000000
q: {x: 0, y: 0, z: 0, w: 0}
- gameObjects:
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 5059060190599569098, guid: 5573ca52cac7c2d4cb2536e37e9be1f1, type: 3}
- - {fileID: 0}
- floats:
- - 0
- - 0
- - 0
- - 0
- - 0
- - 0
- - 0
- var39: 0
a1: -1
b1: 5.5
var40: 1.33
@@ -523,8 +484,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children:
- - {fileID: 977748988}
+ m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -556,7 +516,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 12
+ m_RootOrder: 18
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &685318310
GameObject:
@@ -586,7 +546,65 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 15
+ m_RootOrder: 21
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &752799891
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 752799893}
+ - component: {fileID: 752799892}
+ m_Layer: 0
+ m_Name: SerializeReference[Sample]
+ m_TagString: Untagged
+ m_Icon: {fileID: 2800000, guid: b105bf1fb7fe62e4baba0ffd7b433e7b, type: 3}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &752799892
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 752799891}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a0323e91bfeae1c488545bee770d3fa7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ var1:
+ id: 0
+ var2:
+ id: 1
+ references:
+ version: 1
+ 00000000:
+ type: {class: SampleBehaviour6/Struct, ns: , asm: Assembly-CSharp}
+ data:
+ var1: 1
+ var2: 1
+ 00000001:
+ type: {class: SampleBehaviour6/ClassWithInterface2, ns: , asm: Assembly-CSharp}
+ data:
+ var1: 0
+--- !u!4 &752799893
+Transform:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 752799891}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 11
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &758033804
GameObject:
@@ -616,7 +634,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 13
+ m_RootOrder: 19
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &959025297
GameObject:
@@ -629,9 +647,9 @@ GameObject:
- component: {fileID: 959025299}
- component: {fileID: 959025298}
m_Layer: 0
- m_Name: Sample GameObject1
- m_TagString: GameController
- m_Icon: {fileID: 2800000, guid: 3d0e0a2631bdc5b4a966fbc73129806f, type: 3}
+ m_Name: RegularPropertyDrawers[Sample]
+ m_TagString: Untagged
+ m_Icon: {fileID: 2800000, guid: b105bf1fb7fe62e4baba0ffd7b433e7b, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
@@ -647,41 +665,24 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c96bc1945c12e5246b1faac636a63516, type: 3}
m_Name:
m_EditorClassIdentifier:
- var1: 82
targetTag: Untagged
progressBar: 25.4
- newLabel: 25.4
var2: {x: 30.418846, y: 60.78535}
- var3: 1
- var4: 2
- var5: 3
- toggle1: 0
- var6: 0
- toggle2: 1
- var7: 21.44
- var8: {fileID: 2133702603}
- var9: {fileID: 2133702603}
+ var8: {fileID: 977748987}
preview: {fileID: 5059060190599569102, guid: 5573ca52cac7c2d4cb2536e37e9be1f1, type: 3}
var10: 2.16
- type1:
- classReference:
- type2:
- classReference: TMPro.TMP_SubMeshUI, Unity.TextMeshPro
- var11: Im read only
var12: 0
enumFlag: 12
- var13: {fileID: 0}
- randomValue: -7.3907948
directory: Editor Toolbox/Editors
sceneName: SampleScen
presetTarget: 4
enumSearch: 8
- clampedValue: 4.699999809265137
password: password
+ var13: {fileID: 0}
+ clampedValue: 4.699999809265137
sceneReference: {fileID: 0}
childReference: {fileID: 0}
prefabReference: {fileID: 0}
- hexColor: 4D7AC0FF
sampleField:
var1: {fileID: 2100000, guid: 7404c70251f9d0045a4aabaa49d83963, type: 2}
var2: 0
@@ -704,18 +705,8 @@ MonoBehaviour:
var3:
var1: 0
var2:
- scene1:
- sceneReference: {fileID: 102900000, guid: f11034f4657f51a47aac14f26410c500, type: 3}
- sceneName: SampleScene
- buildIndex: 0
- scene2:
- sceneReference: {fileID: 102900000, guid: f11034f4657f51a47aac14f26410c500, type: 3}
- sceneName: SampleScene
- buildIndex: 0
bigNumber: 12345678
currency: 20.41
- dateTime:
- ticks: 631466100000000000
--- !u!4 &959025299
Transform:
m_ObjectHideFlags: 2
@@ -726,8 +717,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children:
- - {fileID: 2133702607}
+ m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -761,8 +751,8 @@ Transform:
m_LocalPosition: {x: 0, y: 0.5, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
- m_Father: {fileID: 661896459}
- m_RootOrder: 0
+ m_Father: {fileID: 0}
+ m_RootOrder: 14
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &977748989
BoxCollider:
@@ -841,7 +831,7 @@ GameObject:
m_Layer: 5
m_Name: Main Canvas
m_TagString: Untagged
- m_Icon: {fileID: 2800000, guid: 944a8e7523b24474383ee2dc61c3bbf1, type: 3}
+ m_Icon: {fileID: 2800000, guid: 902de9e125722044e9e8771af5c1b865, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
@@ -926,6 +916,76 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
+--- !u!1 &1220714190
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1220714191}
+ - component: {fileID: 1220714192}
+ m_Layer: 0
+ m_Name: SerializedTypes[Sample]
+ m_TagString: Untagged
+ m_Icon: {fileID: 2800000, guid: b105bf1fb7fe62e4baba0ffd7b433e7b, type: 3}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1220714191
+Transform:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220714190}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 10
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1220714192
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220714190}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d496befd3f810f54d82e3f23eca099ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ type1:
+ typeReference: UnityEngine.MonoBehaviour, UnityEngine.CoreModule
+ type2:
+ typeReference: UnityEngine.UI.RawImage, UnityEngine.UI
+ type3:
+ typeReference:
+ type4:
+ typeReference: UnityEngine.BoxCollider, UnityEngine.PhysicsModule
+ scene1:
+ sceneReference: {fileID: 102900000, guid: f11034f4657f51a47aac14f26410c500, type: 3}
+ sceneName: SampleScene
+ scenePath: Assets/Examples/Scenes/SampleScene.unity
+ buildIndex: 0
+ scene2:
+ sceneReference: {fileID: 102900000, guid: f11034f4657f51a47aac14f26410c500, type: 3}
+ sceneName: SampleScene
+ scenePath: Assets/Examples/Scenes/SampleScene.unity
+ buildIndex: 0
+ dictionary:
+ pairs:
+ - key: 0
+ value: {fileID: 977748987}
+ - key: 1
+ value: {fileID: 2037155952}
+ error: 0
+ date:
+ ticks: 637820719200000000
--- !u!1 &1221429486
GameObject:
m_ObjectHideFlags: 0
@@ -954,7 +1014,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 11
+ m_RootOrder: 17
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1414023086
GameObject:
@@ -984,7 +1044,124 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 14
+ m_RootOrder: 20
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1438743617
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1438743619}
+ - component: {fileID: 1438743618}
+ m_Layer: 0
+ m_Name: DecoratorDrawers[Sample]
+ m_TagString: Untagged
+ m_Icon: {fileID: 2800000, guid: b105bf1fb7fe62e4baba0ffd7b433e7b, type: 3}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1438743618
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1438743617}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 288fcefaca2ef1e41a33e74640d04833, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ var0: 0
+ var1: 0
+ y: 0
+ var14: 0
+ var15: 0
+ var16: 0
+ var17: 0
+ var18: 0
+ go: {fileID: 0}
+ var19: 0
+ var20: 0
+ x: 0
+ var29: 0
+ var30: 0
+ var31: 0
+ gameObjects:
+ - {fileID: 0}
+ - {fileID: 0}
+ floats: []
+ var2: 0
+ var3: 0
+ var4: 0
+ var5: 0
+ var28: {fileID: 0}
+ var39: 18
+ var55: 0
+ var56: 0
+ var57: 0
+--- !u!4 &1438743619
+Transform:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1438743617}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 9
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1583836797
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1583836799}
+ - component: {fileID: 1583836798}
+ m_Layer: 0
+ m_Name: Special&Others[Sample]
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1583836798
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1583836797}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c48a231d0fb97494d948757fb057b3ea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ var1: 25.4
+ var2: {fileID: 977748988}
+ var3: 0
+--- !u!4 &1583836799
+Transform:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1583836797}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 12
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1661307763
GameObject:
@@ -1014,8 +1191,62 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
+ m_RootOrder: 13
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1670253091
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1670253092}
+ - component: {fileID: 1670253093}
+ m_Layer: 0
+ m_Name: ConditionDrawers[Sample]
+ m_TagString: Untagged
+ m_Icon: {fileID: 2800000, guid: b105bf1fb7fe62e4baba0ffd7b433e7b, type: 3}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1670253092
+Transform:
+ m_ObjectHideFlags: 2
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1670253091}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1670253093
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1670253091}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b063741cf66f777438ae67b7df2b87bd, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ stringValue: sho
+ var33: 0
+ objectValue: {fileID: 0}
+ var36: 0
+ floatValue: 0.46
+ var37: 0
+ enumValue: 97
+ var35: 0
+ var41: 00000000000000000000000000000000
+ var39: 0
+ var40: 2
--- !u!1 &1972418676
GameObject:
m_ObjectHideFlags: 0
@@ -1044,7 +1275,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 10
+ m_RootOrder: 16
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2033477348
GameObject:
@@ -1058,7 +1289,7 @@ GameObject:
m_Layer: 0
m_Name: '#hUI'
m_TagString: EditorOnly
- m_Icon: {fileID: 2800000, guid: 944a8e7523b24474383ee2dc61c3bbf1, type: 3}
+ m_Icon: {fileID: 2800000, guid: 902de9e125722044e9e8771af5c1b865, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 4294967295
m_IsActive: 1
@@ -1104,7 +1335,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 9
+ m_RootOrder: 15
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2113405571
GameObject:
@@ -1178,98 +1409,3 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2113405571}
m_CullTransparentMesh: 0
---- !u!1 &2133702603
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2133702607}
- - component: {fileID: 2133702606}
- - component: {fileID: 2133702605}
- - component: {fileID: 2133702604}
- m_Layer: 0
- m_Name: Cube
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!65 &2133702604
-BoxCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2133702603}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Size: {x: 1, y: 1, z: 1}
- m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &2133702605
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2133702603}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 0
- m_SelectedEditorRenderState: 3
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 0
- m_SortingLayer: 0
- m_SortingOrder: 0
- m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &2133702606
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2133702603}
- m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &2133702607
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2133702603}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0, y: 0.5, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children: []
- m_Father: {fileID: 959025299}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Examples/Scripts/SampleBehaviour1.cs b/Assets/Examples/Scripts/SampleBehaviour1.cs
index 4f57a1bb..2d9e74fb 100644
--- a/Assets/Examples/Scripts/SampleBehaviour1.cs
+++ b/Assets/Examples/Scripts/SampleBehaviour1.cs
@@ -1,95 +1,42 @@
using UnityEngine;
[ExecuteAlways]
-[AddComponentMenu("Editor Toolbox/Cheat Sheet 1")]
+[AddComponentMenu("Editor Toolbox/Cheat Sheet 1 (Regular)")]
public class SampleBehaviour1 : MonoBehaviour
{
- [Help("This sample component provides additional inspector extensions (drawers and associated attributes) implemented in the Editor Toolbox plugin. " +
- "Check the SampleBehaviour1.cs script for more details.", Order = -1)]
-
- [Label("1", skinStyle: SkinStyle.Box)]
-
- [Help("You can provide more information in HelpBoxes.", Order = 100)]
- public int var1;
-
- [Label("2", skinStyle: SkinStyle.Box)]
+ [Label("Tag Selector", skinStyle: SkinStyle.Box)]
[TagSelector]
public string targetTag;
- [Label("3", skinStyle: SkinStyle.Box)]
+ [Label("Progress Bar", skinStyle: SkinStyle.Box)]
[ProgressBar(minValue: -10.0f, maxValue: 50.0f, HexColor = "#234DEA")]
public float progressBar = 25.4f;
- [Label("4", skinStyle: SkinStyle.Box)]
-
- [NewLabel("float")]
- public float newLabel = 25.4f;
-
- [Label("5", skinStyle: SkinStyle.Box)]
+ [Label("MinMax Slider", skinStyle: SkinStyle.Box)]
[MinMaxSlider(10.0f, 100.0f)]
public Vector2 var2;
- [Label("6", skinStyle: SkinStyle.Box)]
-
- [IndentArea(1)]
- public int var3 = 1;
- [IndentArea(2)]
- public int var4 = 2;
- [IndentArea(3)]
- public int var5 = 3;
-
- [Label("7", skinStyle: SkinStyle.Box)]
-
- [HideLabel]
- public bool toggle1;
- [Help("Use this toggle to show/hide property.", Order = 100)]
- [HideIf(nameof(toggle1), true)]
- public float var6;
-
- [Label("8", skinStyle: SkinStyle.Box)]
-
- [HideLabel]
- public bool toggle2;
- [Help("Use this toggle to enable/disable property.", Order = 100)]
- [EnableIf(nameof(toggle2), true)]
- public float var7;
-
- [Label("9", skinStyle: SkinStyle.Box)]
+ [Label("Asset Preview", skinStyle: SkinStyle.Box)]
[AssetPreview]
public GameObject var8;
- [AssetPreview(useLabel: false), Help("Who needs label?")]
- public GameObject var9;
[AssetPreview]
public Transform preview;
- [Label("10", skinStyle: SkinStyle.Box)]
+ [Label("Suffix", skinStyle: SkinStyle.Box)]
[Suffix("kg")]
public float var10;
- [Label("11", skinStyle: SkinStyle.Box)]
-
- [ClassExtends(typeof(Object), Grouping = ClassGrouping.ByNamespace)]
- [Tooltip("This variable is able to serialize Type.")]
- public SerializedType type1;
- [ClassImplements(typeof(UnityEngine.UI.IMaskable), AddTextSearchField = true)]
- public SerializedType type2;
-
- [Label("12", skinStyle: SkinStyle.Box)]
-
- [Disable]
- public string var11 = "Im read only";
-
- [Label("13", skinStyle: SkinStyle.Box)]
+ [Label("Left Toggle", skinStyle: SkinStyle.Box)]
[LeftToggle]
public bool var12;
- [Label("14", skinStyle: SkinStyle.Box)]
+ [Label("Enum Toggles", skinStyle: SkinStyle.Box)]
[EnumToggles]
public FlagExample enumFlag = FlagExample.Flag1 | FlagExample.Flag2;
@@ -110,50 +57,43 @@ public enum FlagExample
Everything = ~0
}
- [Label("15", skinStyle: SkinStyle.Box)]
-
- [NotNull]
- public Transform var13;
-
- [Label("16", skinStyle: SkinStyle.Box)]
-
- //NOTE: examples
- [Random(-10.0f, 10.0f)]
- public float randomValue;
-
- [Label("17", skinStyle: SkinStyle.Box)]
+ [Label("Directory", skinStyle: SkinStyle.Box)]
[Directory]
public string directory;
- [Label("18", skinStyle: SkinStyle.Box)]
+ [Label("Scene Name", skinStyle: SkinStyle.Box)]
[SceneName]
public string sceneName;
- [Label("19", skinStyle: SkinStyle.Box)]
+ [Label("Preset", skinStyle: SkinStyle.Box)]
[Preset(nameof(presetValues)), Tooltip("Pick value")]
public int presetTarget;
private readonly int[] presetValues = new[] { 1, 2, 3, 4, 5 };
- [Label("20", skinStyle: SkinStyle.Box)]
+ [Label("Searchable Enum", skinStyle: SkinStyle.Box)]
[SearchableEnum]
public KeyCode enumSearch;
- [Label("21", skinStyle: SkinStyle.Box)]
-
- [Clamp(0.0f, 11.2f)]
- public double clampedValue;
-
- [Label("22", skinStyle: SkinStyle.Box)]
+ [Label("Password", skinStyle: SkinStyle.Box)]
[Password]
public string password;
- [Label("23", skinStyle: SkinStyle.Box)]
+ [Label("Validation", skinStyle: SkinStyle.Box)]
+
+ [Help("NotNullAttribute, ClampAttribute, SceneObjectOnlyAttribute, ChildObjectOnlyAttribute, PrefabObjectOnlyAttribute " +
+ "are part of group that will be re-implemented in future as ToolboxValidationAttributes. " +
+ "Unfortunately, for now, you can't use them together with any other PropertyDrawer.", UnityMessageType.Warning)]
+ [NotNull]
+ public Transform var13;
+
+ [Clamp(0.0f, 11.2f)]
+ public double clampedValue;
[SceneObjectOnly]
public GameObject sceneReference;
@@ -162,13 +102,7 @@ public enum FlagExample
[PrefabObjectOnly]
public GameObject prefabReference;
- [Label("24", skinStyle: SkinStyle.Box)]
-
- //NOTE: examples
- [HexColor]
- public string hexColor;
-
- [Label("25", skinStyle: SkinStyle.Box)]
+ [Label("Label By Child", skinStyle: SkinStyle.Box)]
[LabelByChild("var3.var2")]
public SampleClass1 sampleField;
@@ -190,27 +124,10 @@ public class SampleClass2
public string var2;
}
- [Label("26", skinStyle: SkinStyle.Box)]
-
- public SerializedScene scene1;
- [SceneDetails]
- public SerializedScene scene2;
-
- [Label("27", skinStyle: SkinStyle.Box)]
+ [Label("Formatted Number", skinStyle: SkinStyle.Box)]
[FormattedNumber]
public int bigNumber;
[FormattedNumber("c")]
public float currency;
-
- [Label("28", skinStyle: SkinStyle.Box)]
-
- public SerializedDateTime dateTime;
-
-#if UNITY_EDITOR
- private void OnValidate()
- {
- var9 = var8;
- }
-#endif
}
\ No newline at end of file
diff --git a/Assets/Examples/Scripts/SampleBehaviour2.cs b/Assets/Examples/Scripts/SampleBehaviour2.cs
index 7fadaf3e..6d6fcccb 100644
--- a/Assets/Examples/Scripts/SampleBehaviour2.cs
+++ b/Assets/Examples/Scripts/SampleBehaviour2.cs
@@ -1,69 +1,30 @@
-using System.Collections;
-using UnityEngine;
+using UnityEngine;
[ExecuteAlways]
-[AddComponentMenu("Editor Toolbox/Cheat Sheet 2")]
+[AddComponentMenu("Editor Toolbox/Cheat Sheet 2 (Toolbox Property)")]
public class SampleBehaviour2 : MonoBehaviour
{
- private void TestMethod()
- {
- Debug.Log(nameof(TestMethod) + " is called");
- }
-
- private IEnumerator TestCoroutine()
- {
- Debug.Log("Coroutine started");
- yield return new WaitForSecondsRealtime(1);
- Debug.Log("Log after 1s");
- yield return new WaitForSecondsRealtime(2);
- Debug.Log("Log after 2s");
- }
-
- private static void TestStaticMethod()
- {
- Debug.Log(nameof(TestStaticMethod) + " is called");
- }
+ [Label("Toolbox Property Attributes", skinStyle: SkinStyle.Box, Alignment = TextAnchor.MiddleCenter, Asset = "UnityEditor.InspectorWindow")]
- [EditorButton(nameof(TestMethod), Tooltip = "Custom Tooltip")]
- [EditorButton(nameof(TestCoroutine), "Test Coroutine", activityType: ButtonActivityType.OnPlayMode)]
- [EditorButton(nameof(TestStaticMethod), activityType: ButtonActivityType.OnEditMode)]
+ [Label("Reorderable List", skinStyle: SkinStyle.Box)]
- [Help("This sample component provides additional inspector extensions (drawers and associated attributes) implemented in the Editor Toolbox plugin. " +
- "Check the SampleBehaviour2.cs script for more details.", Order = -1)]
+ [Tooltip("Sample List")]
+ [ReorderableList(ListStyle.Round, elementLabel: "GameObject", Foldable = true)]
+ [InLineEditor]
+ public GameObject[] list;
- [Label("Toolbox Attributes", skinStyle: SkinStyle.Box, Alignment = TextAnchor.MiddleCenter, Asset = "UnityEditor.InspectorWindow")]
+ [ReorderableList(ListStyle.Lined, "String", true, false)]
+ public string[] strings;
- [Label("1", skinStyle: SkinStyle.Box)]
+ [ReorderableListExposed(OverrideNewElementMethodName = nameof(GetValue))]
+ public int[] ints;
- [ReorderableList(ListStyle.Round, elementLabel: "GameObject"), Tooltip("Sample List")]
- [InLineEditor]
- public GameObject[] list;
+ public int GetValue()
+ {
+ return ints.Length * Random.Range(1, 5);
+ }
- [Label("2", skinStyle: SkinStyle.Box)]
-
- [BeginGroup("Parent group")]
- public int y;
- [BeginGroup("Nested group")]
- public int var14;
- [Line]
- public int var15;
- public int var16;
- [BeginIndent]
- public int var17;
- public int var18;
- [Title("Standard Header")]
- public GameObject go;
- [Label("Custom Header")]
- [EndIndent]
- public int var19;
- [EndGroup]
- [Line]
- [Line(HexColor = "#9800FF")]
- public int var20;
- [EndGroup]
- public int x;
-
- [Label("3", skinStyle: SkinStyle.Box)]
+ [Label("InLine Editor", skinStyle: SkinStyle.Box)]
[InLineEditor(DisableEditor = false)]
public Transform var21;
@@ -80,130 +41,31 @@ private static void TestStaticMethod()
[InLineEditor]
public Mesh var25;
- [InLineEditor(drawPreview: true)]
- public GameObject var26;
+ [Label("Nested Properties", skinStyle: SkinStyle.Box)]
- [Label("4", skinStyle: SkinStyle.Box)]
-
- [Disable]
- public int[] vars1 = new[] { 1, 2, 3, 4 };
+ [Help("You can use Toolbox Properties inside serializable types without limitations.")]
+ public SampleNestedClass var27;
[System.Serializable]
public class SampleNestedClass
{
+ [Tooltip("Set to 1")]
public int i = 0;
[DisableIf(nameof(i), 1), ReorderableList, TagSelector]
public string[] strings;
}
- [Label("5", skinStyle: SkinStyle.Box)]
-
- public SampleNestedClass var27;
-
- [Label("6", skinStyle: SkinStyle.Box)]
-
- [Highlight(0, 1, 0)]
- public GameObject var28;
-
- [Label("7", skinStyle: SkinStyle.Box)]
-
- [BeginHorizontal(labelToWidthRatio: 0.1f)]
- public int var29;
- public int var30;
- //NOTE: custom sample created within the Examples
- //[Sample]
- [EndHorizontal]
- public int var31;
-
- [Label("8", skinStyle: SkinStyle.Box)]
-
- [ImageArea("https://img.itch.zone/aW1nLzE5Mjc3NzUucG5n/original/Viawjm.png", 180.0f)]
- public int var1;
-
- [Label("9", skinStyle: SkinStyle.Box)]
-
- public string stringValue = "sho";
- [ShowIf(nameof(GetStringValue), "show")]
- public int var33;
-
- public string GetStringValue()
- {
- return stringValue;
- }
-
- [SpaceArea]
-
- public KeyCode enumValue = KeyCode.A;
- [DisableIf(nameof(enumValue), KeyCode.A)]
- public int var35;
-
- [SpaceArea]
-
- public GameObject objectValue;
- [HideIf(nameof(ObjectValue), false)]
- public int var36;
-
- private GameObject ObjectValue
- {
- get => objectValue;
- }
-
- [SpaceArea]
-
- public float floatValue = 1.0f;
- [EnableIf(nameof(floatValue), 0.5f, Comparison = UnityComparisonMethod.Greater)]
- public int var37;
-
- [Label("10", skinStyle: SkinStyle.Box)]
+ [Label("Scrollable Items", skinStyle: SkinStyle.Box)]
[ScrollableItems(defaultMinIndex: 0, defaultMaxIndex: 5)]
public GameObject[] largeArray = new GameObject[19];
- [Label("11", skinStyle: SkinStyle.Box)]
-
- [DisableInPlayMode]
- public int var38;
-
-#if UNITY_2020_1_OR_NEWER
- [Label("12", skinStyle: SkinStyle.Box)]
-
- [Help("Assign dedicated drawer in the Toolbox Settings")]
- public SerializedDictionary dictionary;
-#endif
-
- [Label("13", skinStyle: SkinStyle.Box)]
-
- [ReorderableListExposed(OverrideNewElementMethodName = nameof(GetValue))]
- public int[] ints;
-
- public int GetValue()
- {
- return ints.Length * Random.Range(1, 5);
- }
-
- [Label("14", skinStyle: SkinStyle.Box)]
+ [Label("Ignore Parent", skinStyle: SkinStyle.Box)]
[IgnoreParent]
public Quaternion q;
- [Label("15", skinStyle: SkinStyle.Box)]
-
- [BeginHorizontalGroup(label: "Horizontal Group")]
- [ReorderableList(Foldable = true), InLineEditor]
- public GameObject[] gameObjects;
- [SpaceArea]
- [EndHorizontalGroup]
- [ReorderableList]
- public float[] floats;
-
- [Label("16", skinStyle: SkinStyle.Box)]
-
- [DynamicHelp(nameof(MessageSource))]
- public int var39;
-
- public string MessageSource => string.Format("Dynamic Message Source. {0} = {1}", nameof(var39), var39);
-
- [Label("17", skinStyle: SkinStyle.Box)]
+ [Label("Dynamic Range & MinMax Slider", skinStyle: SkinStyle.Box)]
public float a1 = -1;
public float b1 = 5.5f;
diff --git a/Assets/Examples/Scripts/SampleBehaviour3.cs b/Assets/Examples/Scripts/SampleBehaviour3.cs
new file mode 100644
index 00000000..5af9baf2
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour3.cs
@@ -0,0 +1,58 @@
+using UnityEngine;
+
+[ExecuteAlways]
+[AddComponentMenu("Editor Toolbox/Cheat Sheet 3 (Condition)")]
+public class SampleBehaviour3 : MonoBehaviour
+{
+ [Label("Show If", skinStyle: SkinStyle.Box)]
+
+ [Help("Type 'show'")]
+ public string stringValue = "sho";
+ [ShowIf(nameof(GetStringValue), "show")]
+ public int var33;
+
+ public string GetStringValue()
+ {
+ return stringValue;
+ }
+
+ [Label("Hide If", skinStyle: SkinStyle.Box)]
+
+ [Help("Assign any GameObject")]
+ public GameObject objectValue;
+ [HideIf(nameof(ObjectValue), false)]
+ public int var36;
+
+ private GameObject ObjectValue
+ {
+ get => objectValue;
+ }
+
+ [Label("Enable If", skinStyle: SkinStyle.Box)]
+
+ [Help("Set value to > 0.5")]
+ public float floatValue = 1.0f;
+ [EnableIf(nameof(floatValue), 0.5f, Comparison = UnityComparisonMethod.Greater)]
+ public int var37;
+
+ [Label("Disable If", skinStyle: SkinStyle.Box)]
+
+ public KeyCode enumValue = KeyCode.A;
+ [DisableIf(nameof(enumValue), KeyCode.A)]
+ public int var35;
+
+ [Label("Disable", skinStyle: SkinStyle.Box)]
+
+ [Disable]
+ public int[] var41= new int[4];
+
+ [Label("Disable In Playmode", skinStyle: SkinStyle.Box)]
+
+ [DisableInPlayMode]
+ public int var39;
+
+ [Label("Show Warning If", skinStyle: SkinStyle.Box)]
+
+ [ShowWarningIf(nameof(var40), 3, "Value has to be greater than 3", Comparison = UnityComparisonMethod.LessEqual, DisableField = false)]
+ public int var40;
+}
\ No newline at end of file
diff --git a/Assets/Examples/Scripts/SampleBehaviour3.cs.meta b/Assets/Examples/Scripts/SampleBehaviour3.cs.meta
new file mode 100644
index 00000000..f29444d9
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour3.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b063741cf66f777438ae67b7df2b87bd
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Examples/Scripts/SampleBehaviour4.cs b/Assets/Examples/Scripts/SampleBehaviour4.cs
new file mode 100644
index 00000000..b702b1c6
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour4.cs
@@ -0,0 +1,121 @@
+using System.Collections;
+
+using UnityEngine;
+
+[ExecuteAlways]
+[AddComponentMenu("Editor Toolbox/Cheat Sheet 4 (Decorator)")]
+public class SampleBehaviour4 : MonoBehaviour
+{
+ [Label("Help", skinStyle: SkinStyle.Box)]
+
+ [Help("Very useful warning", UnityMessageType.Warning)]
+ [Help("This error example", UnityMessageType.Error)]
+ [Help("Simple information", UnityMessageType.Info)]
+ public int var0;
+
+ [Label("Button", skinStyle: SkinStyle.Box)]
+
+ [EditorButton(nameof(TestMethod), Tooltip = "Custom Tooltip")]
+ [EditorButton(nameof(TestCoroutine), "Test Coroutine", activityType: ButtonActivityType.OnPlayMode)]
+ [EditorButton(nameof(TestStaticMethod), activityType: ButtonActivityType.OnEditMode)]
+ public int var1;
+
+ private void TestMethod()
+ {
+ Debug.Log(nameof(TestMethod) + " is called");
+ }
+
+ private IEnumerator TestCoroutine()
+ {
+ Debug.Log("Coroutine started");
+ yield return new WaitForSecondsRealtime(1);
+ Debug.Log("Log after 1s");
+ yield return new WaitForSecondsRealtime(2);
+ Debug.Log("Log after 2s");
+ }
+
+ private static void TestStaticMethod()
+ {
+ Debug.Log(nameof(TestStaticMethod) + " is called");
+ }
+
+ [Label("Vertical Layout", skinStyle: SkinStyle.Box)]
+
+ [BeginGroup("Parent group")]
+ public int y;
+ [BeginGroup("Nested group")]
+ public int var14;
+ [Line]
+ public int var15;
+ [SpaceArea(20, 20)]
+ public int var16;
+ [BeginIndent]
+ public int var17;
+ public int var18;
+ [Title("Standard Header")]
+ public GameObject go;
+ [Label("Custom Header")]
+ [EndIndent]
+ public int var19;
+ [EndGroup]
+ [Line]
+ [Line(HexColor = "#9800FF")]
+ public int var20;
+ [EndGroup]
+ public int x;
+
+ [Label("Horizontal Layout", skinStyle: SkinStyle.Box)]
+
+ [BeginHorizontal(labelToWidthRatio: 0.1f)]
+ public int var29;
+ public int var30;
+ [EndHorizontal]
+ public int var31;
+
+ [Label("Horizontal Layout (Group)", skinStyle: SkinStyle.Box)]
+
+ [BeginHorizontalGroup(label: "Horizontal Group")]
+ [ReorderableList(Foldable = true), InLineEditor]
+ public GameObject[] gameObjects;
+ [SpaceArea]
+ [EndHorizontalGroup]
+ [ReorderableList]
+ public float[] floats;
+
+ [Label("Indentation", skinStyle: SkinStyle.Box)]
+
+ public int var2;
+ [BeginIndent]
+ public int var3;
+ [EndIndent]
+ public int var4;
+ [IndentArea(3)]
+ public int var5;
+
+ [Label("Highlight", skinStyle: SkinStyle.Box)]
+
+ [Highlight(0.8f, 1.0f, 0.2f)]
+ public GameObject var28;
+
+ [Label("Dynamic Help", skinStyle: SkinStyle.Box)]
+
+ [DynamicHelp(nameof(MessageSource))]
+ public int var39;
+
+ public string MessageSource => string.Format("Dynamic Message Source. {0} = {1}", nameof(var39), var39);
+
+ [Label("Image Area", skinStyle: SkinStyle.Box)]
+
+ [ImageArea("https://img.itch.zone/aW1nLzE5Mjc3NzUucG5n/original/Viawjm.png", 180.0f)]
+ public int var55;
+
+ [Label("GUI Color", skinStyle: SkinStyle.Box)]
+
+ [GuiColor(1, 0, 0)]
+ public int var56;
+
+ [Label("Title", skinStyle: SkinStyle.Box)]
+
+ [Title("Standard Title")]
+ public int var57;
+}
\ No newline at end of file
diff --git a/Assets/Examples/Scripts/SampleBehaviour4.cs.meta b/Assets/Examples/Scripts/SampleBehaviour4.cs.meta
new file mode 100644
index 00000000..464b9324
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour4.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 288fcefaca2ef1e41a33e74640d04833
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Examples/Scripts/SampleBehaviour5.cs b/Assets/Examples/Scripts/SampleBehaviour5.cs
new file mode 100644
index 00000000..32666217
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour5.cs
@@ -0,0 +1,35 @@
+using UnityEngine;
+using UnityEngine.UI;
+
+[ExecuteAlways]
+[AddComponentMenu("Editor Toolbox/Cheat Sheet 5 (Serialized Types)")]
+public class SampleBehaviour5 : MonoBehaviour
+{
+ [Label("Serialized Type", skinStyle: SkinStyle.Box)]
+
+ [TypeConstraint(typeof(MonoBehaviour), AllowAbstract = false, AllowObsolete = false, TypeGrouping = TypeGrouping.ByAddComponentMenu)]
+ public SerializedType type1;
+ [TypeConstraint(typeof(IMaskable), AddTextSearchField = true)]
+ public SerializedType type2;
+ [TypeConstraint(typeof(IMaskable), AddTextSearchField = true, TypeSettings = TypeSettings.Interface)]
+ public SerializedType type3;
+ [TypeConstraint(typeof(Collider), AllowAbstract = false, AllowObsolete = false, TypeSettings = TypeSettings.Class, TypeGrouping = TypeGrouping.None)]
+ public SerializedType type4;
+
+ [Label("Serialized Scene", skinStyle: SkinStyle.Box)]
+
+ public SerializedScene scene1;
+ [SceneDetails]
+ public SerializedScene scene2;
+
+ [Label("Serialized Dictionary", skinStyle: SkinStyle.Box)]
+
+#if UNITY_2020_1_OR_NEWER
+ [Help("Assign dedicated drawer in the Toolbox Settings")]
+ public SerializedDictionary dictionary;
+#endif
+
+ [Label("Serialized DateTime", skinStyle: SkinStyle.Box)]
+
+ public SerializedDateTime date;
+}
\ No newline at end of file
diff --git a/Assets/Examples/Scripts/SampleBehaviour5.cs.meta b/Assets/Examples/Scripts/SampleBehaviour5.cs.meta
new file mode 100644
index 00000000..0610176f
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour5.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d496befd3f810f54d82e3f23eca099ff
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Examples/Scripts/SampleBehaviour6.cs b/Assets/Examples/Scripts/SampleBehaviour6.cs
new file mode 100644
index 00000000..5b8ac3bf
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour6.cs
@@ -0,0 +1,45 @@
+using System;
+
+using UnityEngine;
+
+[ExecuteAlways]
+[AddComponentMenu("Editor Toolbox/Cheat Sheet 6 (Serialize Reference)")]
+public class SampleBehaviour6 : MonoBehaviour
+{
+#if UNITY_2019_3_OR_NEWER
+ [SerializeReference, ReferencePicker]
+ public Interface1 var1;
+ [SerializeReference, ReferencePicker]
+ public ClassWithInterfaceBase var2;
+#endif
+
+ public interface Interface1 { }
+
+ [Serializable]
+ public struct Struct : Interface1
+ {
+ public bool var1;
+ public bool var2;
+ }
+
+ public abstract class ClassWithInterfaceBase : Interface1 { }
+
+ [Serializable]
+ public class ClassWithInterface1 : ClassWithInterfaceBase
+ {
+ public GameObject go;
+ }
+
+ [Serializable]
+ public class ClassWithInterface2 : ClassWithInterfaceBase
+ {
+ [LeftToggle]
+ public bool var1;
+ }
+
+ [Serializable]
+ public class ClassWithInterface3 : ClassWithInterfaceBase
+ {
+ public int var1;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Examples/Scripts/SampleBehaviour6.cs.meta b/Assets/Examples/Scripts/SampleBehaviour6.cs.meta
new file mode 100644
index 00000000..e1bacbf1
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour6.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a0323e91bfeae1c488545bee770d3fa7
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Examples/Scripts/SampleBehaviour7.cs b/Assets/Examples/Scripts/SampleBehaviour7.cs
new file mode 100644
index 00000000..e68838c5
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour7.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+
+[ExecuteAlways]
+[AddComponentMenu("Editor Toolbox/Cheat Sheet 7 (Special & Others)")]
+public class SampleBehaviour7 : MonoBehaviour
+{
+ [Label("NewLabel", skinStyle: SkinStyle.Box)]
+
+ [NewLabel("float")]
+ public float var1 = 25.4f;
+ [NewLabel("My custom label")]
+ [InLineEditor]
+ public Transform var2;
+
+ [Label("HideLabel", skinStyle: SkinStyle.Box)]
+
+ [HideLabel]
+ public int var3;
+}
\ No newline at end of file
diff --git a/Assets/Examples/Scripts/SampleBehaviour7.cs.meta b/Assets/Examples/Scripts/SampleBehaviour7.cs.meta
new file mode 100644
index 00000000..fb47b1cc
--- /dev/null
+++ b/Assets/Examples/Scripts/SampleBehaviour7.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c48a231d0fb97494d948757fb057b3ea
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Docs/referencepicker.png b/Docs/referencepicker.png
new file mode 100644
index 00000000..7c7564e3
Binary files /dev/null and b/Docs/referencepicker.png differ
diff --git a/Docs/utils.png b/Docs/utils.png
index 1c39774b..c9b2f39e 100644
Binary files a/Docs/utils.png and b/Docs/utils.png differ
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 0dd77a83..a1ac03af 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -2,18 +2,18 @@
"dependencies": {
"com.unity.2d.sprite": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
- "com.unity.analytics": "3.6.11",
- "com.unity.collab-proxy": "1.13.5",
+ "com.unity.analytics": "3.6.12",
+ "com.unity.collab-proxy": "1.15.15",
"com.unity.editorcoroutines": "1.0.0",
"com.unity.ide.rider": "2.0.7",
"com.unity.ide.visualstudio": "2.0.14",
- "com.unity.ide.vscode": "1.2.4",
- "com.unity.test-framework": "1.1.29",
+ "com.unity.ide.vscode": "1.2.5",
+ "com.unity.test-framework": "1.1.31",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.4.8",
"com.unity.toolchain.win-x86_64-linux-x86_64": "1.0.0",
"com.unity.ugui": "1.0.0",
- "com.unity.xr.legacyinputhelpers": "2.1.8",
+ "com.unity.xr.legacyinputhelpers": "2.1.9",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index a45b4885..dfda880c 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -13,7 +13,7 @@
"dependencies": {}
},
"com.unity.analytics": {
- "version": "3.6.11",
+ "version": "3.6.12",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -22,11 +22,10 @@
"url": "https://packages.unity.com"
},
"com.unity.collab-proxy": {
- "version": "1.13.5",
+ "version": "1.15.15",
"depth": 0,
"source": "registry",
"dependencies": {
- "com.unity.nuget.newtonsoft-json": "2.0.0",
"com.unity.services.core": "1.0.1"
},
"url": "https://packages.unity.com"
@@ -64,19 +63,12 @@
"url": "https://packages.unity.com"
},
"com.unity.ide.vscode": {
- "version": "1.2.4",
+ "version": "1.2.5",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
- "com.unity.nuget.newtonsoft-json": {
- "version": "2.0.0",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
"com.unity.services.core": {
"version": "1.0.1",
"depth": 1,
@@ -103,7 +95,7 @@
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
- "version": "1.1.29",
+ "version": "1.1.31",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -154,7 +146,7 @@
}
},
"com.unity.xr.legacyinputhelpers": {
- "version": "2.1.8",
+ "version": "2.1.9",
"depth": 0,
"source": "registry",
"dependencies": {
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index d2eb0053..02057f26 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2020.3.21f1
-m_EditorVersionWithRevision: 2020.3.21f1 (a38c86f6690f)
+m_EditorVersion: 2020.3.33f1
+m_EditorVersionWithRevision: 2020.3.33f1 (915a7af8b0d5)
diff --git a/README.md b/README.md
index 5378dc53..e2df44b2 100644
--- a/README.md
+++ b/README.md
@@ -36,6 +36,13 @@ Unity 2018.x or newer
- [Attributes & Drawers](#drawers)
- [Regular Drawers](#regulardrawers)
- [Toolbox Drawers](#toolboxdrawers)
+ - [Toolbox Decorator Attributes](#toolboxdecorator)
+ - [Toolbox Condition Attributes](#toolboxcondition)
+ - [Toolbox Property (Self/List) Attributes](#toolboxproperty)
+ - [Toolbox Special Attributes](#toolboxspecial)
+ - [Toolbox Archetype Attributes](#toolboxarchetype)
+ - [SerializeReference (ReferencePicker)](#toolboxreference)
+ - [Toolbox Custom Editors](#toolboxeditors)
- [Material Drawers](#materialdrawers)
- [Serialized Types](#serialized-types)
- [Editor Extensions](#editor-extensions)
@@ -43,11 +50,10 @@ Unity 2018.x or newer
- [Project](#project)
- [Toolbar](#toolbar)
- [Utilities](#utilities)
-- [Editor Extras](#editor-extras)
## Settings
-The most important file, it allows the user to manage all available features. Can be accessed from the Project Settings window (Edit/Project Settings.../Editor Toolbox) or directly inside the Project window. Make sure to have one valid settings file per project.
+The most important file, allows the user to manage all available features. Can be accessed from the Project Settings window (Edit/Project Settings.../Editor Toolbox) or directly inside the Project window. Make sure to have one valid settings file per project.
Available features are divided into three groups:
- Hierarchy
@@ -56,6 +62,9 @@ Available features are divided into three groups:
Each module is described in its respective section.
+If you want to keep your custom settings between UET versions, create your own settings file:
+```Create/Editor Toolbox/Settings```
+
## Attributes & Drawers
### Regular Drawers
@@ -81,17 +90,6 @@ public float var1 = 80.0f;
\

-#### NewLabelAttribute
-
-```csharp
-[NewLabel("Custom Label", "Element")]
-public int[] vars1 = new int[3];
-[NewLabel("Custom Label")]
-public float var2 = 25.4f;
-```
-
-
-
#### MinMaxSliderAttribute
```csharp
@@ -112,10 +110,6 @@ public Component var2;

-#### HideLabelAttribute
-
-
-
#### SuffixAttribute

@@ -255,7 +249,7 @@ Examples **'How to'** create custom ToolboxDrawers you can find [HERE](https://g

-#### ToolboxDecoratorAttributes
+#### Toolbox Decorator Attributes
Display/create something before and after property in the desired order (using Order property).
In fact **ToolboxDecoratorDrawers** are like extended version of built-in **DecoratorDrawers**.
@@ -337,7 +331,7 @@ public int var1;

-#### ToolboxConditionAttributes
+#### Toolbox Condition Attributes
Enable/disable or show/hide properties using custom conditions. You can use them together with any other type of drawer.
Every ToolboxConditionDrawer supports boolean, int, string, UnityEngine.Object and enum types and works even with array/list properties.
@@ -388,7 +382,9 @@ public int[] vars1 = new [] { 1, 2, 3, 4 };
\

-#### InLineEditorAttribute
+#### Toolbox Property Attributes
+
+##### InLineEditorAttribute
This attribute gives a great possibility to extend all reference-related (UnityEngine.Object) fields.
Using it you are able to 'inline' Editors for: components, ScriptableObjects, Materials, Renderers, MeshFilters, Textures, AudioClips, etc.
@@ -409,7 +405,7 @@ public Material var1;
```

-#### Reorderable List
+##### Reorderable List
Custom implementation of standard ReorderableList (UnityEditorInternal). Usable as an attribute in serialized fields or a single object in custom Editors.
@@ -448,7 +444,7 @@ private int GetValue()
}
```
-#### ScrollableItemsAttribute
+##### ScrollableItemsAttribute
It's a perfect solution to inspect large arrays/lists and optimize displaying them within the Inspector window.
@@ -459,7 +455,7 @@ public GameObject[] largeArray = new GameObject[19];

-#### Other ToolboxProperty attributes
+##### Other ToolboxProperty attributes
```csharp
[IgnoreParent]
@@ -474,7 +470,23 @@ public float minValue;
public float MaxValue => 15.0f;
```
-#### ToolboxArchetypeAttributes
+#### Toolbox Special Attributes
+
+Attributes handled internally by the ToolboxEditor. You can combine them with any other attributes.
+
+```csharp
+[NewLabel("Custom Label")]
+public float var1 = 25.4f;
+```
+
+```csharp
+[HideLabel]
+public float var1;
+```
+
+
+
+#### Toolbox Archetype Attributes
Using this attribute you are able to implement custom patterns of frequently grouped **ToolboxAttributes**.
@@ -513,6 +525,81 @@ public int var1;

+#### SerializeReference (ReferencePicker)
+
+You can draw properties marked with the **[SerializeReference]** attribute with an additional type picker that allows you to manipulate what managed type will be serialized.
+
+```csharp
+[SerializeReference, ReferencePicker]
+public Interface1 var1;
+[SerializeReference, ReferencePicker]
+public ClassWithInterfaceBase var2;
+
+public interface Interface1 { }
+
+[Serializable]
+public struct Struct : Interface1
+{
+ public bool var1;
+ public bool var2;
+}
+
+public abstract class ClassWithInterfaceBase : Interface1 { }
+
+[Serializable]
+public class ClassWithInterface1 : ClassWithInterfaceBase
+{
+ public GameObject go;
+}
+
+[Serializable]
+public class ClassWithInterface2 : ClassWithInterfaceBase
+{
+ [LeftToggle]
+ public bool var1;
+}
+
+[Serializable]
+public class ClassWithInterface3 : ClassWithInterfaceBase
+{
+ public int var1;
+}
+```
+
+
+
+#### Custom Editors
+
+If you want to create a custom **UnityEditor.Editor** for your components and still use Toolbox-related features be sure to inherit from the **Toolbox.Editor.ToolboxEditor** class.
+
+```csharp
+using UnityEditor;
+using UnityEngine;
+#if UNITY_2019_1_OR_NEWER
+using UnityEditor.UIElements;
+using UnityEngine.UIElements;
+#endif
+using Toolbox.Editor;
+
+[CustomEditor(typeof(SampleBehaviour))]
+public class SampleEditor : ToolboxEditor
+{
+ private void OnEnable()
+ { }
+
+ private void OnDisable()
+ { }
+
+ public override void DrawCustomInspector()
+ {
+ base.DrawCustomInspector();
+
+ //for custom properties:
+ // - ToolboxEditorGui.DrawToolboxProperty(serializedObject.FindProperty("myProperty"));
+ }
+}
+```
+
### Material Drawers
```
@@ -548,7 +635,7 @@ _HideIfExample ("Range", Range(0, 1)) = 0.75
Allows to serialize Types and pick them through a dedicated picker.
```csharp
-[ClassExtends(typeof(Collider), Grouping = ClassGrouping.None, AddTextSearchField = false)] //or [ClassImplements(typeof(interface))] for interfaces
+[TypeConstraint(typeof(Collider), AllowAbstract = false, AllowObsolete = false, TypeSettings = TypeSettings.Class, TypeGrouping = TypeGrouping.None)]
public SerializedType var1;
public void Usage()
@@ -602,14 +689,14 @@ public void Usage()
#endif
```
-#### SerializedDateTime
-
-Allows to serialize DateTime.
-


+#### SerializedDateTime
+
+Allows to serialize DateTime.
+
#### SerializedDirectory
Allows to serialize folders in form of assets and retrieve direct paths in runtime.