feat: add odin files

master
uc-hoba 10 months ago
parent 9cbc2fab16
commit c928378be4
  1. 8
      Assets/Plugins/Sirenix.meta
  2. 8
      Assets/Plugins/Sirenix/Assemblies.meta
  3. 8
      Assets/Plugins/Sirenix/Assemblies/NoEditor.meta
  4. BIN
      Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll
  5. 86
      Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll.meta
  6. BIN
      Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll
  7. 86
      Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll.meta
  8. 8
      Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor.meta
  9. BIN
      Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll
  10. 83
      Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll.meta
  11. BIN
      Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll
  12. 83
      Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll.meta
  13. BIN
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll
  14. 53
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll.meta
  15. 6441
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml
  16. 14
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml.meta
  17. BIN
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll
  18. 53
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll.meta
  19. 11312
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml
  20. 14
      Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml.meta
  21. BIN
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Reflection.Editor.dll
  22. 53
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Reflection.Editor.dll.meta
  23. BIN
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll
  24. 53
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll.meta
  25. 202
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.xml
  26. 14
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.xml.meta
  27. BIN
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll
  28. 53
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll.meta
  29. 9864
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml
  30. 14
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml.meta
  31. BIN
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll
  32. 53
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll.meta
  33. 9790
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml
  34. 14
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml.meta
  35. BIN
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll
  36. 53
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.meta
  37. 3713
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml
  38. 14
      Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml.meta
  39. 6
      Assets/Plugins/Sirenix/Assemblies/link.xml
  40. 14
      Assets/Plugins/Sirenix/Assemblies/link.xml.meta
  41. 8
      Assets/Plugins/Sirenix/Odin Inspector.meta
  42. 8
      Assets/Plugins/Sirenix/Odin Inspector/Assets.meta
  43. 8
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor.meta
  44. 30
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Bootstrap License.txt
  45. 14
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Bootstrap License.txt.meta
  46. BIN
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/ConfigData.bytes
  47. 15
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/ConfigData.bytes.meta
  48. 8
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden.meta
  49. 51
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/ExtractSpriteShader.shader
  50. 16
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/ExtractSpriteShader.shader.meta
  51. 98
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/GUIUtilShader.shader
  52. 16
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/GUIUtilShader.shader.meta
  53. 57
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/LazyEditorIconShader.shader
  54. 16
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/LazyEditorIconShader.shader.meta
  55. 95
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/SdfIconShader.shader
  56. 16
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/SdfIconShader.shader.meta
  57. 13
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/OdinPathLookup.asset
  58. 15
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/OdinPathLookup.asset.meta
  59. BIN
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/SdfIconAtlas.png
  60. 135
      Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/SdfIconAtlas.png.meta
  61. 8
      Assets/Plugins/Sirenix/Odin Inspector/Config.meta
  62. 8
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor.meta
  63. 25
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset
  64. 8
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset.meta
  65. 19
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/InspectorConfig.asset
  66. 8
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/InspectorConfig.asset.meta
  67. 19
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset
  68. 8
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset.meta
  69. 24
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/TypeRegistryUserConfig.asset
  70. 8
      Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/TypeRegistryUserConfig.asset.meta
  71. 8
      Assets/Plugins/Sirenix/Odin Inspector/Modules.meta
  72. BIN
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Addressables.data
  73. 14
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Addressables.data.meta
  74. BIN
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Entities.data
  75. 15
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Entities.data.meta
  76. BIN
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Localization.data
  77. 13
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Localization.data.meta
  78. BIN
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.data
  79. 15
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.data.meta
  80. 8
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.meta
  81. 883
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs
  82. 11
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs.meta
  83. 11
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/Sirenix.OdinInspector.Modules.UnityMathematics.asmdef
  84. 7
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/Sirenix.OdinInspector.Modules.UnityMathematics.asmdef.meta
  85. 8
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/manifest.txt
  86. 7
      Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/manifest.txt.meta
  87. 35
      Assets/Plugins/Sirenix/Readme.txt
  88. 15
      Assets/Plugins/Sirenix/Readme.txt.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7db84c72b2408b24da5a225550b562ff
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 05b1eef81f23d6648992c93437892982
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: aa3dc305dd00dad49bbc1ff3996b055d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

@ -0,0 +1,86 @@
fileFormatVersion: 2
guid: 5651992cdad94894a3af7dc3f1da9170
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 1
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude N3DS: 0
Exclude OSXIntel: 1
Exclude OSXIntel64: 1
Exclude OSXUniversal: 1
Exclude PS4: 0
Exclude PSM: 0
Exclude PSP2: 0
Exclude SamsungTV: 0
Exclude Tizen: 0
Exclude WebGL: 0
Exclude WiiU: 0
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
N3DS:
enabled: 1
settings: {}
PS4:
enabled: 1
settings: {}
PSM:
enabled: 1
settings: {}
PSP2:
enabled: 1
settings: {}
SamsungTV:
enabled: 1
settings: {}
Tizen:
enabled: 1
settings: {}
WebGL:
enabled: 1
settings: {}
WiiU:
enabled: 1
settings: {}
WindowsStoreApps:
enabled: 1
settings:
CPU: AnyCPU
XboxOne:
enabled: 1
settings: {}
iOS:
enabled: 1
settings: {}
tvOS:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll
uploadId: 712389

Binary file not shown.

@ -0,0 +1,86 @@
fileFormatVersion: 2
guid: 5978f8f3dd274e848fbb7a123bde1fb9
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 1
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude N3DS: 0
Exclude OSXIntel: 1
Exclude OSXIntel64: 1
Exclude OSXUniversal: 1
Exclude PS4: 0
Exclude PSM: 0
Exclude PSP2: 0
Exclude SamsungTV: 0
Exclude Tizen: 0
Exclude WebGL: 0
Exclude WiiU: 0
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
N3DS:
enabled: 1
settings: {}
PS4:
enabled: 1
settings: {}
PSM:
enabled: 1
settings: {}
PSP2:
enabled: 1
settings: {}
SamsungTV:
enabled: 1
settings: {}
Tizen:
enabled: 1
settings: {}
WebGL:
enabled: 1
settings: {}
WiiU:
enabled: 1
settings: {}
WindowsStoreApps:
enabled: 1
settings:
CPU: AnyCPU
XboxOne:
enabled: 1
settings: {}
iOS:
enabled: 1
settings: {}
tvOS:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll
uploadId: 712389

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a73a691127ad93941b89586292291dab
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

@ -0,0 +1,83 @@
fileFormatVersion: 2
guid: d2a8f0021d6b47c5923d8972dfb81ef1
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Android:
enabled: 1
settings: {}
Any:
enabled: 0
settings:
Exclude Android: 0
Exclude Editor: 1
Exclude Linux: 0
Exclude Linux64: 0
Exclude LinuxUniversal: 0
Exclude N3DS: 1
Exclude OSXIntel: 0
Exclude OSXIntel64: 0
Exclude OSXUniversal: 0
Exclude PS4: 1
Exclude PSM: 1
Exclude PSP2: 1
Exclude SamsungTV: 1
Exclude Tizen: 1
Exclude WebGL: 1
Exclude WiiU: 1
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 1
Exclude XboxOne: 1
Exclude iOS: 1
Exclude tvOS: 1
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
Linux:
enabled: 1
settings: {}
Linux64:
enabled: 1
settings: {}
LinuxUniversal:
enabled: 1
settings: {}
OSXIntel:
enabled: 1
settings: {}
OSXIntel64:
enabled: 1
settings: {}
OSXUniversal:
enabled: 1
settings: {}
PSM:
enabled: 0
settings: {}
Win:
enabled: 1
settings: {}
Win64:
enabled: 1
settings: {}
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll
uploadId: 712389

Binary file not shown.

@ -0,0 +1,83 @@
fileFormatVersion: 2
guid: 1e0a9643dc0d4b46bf2321f72c4e503e
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Android:
enabled: 1
settings: {}
Any:
enabled: 0
settings:
Exclude Android: 0
Exclude Editor: 1
Exclude Linux: 0
Exclude Linux64: 0
Exclude LinuxUniversal: 0
Exclude N3DS: 1
Exclude OSXIntel: 0
Exclude OSXIntel64: 0
Exclude OSXUniversal: 0
Exclude PS4: 1
Exclude PSM: 1
Exclude PSP2: 1
Exclude SamsungTV: 1
Exclude Tizen: 1
Exclude WebGL: 1
Exclude WiiU: 1
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 1
Exclude XboxOne: 1
Exclude iOS: 1
Exclude tvOS: 1
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
Linux:
enabled: 1
settings: {}
Linux64:
enabled: 1
settings: {}
LinuxUniversal:
enabled: 1
settings: {}
OSXIntel:
enabled: 1
settings: {}
OSXIntel64:
enabled: 1
settings: {}
OSXUniversal:
enabled: 1
settings: {}
PSM:
enabled: 0
settings: {}
Win:
enabled: 1
settings: {}
Win64:
enabled: 1
settings: {}
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll
uploadId: 712389

Binary file not shown.

@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 47a84ebde4ec47fabb620b30cc7a3e5c
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 1
settings:
Exclude Android: 0
Exclude Editor: 0
Exclude Linux: 0
Exclude Linux64: 0
Exclude LinuxUniversal: 0
Exclude N3DS: 0
Exclude OSXIntel: 0
Exclude OSXIntel64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PSM: 0
Exclude PSP2: 0
Exclude SamsungTV: 0
Exclude Tizen: 0
Exclude WebGL: 0
Exclude WiiU: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll
uploadId: 712389

File diff suppressed because it is too large Load Diff

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 47a84ebde4ec47fabb620b30cc7a096f
timeCreated: 1488828285
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml
uploadId: 712389

Binary file not shown.

@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: a4865f1ab4504ed8a368670db22f409c
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 0
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude N3DS: 1
Exclude OSXIntel: 1
Exclude OSXIntel64: 1
Exclude OSXUniversal: 1
Exclude PS4: 1
Exclude PSM: 1
Exclude PSP2: 1
Exclude SamsungTV: 1
Exclude Tizen: 1
Exclude WebGL: 1
Exclude WiiU: 1
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 1
Exclude XboxOne: 1
Exclude iOS: 1
Exclude tvOS: 1
Editor:
enabled: 1
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll
uploadId: 712389

File diff suppressed because it is too large Load Diff

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: a4865f1ab4504ed8a368670db22f096f
timeCreated: 1488828285
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml
uploadId: 712389

Binary file not shown.

@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 61824742f78323c439d83403f8272d41
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 0
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude N3DS: 1
Exclude OSXIntel: 1
Exclude OSXIntel64: 1
Exclude OSXUniversal: 1
Exclude PS4: 1
Exclude PSM: 1
Exclude PSP2: 1
Exclude SamsungTV: 1
Exclude Tizen: 1
Exclude WebGL: 1
Exclude WiiU: 1
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 1
Exclude XboxOne: 1
Exclude iOS: 1
Exclude tvOS: 1
Editor:
enabled: 1
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Reflection.Editor.dll
uploadId: 712389

Binary file not shown.

@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 74721b9f0af448f5ae2e91102a1a5edd
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 1
settings:
Exclude Android: 0
Exclude Editor: 0
Exclude Linux: 0
Exclude Linux64: 0
Exclude LinuxUniversal: 0
Exclude N3DS: 0
Exclude OSXIntel: 0
Exclude OSXIntel64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PSM: 0
Exclude PSP2: 0
Exclude SamsungTV: 0
Exclude Tizen: 0
Exclude WebGL: 0
Exclude WiiU: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll
uploadId: 712389

@ -0,0 +1,202 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Sirenix.Serialization.Config</name>
</assembly>
<members>
<member name="T:Sirenix.Serialization.CustomLogger">
<summary>
A helper class for quickly and easily defining custom loggers.
</summary>
<seealso cref="T:Sirenix.Serialization.ILogger" />
</member>
<member name="M:Sirenix.Serialization.CustomLogger.#ctor(System.Action{System.String},System.Action{System.String},System.Action{System.Exception})">
<summary>
Not yet documented.
</summary>
</member>
<member name="M:Sirenix.Serialization.CustomLogger.LogWarning(System.String)">
<summary>
Not yet documented.
</summary>
</member>
<member name="M:Sirenix.Serialization.CustomLogger.LogError(System.String)">
<summary>
Not yet documented.
</summary>
</member>
<member name="M:Sirenix.Serialization.CustomLogger.LogException(System.Exception)">
<summary>
Not yet documented.
</summary>
</member>
<member name="T:Sirenix.Serialization.DataFormat">
<summary>
Specifies a data format to read and write in.
</summary>
</member>
<member name="F:Sirenix.Serialization.DataFormat.Binary">
<summary>
A custom packed binary format. This format is most efficient and almost allocation-free,
but its serialized data is not human-readable.
</summary>
</member>
<member name="F:Sirenix.Serialization.DataFormat.JSON">
<summary>
A JSON format compliant with the json specification found at "http://www.json.org/".
<para />
This format has rather sluggish performance and allocates frightening amounts of string garbage.
</summary>
</member>
<member name="F:Sirenix.Serialization.DataFormat.Nodes">
<summary>
A format that does not serialize to a byte stream, but to a list of data nodes in memory
which can then be serialized by Unity.
<para />
This format is highly inefficient, and is primarily used for ensuring that Unity assets
are mergeable by individual values when saved in Unity's text format. This makes
serialized values more robust and data recovery easier in case of issues.
<para />
This format is *not* recommended for use in builds.
</summary>
</member>
<member name="T:Sirenix.Serialization.DefaultLoggers">
<summary>
Defines default loggers for serialization and deserialization. This class and all of its loggers are thread safe.
</summary>
</member>
<member name="P:Sirenix.Serialization.DefaultLoggers.DefaultLogger">
<summary>
Not yet documented.
</summary>
</member>
<member name="P:Sirenix.Serialization.DefaultLoggers.UnityLogger">
<summary>
Not yet documented.
</summary>
</member>
<member name="T:Sirenix.Serialization.ErrorHandlingPolicy">
<summary>
The policy for handling errors during serialization and deserialization.
</summary>
</member>
<member name="F:Sirenix.Serialization.ErrorHandlingPolicy.Resilient">
<summary>
Attempts will be made to recover from errors and continue serialization. Data may become invalid.
</summary>
</member>
<member name="F:Sirenix.Serialization.ErrorHandlingPolicy.ThrowOnErrors">
<summary>
Exceptions will be thrown when errors are logged.
</summary>
</member>
<member name="F:Sirenix.Serialization.ErrorHandlingPolicy.ThrowOnWarningsAndErrors">
<summary>
Exceptions will be thrown when warnings or errors are logged.
</summary>
</member>
<member name="T:Sirenix.Serialization.GlobalSerializationConfig">
<summary>
Not yet documented.
</summary>
</member>
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.ODIN_SERIALIZATION_CAUTIONARY_WARNING_TEXT">
<summary>
Text for the cautionary serialization warning shown in the inspector.
</summary>
</member>
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.ODIN_SERIALIZATION_CAUTIONARY_WARNING_BUTTON_TEXT">
<summary>
Text for the hide button for the cautionary serialization warning shown in the inspector.
</summary>
</member>
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.ODIN_PREFAB_CAUTIONARY_WARNING_BUTTON_TEXT">
<summary>
Text for the hide button for the cautionary prefab warning shown in the inspector.
</summary>
</member>
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.HideSerializationCautionaryMessage">
<summary>
Whether the user has chosen to hide the cautionary serialization warning.
</summary>
</member>
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.HideOdinSerializeAttributeWarningMessages">
<summary>
Whether the user has chosen to hide the warning messages related to the OdinSerialize attribute.
</summary>
</member>
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.HideNonSerializedShowInInspectorWarningMessages">
<summary>
Whether the user has chosen to hide the warning messages related to the SerializeField and ShowInInspector attributes on non-serialized members.
</summary>
</member>
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.Logger">
<summary>
Not yet documented.
</summary>
</member>
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.EditorSerializationFormat">
<summary>
Not yet documented.
</summary>
</member>
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.BuildSerializationFormat">
<summary>
Not yet documented.
</summary>
</member>
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.LoggingPolicy">
<summary>
Not yet documented.
</summary>
</member>
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.ErrorHandlingPolicy">
<summary>
Not yet documented.
</summary>
</member>
<member name="T:Sirenix.Serialization.ILogger">
<summary>
Implements methods for logging warnings, errors and exceptions during serialization and deserialization.
</summary>
</member>
<member name="M:Sirenix.Serialization.ILogger.LogWarning(System.String)">
<summary>
Logs a warning.
</summary>
<param name="warning">The warning to log.</param>
</member>
<member name="M:Sirenix.Serialization.ILogger.LogError(System.String)">
<summary>
Logs an error.
</summary>
<param name="error">The error to log.</param>
</member>
<member name="M:Sirenix.Serialization.ILogger.LogException(System.Exception)">
<summary>
Logs an exception.
</summary>
<param name="exception">The exception to log.</param>
</member>
<member name="T:Sirenix.Serialization.LoggingPolicy">
<summary>
The policy for which level of logging to do during serialization and deserialization.
</summary>
</member>
<member name="F:Sirenix.Serialization.LoggingPolicy.LogErrors">
<summary>
Not yet documented.
</summary>
</member>
<member name="F:Sirenix.Serialization.LoggingPolicy.LogWarningsAndErrors">
<summary>
Not yet documented.
</summary>
</member>
<member name="F:Sirenix.Serialization.LoggingPolicy.Silent">
<summary>
Not yet documented.
</summary>
</member>
</members>
</doc>

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 74721b9f0af448f5ae2e91102a1a096f
timeCreated: 1488828285
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.xml
uploadId: 712389

Binary file not shown.

@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 5f3147f7af4c49739579b966c458f5e4
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 0
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude N3DS: 1
Exclude OSXIntel: 1
Exclude OSXIntel64: 1
Exclude OSXUniversal: 1
Exclude PS4: 1
Exclude PSM: 1
Exclude PSP2: 1
Exclude SamsungTV: 1
Exclude Tizen: 1
Exclude WebGL: 1
Exclude WiiU: 1
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 1
Exclude XboxOne: 1
Exclude iOS: 1
Exclude tvOS: 1
Editor:
enabled: 1
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll
uploadId: 712389

File diff suppressed because it is too large Load Diff

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 5f3147f7af4c49739579b966c458096f
timeCreated: 1488828285
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml
uploadId: 712389

Binary file not shown.

@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 5c65184932ff4fd48a343e2360256baf
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 0
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude N3DS: 1
Exclude OSXIntel: 1
Exclude OSXIntel64: 1
Exclude OSXUniversal: 1
Exclude PS4: 1
Exclude PSM: 1
Exclude PSP2: 1
Exclude SamsungTV: 1
Exclude Tizen: 1
Exclude WebGL: 1
Exclude WiiU: 1
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 1
Exclude XboxOne: 1
Exclude iOS: 1
Exclude tvOS: 1
Editor:
enabled: 1
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll
uploadId: 712389

File diff suppressed because it is too large Load Diff

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 5c65184932ff4fd48a343e236025096f
timeCreated: 1488828285
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml
uploadId: 712389

Binary file not shown.

@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 4873f2a8bdae42baa0406e8a61366ca1
timeCreated: 1488828285
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
Any:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 0
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude N3DS: 1
Exclude OSXIntel: 1
Exclude OSXIntel64: 1
Exclude OSXUniversal: 1
Exclude PS4: 1
Exclude PSM: 1
Exclude PSP2: 1
Exclude SamsungTV: 1
Exclude Tizen: 1
Exclude WebGL: 1
Exclude WiiU: 1
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 1
Exclude XboxOne: 1
Exclude iOS: 1
Exclude tvOS: 1
Editor:
enabled: 1
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll
uploadId: 712389

File diff suppressed because it is too large Load Diff

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 4873f2a8bdae42baa0406e8a6136096f
timeCreated: 1488828285
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml
uploadId: 712389

@ -0,0 +1,6 @@
<linker>
<assembly fullname="Sirenix.OdinInspector.Attributes" preserve="all"/>
<assembly fullname="Sirenix.Serialization.Config" preserve="all"/>
<assembly fullname="Sirenix.Serialization" preserve="all"/>
<assembly fullname="Sirenix.Utilities" preserve="all"/>
</linker>

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 1bec01331befdea4d9ed9033eabd68f8
timeCreated: 1613046886
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Assemblies/link.xml
uploadId: 712389

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fe4970195facd664dbd38d1cbf2100c3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 52c0fd243c6c01e4d9efa03616b655d5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 85e532eecf67ab545b2a5a28f1a22894
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,30 @@
Odin Inspector makes use of the Bootstrap icon library.
The library has been packed into the SdfIconAtlas.png
file as SDF data.
Bootstrap is released under the following license:
---
The MIT License (MIT)
Copyright (c) 2011-2018 Twitter, Inc.
Copyright (c) 2011-2018 The Bootstrap Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 3fdc67fad3e362e47b5dd365a0bbdd7f
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Bootstrap License.txt
uploadId: 712389

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 90eaa0dc28c1934408dc1c02e13a507f
timeCreated: 1628274352
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/ConfigData.bytes
uploadId: 712389

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e22dad2728c77344f8da0d2789866a0e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,51 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Hidden/Sirenix/Editor/ExtractSprite"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
_Color("Color", Color) = (1,1,1,1)
_Rect("Rect", Vector) = (0,0,0,0)
_TexelSize("TexelSize", Vector) = (0,0,0,0)
}
SubShader
{
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _Rect;
v2f vert(appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target {
float2 uv = i.uv;
uv *= _Rect.zw;
uv += _Rect.xy;
return tex2D(_MainTex, uv);
}
ENDCG
}
}
}

@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 0675e2791073a4147b190e55f1da7ac2
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/ExtractSpriteShader.shader
uploadId: 712389

@ -0,0 +1,98 @@
Shader "Hidden/Sirenix/OdinGUIShader"
{
SubShader
{
Lighting Off
Cull Off
ZWrite Off
ZTest Always
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float _SirenixOdin_GreyScale;
float4 _SirenixOdin_GUIColor;
float4 _SirenixOdin_GUIUv;
float4 _SirenixOdin_HueColor;
v2f vert(appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
float test1(float x, float y) {
if (x >= y) {
return 0;
} else {
return 1;
}
}
float test2(float x, float y) {
return step(x, y);
}
float3 rgb2hsv(float3 c) {
float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g));
float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r));
float d = q.x - min(q.w, q.y);
float e = 1.0e-10;
return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}
float3 hsv2rgb(float3 c) {
c = float3(c.x, clamp(c.yz, 0.0, 1.0));
float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www);
return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
}
float4 frag(v2f i) : SV_Target {
float2 uv = i.uv;
uv.y = 1 - uv.y;
uv.x = _SirenixOdin_GUIUv.x + uv.x * _SirenixOdin_GUIUv.z;
uv.y = _SirenixOdin_GUIUv.y + uv.y * _SirenixOdin_GUIUv.w;
uv.y = 1 - uv.y;
// Greyscale
float4 col = tex2D(_MainTex, uv);
float3 greyScale = (0.3 * col.r) + (0.59 * col.g) + (0.11 * col.b);
col.rgb = lerp(col.rgb, greyScale, _SirenixOdin_GreyScale);
// Change hue
float3 h = col.rgb;
h = rgb2hsv(h);
float hue = rgb2hsv(_SirenixOdin_HueColor.rgb).x;
h.x = hue;
h = hsv2rgb(h);
col.rgb = lerp(col.rgb, h, _SirenixOdin_HueColor.a);
// Blend color
col *= _SirenixOdin_GUIColor;
return col;
}
ENDCG
}
}
}

@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 7619c1ca61a5ef94ca78ddfa69941dad
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/GUIUtilShader.shader
uploadId: 712389

@ -0,0 +1,57 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Hidden/Sirenix/Editor/GUIIcon"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
_Color("Color", Color) = (1,1,1,1)
}
SubShader
{
Blend SrcAlpha Zero
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _Color;
v2f vert(appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target {
// drop shadow:
// float texelSize = 1.0 / 34.0;
// float2 shadowUv = clamp(i.uv + float2(-texelSize, texelSize * 2), float2(0, 0), float2(1, 1));
// fixed4 shadow = fixed4(0, 0, 0, tex2D(_MainTex, shadowUv).a);
fixed4 col = _Color;
col.a *= tex2D(_MainTex, i.uv).a;
// drop shadow:
// col = lerp(shadow, col, col.a);
return col;
}
ENDCG
}
}
}

@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 2ad0a53eacb91bd4fbe0dc668bf25e6f
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/LazyEditorIconShader.shader
uploadId: 712389

@ -0,0 +1,95 @@
Shader "Hidden/Sirenix/SdfIconShader"
{
SubShader
{
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _SirenixOdin_SdfTex;
float _SirenixOdin_EdgeOffset;
float4 _SirenixOdin_Color;
float4 _SirenixOdin_BgColor;
float4 _SirenixOdin_Uv;
v2f vert(appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
float samplePixel(float2 uv) {
return tex2D(_SirenixOdin_SdfTex, uv).a;
}
float linearstep(float lo, float hi, float input) {
float diff = hi - lo;
float offset = input - lo;
return min(1.0, max(0.0, offset / diff));
}
float sampleDist(float2 uv, float dx, float edge, float padding) {
float dist = samplePixel(uv);
float p = -abs((dx * 3072.0) / -padding);
float a = min(1, max(0, edge - p * 0.33333));
float b = max(0, min(1, edge + p * 0.33333));
return smoothstep(b, a, dist);
}
float4 frag(v2f i) : SV_Target {
float2 uv = i.uv;
uv.y = 1 - uv.y;
uv.x = _SirenixOdin_Uv.x + uv.x * _SirenixOdin_Uv.z;
uv.y = _SirenixOdin_Uv.y + uv.y * _SirenixOdin_Uv.w;
uv.y = 1 - uv.y;
float alpha = 0.0;
float edge = 0.5019608 + _SirenixOdin_EdgeOffset;
if (_SirenixOdin_BgColor.a > 0.01) {
float3 colorBg = _SirenixOdin_BgColor.rgb;
float3 colorFg = _SirenixOdin_Color.rgb;
float padding = 8;
float dx = ddx(uv.x);
float2 t = float2(dx * 0.333333, 0);
float3 subDist = float3(
sampleDist(uv.xy - t, dx, edge, padding),
sampleDist(uv.xy, dx, edge, padding),
sampleDist(uv.xy + t, dx, edge, padding));
float3 color = lerp(colorBg, colorFg, clamp(subDist, 0.0, 1.0));
float alpha = min(1, subDist.r + subDist.g + subDist.b);
float4 col = float4(color, alpha * _SirenixOdin_Color.a);
return col;
} else {
float padding = 8;
float dx = ddx(uv.x);
float alpha = sampleDist(uv, dx, edge, padding);
float4 col = _SirenixOdin_Color;
col.a *= alpha;
return col;
}
}
ENDCG
}
}
}

@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 99e0f263ae4ed2d4d962a2e995dff6df
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/Hidden/SdfIconShader.shader
uploadId: 712389

@ -0,0 +1,13 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -262940062, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: OdinPathLookup
m_EditorClassIdentifier:

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 08379ccefc05200459f90a1c0711a340
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/OdinPathLookup.asset
uploadId: 712389

Binary file not shown.

@ -0,0 +1,135 @@
fileFormatVersion: 2
guid: 2a0112a98875dfd488b5d10bdb8a4903
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 0
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: 0
wrapU: 0
wrapV: 0
wrapW: 0
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: 0
spriteTessellationDetail: -1
textureType: 10
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 16384
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 16384
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 16384
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor/SdfIconAtlas.png
uploadId: 712389

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d93a52a4f02e4e3459c548fe9f3dd09c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b528dba71e0359d41a30367a762714a1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,25 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -645759843, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: GeneralDrawerConfig
m_EditorClassIdentifier:
enableUIToolkitSupport: 1
useOldUnityObjectField: 0
useOldUnityPreviewField: 0
useOldTypeSelector: 0
useNewObjectSelector: 1
showNoneItem: 1
showCategoriesByDefault: 0
preferNamespacesOverAssemblyCategories: 1
useOldPolymorphicField: 0
showBaseType: 1
nonDefaultConstructorPreference: 0

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 99d7c26982389644d93bd5d37bc6ce87
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1137305049, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: InspectorConfig
m_EditorClassIdentifier:
enableOdinInInspector: 1
defaultEditorBehaviour: 11
processMouseMoveInInspector: 1
drawingConfig:
configs: []

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 10a03909aa6e6cb4ba82b72d63edf967
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -228747253, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: OdinModuleConfig
m_EditorClassIdentifier:
configurations:
- ID: Unity.Mathematics
ActivationSettings: 0
ModuleTogglingSettings: 1
ModuleUpdateSettings: 1

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c83e6ed988451eb4ea36eee20bad76d2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 2050440665, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: TypeRegistryUserConfig
m_EditorClassIdentifier:
shownTypes:
serializedCollection: []
hiddenTypes:
serializedCollection: []
addedIllegalTypes:
serializedCollection: []
typeSettings:
serializedDictionary: []
typePriorities:
serializedDictionary: []

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7a2b266a349ac6647b98ee8580610bf0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 356a67db9bc6244428bcd2aad1eefbda
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: d92d0eb8b980c6d44b5f0e64a620355b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Addressables.data
uploadId: 712389

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 728df0e3465c1a148b83053a3f31d489
timeCreated: 1573836981
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Entities.data
uploadId: 712389

@ -0,0 +1,13 @@
fileFormatVersion: 2
guid: 5a1693d73a4f6e34d955789129c71e11
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Localization.data
uploadId: 712389

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 4866e740a22eb1e49b1603b051e4d92c
timeCreated: 1573836980
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.data
uploadId: 712389

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ea362582f8a21b344815e8923216d2fd
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,883 @@
//-----------------------------------------------------------------------
// <copyright file="MathematicsDrawers.cs" company="Sirenix ApS">
// Copyright (c) Sirenix ApS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
namespace Sirenix.OdinInspector.Modules.UnityMathematics.Editor
{
#if UNITY_EDITOR
using System;
using System.Collections.Generic;
using System.Reflection;
using Sirenix.OdinInspector.Editor;
using Sirenix.Utilities;
using Sirenix.Utilities.Editor;
using Unity.Mathematics;
using UnityEditor;
using UnityEngine;
public sealed class MatrixFloat2x2Processor : MatrixProcessor<float2x2> { }
public sealed class MatrixFloat3x2Processor : MatrixProcessor<float3x2> { }
public sealed class MatrixFloat4x2Processor : MatrixProcessor<float4x2> { }
public sealed class MatrixFloat2x3Processor : MatrixProcessor<float2x3> { }
public sealed class MatrixFloat3x3Processor : MatrixProcessor<float3x3> { }
public sealed class MatrixFloat4x3Processor : MatrixProcessor<float4x3> { }
public sealed class MatrixFloat2x4Processor : MatrixProcessor<float2x4> { }
public sealed class MatrixFloat3x4Processor : MatrixProcessor<float3x4> { }
public sealed class MatrixFloat4x4Processor : MatrixProcessor<float4x4> { }
public sealed class MatrixDouble2x2Processor : MatrixProcessor<double2x2> { }
public sealed class MatrixDouble3x2Processor : MatrixProcessor<double3x2> { }
public sealed class MatrixDouble4x2Processor : MatrixProcessor<double4x2> { }
public sealed class MatrixDouble2x3Processor : MatrixProcessor<double2x3> { }
public sealed class MatrixDouble3x3Processor : MatrixProcessor<double3x3> { }
public sealed class MatrixDouble4x3Processor : MatrixProcessor<double4x3> { }
public sealed class MatrixDouble2x4Processor : MatrixProcessor<double2x4> { }
public sealed class MatrixDouble3x4Processor : MatrixProcessor<double3x4> { }
public sealed class MatrixDouble4x4Processor : MatrixProcessor<double4x4> { }
public sealed class MatrixBool2x2Processor : MatrixProcessor<bool2x2> { }
public sealed class MatrixBool3x2Processor : MatrixProcessor<bool3x2> { }
public sealed class MatrixBool4x2Processor : MatrixProcessor<bool4x2> { }
public sealed class MatrixBool2x3Processor : MatrixProcessor<bool2x3> { }
public sealed class MatrixBool3x3Processor : MatrixProcessor<bool3x3> { }
public sealed class MatrixBool4x3Processor : MatrixProcessor<bool4x3> { }
public sealed class MatrixBool2x4Processor : MatrixProcessor<bool2x4> { }
public sealed class MatrixBool3x4Processor : MatrixProcessor<bool3x4> { }
public sealed class MatrixBool4x4Processor : MatrixProcessor<bool4x4> { }
public sealed class MatrixInt2x2Processor : MatrixProcessor<int2x2> { }
public sealed class MatrixInt3x2Processor : MatrixProcessor<int3x2> { }
public sealed class MatrixInt4x2Processor : MatrixProcessor<int4x2> { }
public sealed class MatrixInt2x3Processor : MatrixProcessor<int2x3> { }
public sealed class MatrixInt3x3Processor : MatrixProcessor<int3x3> { }
public sealed class MatrixInt4x3Processor : MatrixProcessor<int4x3> { }
public sealed class MatrixInt2x4Processor : MatrixProcessor<int2x4> { }
public sealed class MatrixInt3x4Processor : MatrixProcessor<int3x4> { }
public sealed class MatrixInt4x4Processor : MatrixProcessor<int4x4> { }
public sealed class MatrixUInt2x2Processor : MatrixProcessor<uint2x2> { }
public sealed class MatrixUInt3x2Processor : MatrixProcessor<uint3x2> { }
public sealed class MatrixUInt4x2Processor : MatrixProcessor<uint4x2> { }
public sealed class MatrixUInt2x3Processor : MatrixProcessor<uint2x3> { }
public sealed class MatrixUInt3x3Processor : MatrixProcessor<uint3x3> { }
public sealed class MatrixUInt4x3Processor : MatrixProcessor<uint4x3> { }
public sealed class MatrixUInt2x4Processor : MatrixProcessor<uint2x4> { }
public sealed class MatrixUInt3x4Processor : MatrixProcessor<uint3x4> { }
public sealed class MatrixUInt4x4Processor : MatrixProcessor<uint4x4> { }
public sealed class DisableUnityMatrixDrawerAttribute : Attribute { }
public abstract class MatrixProcessor<T> : OdinAttributeProcessor<T>
{
public override void ProcessSelfAttributes(InspectorProperty property, List<Attribute> attributes)
{
attributes.GetOrAddAttribute<InlinePropertyAttribute>();
attributes.GetOrAddAttribute<DisableUnityMatrixDrawerAttribute>();
}
public override void ProcessChildMemberAttributes(InspectorProperty parentProperty, MemberInfo member, List<Attribute> attributes)
{
attributes.Add(new HideLabelAttribute());
attributes.Add(new MatrixChildAttribute());
}
}
public class DisableUnityMatrixDrawerAttributeDrawer : OdinAttributeDrawer<DisableUnityMatrixDrawerAttribute>
{
protected override void Initialize()
{
this.SkipWhenDrawing = true;
var chain = this.Property.GetActiveDrawerChain().BakedDrawerArray;
for (int i = 0; i < chain.Length; i++)
{
var type = chain[i].GetType();
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(UnityPropertyDrawer<,>) && type.GetGenericArguments()[0].Name == "MatrixDrawer")
{
chain[i].SkipWhenDrawing = true;
break;
}
}
}
}
public class MatrixChildAttribute : Attribute { }
public class Bool2Drawer : OdinValueDrawer<bool2>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 100;
if (label != null)
{
GUILayout.Space(3); // Ugh, better than nothing
}
var options = GUILayoutOptions.Height(EditorGUIUtility.singleLineHeight);
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
EditorGUILayout.EndVertical();
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class Bool3Drawer : OdinValueDrawer<bool3>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 100;
if (label != null)
{
GUILayout.Space(3); // Ugh, better than nothing
}
var options = GUILayoutOptions.Height(EditorGUIUtility.singleLineHeight);
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
EditorGUILayout.EndVertical();
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class Bool4Drawer : OdinValueDrawer<bool4>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 100;
if (label != null)
{
GUILayout.Space(3); // Ugh, better than nothing
}
var options = GUILayoutOptions.Height(EditorGUIUtility.singleLineHeight);
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(options);
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
EditorGUILayout.EndVertical();
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class Float2Drawer : OdinValueDrawer<float2>, IDefinesGenericMenuItems
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
// Slide rect
{
var val = this.ValueEntry.SmartValue;
EditorGUI.BeginChangeCheck();
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector2(val.x, val.y));
val = new float2(vec.x, vec.y);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = val;
}
}
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
/// <summary>
/// Populates the generic menu for the property.
/// </summary>
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
{
float2 value = (float2)property.ValueEntry.WeakSmartValue;
var vec = new Vector2(value.x, value.y);
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0)"), vec == Vector2.zero, () => SetVector(property, Vector2.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1)"), vec == Vector2.one, () => SetVector(property, Vector2.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0)"), vec == Vector2.right, () => SetVector(property, Vector2.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0)"), vec == Vector2.left, () => SetVector(property, Vector2.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1)"), vec == Vector2.up, () => SetVector(property, Vector2.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1)"), vec == Vector2.down, () => SetVector(property, Vector2.down));
}
private void SetVector(InspectorProperty property, Vector2 value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = new float2(value.x, value.y);
}
});
}
private void NormalizeEntries(InspectorProperty property)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = math.normalizesafe((float2)property.ValueEntry.WeakValues[i]);
}
});
}
}
public class Float3Drawer : OdinValueDrawer<float3>, IDefinesGenericMenuItems
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
// Slide rect
{
var val = this.ValueEntry.SmartValue;
EditorGUI.BeginChangeCheck();
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector3(val.x, val.y, val.z));
val = new float3(vec.x, vec.y, vec.z);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = val;
}
}
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
/// <summary>
/// Populates the generic menu for the property.
/// </summary>
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
{
float3 value = (float3)property.ValueEntry.WeakSmartValue;
var vec = new Vector3(value.x, value.y, value.z);
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0)"), vec == Vector3.zero, () => SetVector(property, Vector3.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1)"), vec == Vector3.one, () => SetVector(property, Vector3.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0)"), vec == Vector3.right, () => SetVector(property, Vector3.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0)"), vec == Vector3.left, () => SetVector(property, Vector3.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0)"), vec == Vector3.up, () => SetVector(property, Vector3.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0)"), vec == Vector3.down, () => SetVector(property, Vector3.down));
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1)"), vec == Vector3.forward, () => SetVector(property, Vector3.forward));
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1)"), vec == Vector3.back, () => SetVector(property, Vector3.back));
}
private void SetVector(InspectorProperty property, Vector3 value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = new float3(value.x, value.y, value.z);
}
});
}
private void NormalizeEntries(InspectorProperty property)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = math.normalizesafe((float3)property.ValueEntry.WeakValues[i]);
}
});
}
}
public class Float4Drawer : OdinValueDrawer<float4>, IDefinesGenericMenuItems
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
// Slide rect
{
var val = this.ValueEntry.SmartValue;
EditorGUI.BeginChangeCheck();
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector4(val.x, val.y, val.z, val.w));
val = new float4(vec.x, vec.y, vec.z, vec.w);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = val;
}
}
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
/// <summary>
/// Populates the generic menu for the property.
/// </summary>
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
{
float4 value = (float4)property.ValueEntry.WeakSmartValue;
var vec = new Vector4(value.x, value.y, value.z, value.w);
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0, 0)"), vec == Vector4.zero, () => SetVector(property, Vector3.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1, 1)"), vec == Vector4.one, () => SetVector(property, Vector4.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0, 0)"), (Vector3)vec == Vector3.right, () => SetVector(property, Vector3.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0, 0)"), (Vector3)vec == Vector3.left, () => SetVector(property, Vector3.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0, 0)"), (Vector3)vec == Vector3.up, () => SetVector(property, Vector3.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0, 0)"), (Vector3)vec == Vector3.down, () => SetVector(property, Vector3.down));
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1, 0)"), (Vector3)vec == Vector3.forward, () => SetVector(property, Vector3.forward));
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1, 0)"), (Vector3)vec == Vector3.back, () => SetVector(property, Vector3.back));
}
private void SetVector(InspectorProperty property, Vector4 value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = new float4(value.x, value.y, value.z, value.w);
}
});
}
private void NormalizeEntries(InspectorProperty property)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = math.normalizesafe((float4)property.ValueEntry.WeakValues[i]);
}
});
}
}
public class Double2Drawer : OdinValueDrawer<double2>, IDefinesGenericMenuItems
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
// Slide rect
{
var val = this.ValueEntry.SmartValue;
EditorGUI.BeginChangeCheck();
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector2((float)val.x, (float)val.y));
val = new double2(vec.x, vec.y);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = val;
}
}
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
/// <summary>
/// Populates the generic menu for the property.
/// </summary>
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
{
double2 value = (double2)property.ValueEntry.WeakSmartValue;
var vec = new Vector2((float)value.x, (float)value.y);
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0)"), vec == Vector2.zero, () => SetVector(property, Vector2.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1)"), vec == Vector2.one, () => SetVector(property, Vector2.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0)"), vec == Vector2.right, () => SetVector(property, Vector2.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0)"), vec == Vector2.left, () => SetVector(property, Vector2.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1)"), vec == Vector2.up, () => SetVector(property, Vector2.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1)"), vec == Vector2.down, () => SetVector(property, Vector2.down));
}
private void SetVector(InspectorProperty property, Vector2 value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = new double2(value.x, value.y);
}
});
}
private void NormalizeEntries(InspectorProperty property)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = math.normalizesafe((double2)property.ValueEntry.WeakValues[i]);
}
});
}
}
public class Double3Drawer : OdinValueDrawer<double3>, IDefinesGenericMenuItems
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
// Slide rect
{
var val = this.ValueEntry.SmartValue;
EditorGUI.BeginChangeCheck();
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector3((float)val.x, (float)val.y, (float)val.z));
val = new double3(vec.x, vec.y, vec.z);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = val;
}
}
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
/// <summary>
/// Populates the generic menu for the property.
/// </summary>
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
{
double3 value = (double3)property.ValueEntry.WeakSmartValue;
var vec = new Vector3((float)value.x, (float)value.y, (float)value.z);
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0)"), vec == Vector3.zero, () => SetVector(property, Vector3.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1)"), vec == Vector3.one, () => SetVector(property, Vector3.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0)"), vec == Vector3.right, () => SetVector(property, Vector3.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0)"), vec == Vector3.left, () => SetVector(property, Vector3.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0)"), vec == Vector3.up, () => SetVector(property, Vector3.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0)"), vec == Vector3.down, () => SetVector(property, Vector3.down));
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1)"), vec == Vector3.forward, () => SetVector(property, Vector3.forward));
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1)"), vec == Vector3.back, () => SetVector(property, Vector3.back));
}
private void SetVector(InspectorProperty property, Vector3 value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = new double3(value.x, value.y, value.z);
}
});
}
private void NormalizeEntries(InspectorProperty property)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = math.normalizesafe((double3)property.ValueEntry.WeakValues[i]);
}
});
}
}
public class Double4Drawer : OdinValueDrawer<double4>, IDefinesGenericMenuItems
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
// Slide rect
{
var val = this.ValueEntry.SmartValue;
EditorGUI.BeginChangeCheck();
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector4((float)val.x, (float)val.y, (float)val.z, (float)val.w));
val = new double4(vec.x, vec.y, vec.z, vec.w);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = val;
}
}
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
/// <summary>
/// Populates the generic menu for the property.
/// </summary>
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
{
double4 value = (double4)property.ValueEntry.WeakSmartValue;
var vec = new Vector4((float)value.x, (float)value.y, (float)value.z, (float)value.w);
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0, 0)"), vec == Vector4.zero, () => SetVector(property, Vector3.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1, 1)"), vec == Vector4.one, () => SetVector(property, Vector4.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0, 0)"), (Vector3)vec == Vector3.right, () => SetVector(property, Vector3.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0, 0)"), (Vector3)vec == Vector3.left, () => SetVector(property, Vector3.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0, 0)"), (Vector3)vec == Vector3.up, () => SetVector(property, Vector3.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0, 0)"), (Vector3)vec == Vector3.down, () => SetVector(property, Vector3.down));
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1, 0)"), (Vector3)vec == Vector3.forward, () => SetVector(property, Vector3.forward));
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1, 0)"), (Vector3)vec == Vector3.back, () => SetVector(property, Vector3.back));
}
private void SetVector(InspectorProperty property, Vector4 value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = new double4(value.x, value.y, value.z, value.w);
}
});
}
private void NormalizeEntries(InspectorProperty property)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = math.normalizesafe((double4)property.ValueEntry.WeakValues[i]);
}
});
}
}
public class Int2Drawer : OdinValueDrawer<int2>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class Int3Drawer : OdinValueDrawer<int3>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class Int4Drawer : OdinValueDrawer<int4>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class UInt2Drawer : OdinValueDrawer<uint2>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class UInt3Drawer : OdinValueDrawer<uint3>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
public class UInt4Drawer : OdinValueDrawer<uint4>
{
private bool isMatrixChild;
protected override void Initialize()
{
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
}
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
GUIHelper.PopLabelWidth();
}
SirenixEditorGUI.EndHorizontalPropertyLayout();
}
}
#endif
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 74718b273a32d874a9dc3c58269c36b3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,11 @@
{
"name": "Sirenix.OdinInspector.Modules.UnityMathematics",
"references": [ "Unity.Mathematics", "Sirenix.OdinInspector.Attributes", "Sirenix.OdinInspector.Editor", "Sirenix.Utilities", "Sirenix.Utilities.Editor" ],
"includePlatforms": [ "Editor" ],
"excludePlatforms": [],
"allowUnsafeCode": true,
"autoReferenced": true,
"overrideReferences": false,
"precompiledReferences": [ "Sirenix.Utilities.dll", "Sirenix.Utilities.Editor.dll", "Sirenix.OdinInspector.Attributes.dll", "Sirenix.OdinInspector.Editor.dll", "Sirenix.Serialization.dll" ],
"defineConstraints": []
}

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ad968d605628d06499b62cdc30f11cf8
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,8 @@
ManifestVersion: 1
ModuleID: Unity.Mathematics
ModuleVersion: 1.0.1.0
ModuleFiles:
MathematicsDrawers.cs
MathematicsDrawers.cs.meta
Sirenix.OdinInspector.Modules.UnityMathematics.asmdef
Sirenix.OdinInspector.Modules.UnityMathematics.asmdef.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f858408ca0de26443a68fbe2bacccf36
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,35 @@
------------------------------------ Getting Started ------------------------------------
Open up the Getting Started guide from "Tools > Odin Inspector > Getting Started."
------------------------------------- Helpful Links -------------------------------------
Tutorials: https://odininspector.com/tutorials
API Documentation: https://odininspector.com/documentation
Roadmap: https://odininspector.com/roadmap
Release Notes: https://odininspector.com/patch-notes
Issue Tracker: https://bitbucket.org/sirenix/odin-inspector
--------------------------------- Community and Support ---------------------------------
If you have any issues, suggestions or want advice, then you're more than welcome
to join us on Discord, or reach out to us by any other means.
Support: https://odininspector.com/support
Community Addons: https://odininspector.com/community-tools
Discord: https://discord.gg/AgDmStu
-------------------------------------- Thank you! ---------------------------------------
We really hope you like using Odin. Be sure to leave a review on the Asset Store,
that helps us out a lot!
Leave a review: https://assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041
Odin Inspector is published and developed by Sirenix.
Sirenix: Https://sirenix.net

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: e957a9e8b4f4bce4b8a34e504a8c39d7
timeCreated: 1533815770
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 89041
packageName: Odin Inspector and Serializer
packageVersion: 3.3.1.11
assetPath: Assets/Plugins/Sirenix/Readme.txt
uploadId: 712389