修复一些内容
This commit is contained in:
Submodule Assets/Convention updated: 1afdb95231...fced17765c
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0083f4649e0ba85408a7307f8f5eeb0b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab70e51843eef1748905af26c2cf1762
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,115 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5651992cdad94894a3af7dc3f1da9170
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: N3DS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: PSM
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: PSP2
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: SamsungTV
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: Tizen
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: WiiU
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
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
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
- first:
|
||||
PS4: PS4
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
WebGL: WebGL
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
XboxOne: XboxOne
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
tvOS: tvOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,115 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5978f8f3dd274e848fbb7a123bde1fb9
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: N3DS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: PSM
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: PSP2
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: SamsungTV
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: Tizen
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: WiiU
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
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
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
- first:
|
||||
PS4: PS4
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
WebGL: WebGL
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
XboxOne: XboxOne
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
tvOS: tvOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41d4868f93c83f74ca6c149390937a56
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,114 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2a8f0021d6b47c5923d8972dfb81ef1
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Linux
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: LinuxUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: OSXIntel
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: OSXIntel64
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: PSM
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
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
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
WebGL: WebGL
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,114 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e0a9643dc0d4b46bf2321f72c4e503e
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Linux
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: LinuxUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: OSXIntel
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: OSXIntel64
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
: PSM
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
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
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU:
|
||||
- first:
|
||||
WebGL: WebGL
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
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:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47a84ebde4ec47fabb620b30cc7a096f
|
||||
timeCreated: 1488828285
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
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:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4865f1ab4504ed8a368670db22f096f
|
||||
timeCreated: 1488828285
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: afbf832bc46149f5a291e87cab63e46d
|
||||
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:
|
||||
@@ -1,39 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Sirenix.OdinValidator.Editor</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="F:Sirenix.OdinValidator.Editor.ValidationSession.ValidationSessionResult.ValidationSessionResultType.Ignore">
|
||||
<summary>
|
||||
Result can be null.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.OdinValidator.Editor.ValidationSession.ValidationSessionResult.ValidationSessionResultType.ObjectDeleted">
|
||||
<summary>
|
||||
Result will be null if the object is deleted.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Sirenix.OdinValidator.Editor.EnsureOdinValidatorDefine">
|
||||
<summary>
|
||||
Defines the ODIN_VALIDATOR symbol.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Sirenix.OdinInspector.Editor.Validation.RegisterValidationRuleAttribute">
|
||||
<summary>
|
||||
<para>
|
||||
Apply this to an assembly to register validation rules for the validation system.
|
||||
This enables locating of all relevant validator types very quickly.
|
||||
</para>
|
||||
<para>
|
||||
Only use this to register types derived from Validator! It is important to understand
|
||||
that a rule is simply a serialized Validator instance that can be enabled, disabled,
|
||||
and have its contained values modified from the rules management GUI in the Odin Validator
|
||||
window.
|
||||
</para>
|
||||
<para>Read our Odin Validator tutorials for more information.</para>
|
||||
</summary>
|
||||
<seealso cref="T:Sirenix.OdinInspector.Editor.Validation.RegisterValidatorAttribute"/>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: afbf832bc46149f5a291e87cab63096f
|
||||
timeCreated: 1488828285
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
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:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
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:
|
||||
@@ -1,202 +0,0 @@
|
||||
<?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>
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74721b9f0af448f5ae2e91102a1a096f
|
||||
timeCreated: 1488828285
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
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:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f3147f7af4c49739579b966c458096f
|
||||
timeCreated: 1488828285
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
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:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c65184932ff4fd48a343e236025096f
|
||||
timeCreated: 1488828285
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,46 +0,0 @@
|
||||
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:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4873f2a8bdae42baa0406e8a6136096f
|
||||
timeCreated: 1488828285
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,6 +0,0 @@
|
||||
<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>
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1bec01331befdea4d9ed9033eabd68f8
|
||||
timeCreated: 1613046886
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: faf1efdbfdfded5409db9fb1818ee6f1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c15d5a12d1bb0ca4d9bf5bd683dba42f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 740b7fb883406d347a3d4aace4127e36
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,30 +0,0 @@
|
||||
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.
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3fdc67fad3e362e47b5dd365a0bbdd7f
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 90eaa0dc28c1934408dc1c02e13a507f
|
||||
timeCreated: 1628274352
|
||||
licenseType: Free
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,13 +0,0 @@
|
||||
%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:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 08379ccefc05200459f90a1c0711a340
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,20 +0,0 @@
|
||||
%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: 1726182683, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Name: AOTGenerationConfig
|
||||
m_EditorClassIdentifier:
|
||||
automateBeforeBuilds: 0
|
||||
deleteDllAfterBuilds: 1
|
||||
AutomateForAllAOTPlatforms: 1
|
||||
automateForPlatforms: 0900000014000000
|
||||
lastScan: 0
|
||||
supportSerializedTypes: []
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d77c23a9ed72084292863010946bb78
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,136 +0,0 @@
|
||||
%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: 772478971, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Name: ColorPaletteManager
|
||||
m_EditorClassIdentifier:
|
||||
colorPalettes:
|
||||
- name: Country
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.776, g: 0.651, b: 0.349, a: 1}
|
||||
- {r: 0.863, g: 0.761, b: 0.631, a: 1}
|
||||
- {r: 0.91, g: 0.831, b: 0.686, a: 1}
|
||||
- {r: 0.961, g: 0.902, b: 0.788, a: 1}
|
||||
- {r: 0.753, g: 0.714, b: 0.667, a: 1}
|
||||
- {r: 0.478, g: 0.573, b: 0.431, a: 1}
|
||||
- {r: 0.314, g: 0.427, b: 0.31, a: 1}
|
||||
- {r: 0.596, g: 0.345, b: 0.235, a: 1}
|
||||
- {r: 0.545, g: 0.329, b: 0.318, a: 1}
|
||||
- {r: 0.647, g: 0.204, b: 0.227, a: 1}
|
||||
- {r: 0.435, g: 0.161, b: 0.063, a: 1}
|
||||
- {r: 0.357, g: 0.333, b: 0.278, a: 1}
|
||||
- {r: 0.976, g: 0.98, b: 0.961, a: 1}
|
||||
- {r: 0.165, g: 0.271, b: 0.11, a: 1}
|
||||
- name: Beach
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.996, g: 0.906, b: 0.459, a: 1}
|
||||
- {r: 0.314, g: 0.592, b: 0.035, a: 1}
|
||||
- {r: 0.486, g: 0.953, b: 0.875, a: 1}
|
||||
- {r: 0.996, g: 0.82, b: 0.212, a: 1}
|
||||
- {r: 1, g: 0.769, b: 0.165, a: 1}
|
||||
- {r: 0.804, g: 0.835, b: 0.753, a: 1}
|
||||
- {r: 1, g: 0.769, b: 0.165, a: 1}
|
||||
- {r: 1, g: 0.702, b: 0.063, a: 1}
|
||||
- {r: 1, g: 0.898, b: 0.569, a: 1}
|
||||
- name: Fall
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.82, g: 0.722, b: 0.318, a: 1}
|
||||
- {r: 0.537, g: 0.192, b: 0.153, a: 1}
|
||||
- {r: 0.996, g: 0.812, b: 0.012, a: 1}
|
||||
- {r: 1, g: 0.431, b: 0.02, a: 1}
|
||||
- {r: 0.937, g: 0.267, b: 0.094, a: 1}
|
||||
- {r: 0.42, g: 0.212, b: 0.18, a: 1}
|
||||
- {r: 0.992, g: 0.651, b: 0.004, a: 1}
|
||||
- {r: 0.89, g: 0.353, b: 0.086, a: 1}
|
||||
- {r: 1, g: 0.443, b: 0.004, a: 1}
|
||||
- {r: 0.682, g: 0.275, b: 0.137, a: 1}
|
||||
- {r: 0.306, g: 0.231, b: 0.114, a: 1}
|
||||
- {r: 0.384, g: 0.416, b: 0.082, a: 1}
|
||||
- {r: 0.165, g: 0.157, b: 0.008, a: 1}
|
||||
- {r: 0.906, g: 0.635, b: 0.227, a: 1}
|
||||
- {r: 0.82, g: 0.722, b: 0.318, a: 1}
|
||||
- {r: 0.745, g: 0.435, b: 0.031, a: 1}
|
||||
- {r: 0.765, g: 0.682, b: 0.569, a: 1}
|
||||
- {r: 0.18, g: 0.149, b: 0.075, a: 1}
|
||||
- {r: 0.702, g: 0.451, b: 0.059, a: 1}
|
||||
- name: Passion
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.925, g: 0.682, b: 0.624, a: 1}
|
||||
- {r: 0.188, g: 0.114, b: 0.224, a: 1}
|
||||
- {r: 0.349, g: 0.11, b: 0.231, a: 1}
|
||||
- {r: 0.435, g: 0.267, b: 0.357, a: 1}
|
||||
- name: Sepia
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.353, g: 0.098, b: 0.02, a: 1}
|
||||
- {r: 0.663, g: 0.188, b: 0.114, a: 1}
|
||||
- {r: 0.906, g: 0.643, b: 0.082, a: 1}
|
||||
- {r: 0.996, g: 0.839, b: 0.322, a: 1}
|
||||
- {r: 0.486, g: 0.392, b: 0.02, a: 1}
|
||||
- {r: 0.294, g: 0.235, b: 0.012, a: 1}
|
||||
- name: Floral
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.855, g: 0.518, b: 0.412, a: 1}
|
||||
- {r: 0.827, g: 0.294, b: 0.333, a: 1}
|
||||
- {r: 0.737, g: 0.118, b: 0.208, a: 1}
|
||||
- {r: 0.549, g: 0.149, b: 0.235, a: 1}
|
||||
- {r: 0.949, g: 0.925, b: 0.784, a: 1}
|
||||
- {r: 0.945, g: 0.882, b: 0.69, a: 1}
|
||||
- {r: 0.871, g: 0.812, b: 0.698, a: 1}
|
||||
- {r: 0.4, g: 0.196, b: 0.243, a: 1}
|
||||
- {r: 0.271, g: 0.157, b: 0.227, a: 1}
|
||||
- name: Underwater
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.663, g: 0.416, b: 0.733, a: 1}
|
||||
- {r: 0.2, g: 0.6, b: 0.698, a: 1}
|
||||
- {r: 0.11, g: 0.49, b: 0.698, a: 1}
|
||||
- {r: 0.439, g: 0.627, b: 0.227, a: 1}
|
||||
- {r: 0, g: 0.357, b: 0.604, a: 1}
|
||||
- {r: 0.067, g: 0.271, b: 0.353, a: 1}
|
||||
- name: Breeze
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.706, g: 1, b: 0, a: 1}
|
||||
- {r: 0.651, g: 1, b: 0.404, a: 1}
|
||||
- {r: 0.122, g: 1, b: 0.514, a: 1}
|
||||
- {r: 0.216, g: 0.894, b: 0.961, a: 1}
|
||||
- {r: 0.4, g: 1, b: 0.882, a: 1}
|
||||
- {r: 0.027, g: 0.792, b: 0.8, a: 1}
|
||||
- name: Clovers
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.431, g: 0.549, b: 0.102, a: 1}
|
||||
- {r: 0.671, g: 0.714, b: 0.071, a: 1}
|
||||
- {r: 0.969, g: 0.949, b: 0.831, a: 1}
|
||||
- {r: 0.886, g: 0.902, b: 0.702, a: 1}
|
||||
- {r: 0.753, g: 0.824, b: 0.627, a: 1}
|
||||
- {r: 0.404, g: 0.6, b: 0.4, a: 1}
|
||||
- name: Tropical
|
||||
showAlpha: 0
|
||||
colors:
|
||||
- {r: 0.953, g: 0.647, b: 0.804, a: 1}
|
||||
- {r: 0.965, g: 0.741, b: 0.871, a: 1}
|
||||
- {r: 0.949, g: 0.549, b: 0.643, a: 1}
|
||||
- {r: 0.992, g: 0.659, b: 0.498, a: 1}
|
||||
- {r: 0.976, g: 0.792, b: 0.729, a: 1}
|
||||
- {r: 0.984, g: 0.855, b: 0.725, a: 1}
|
||||
- {r: 0.259, g: 0.882, b: 0.663, a: 1}
|
||||
- {r: 0.349, g: 0.753, b: 0.78, a: 1}
|
||||
- {r: 0.725, g: 0.976, b: 0.91, a: 1}
|
||||
- {r: 0.647, g: 0.745, b: 0.957, a: 1}
|
||||
- {r: 0.725, g: 0.863, b: 0.973, a: 1}
|
||||
- {r: 0.89, g: 0.945, b: 0.996, a: 1}
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 284ab26f722980548a37b06c6b2c61c9
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -9,7 +9,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -645759843, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Script: {fileID: 0}
|
||||
m_Name: GeneralDrawerConfig
|
||||
m_EditorClassIdentifier:
|
||||
enableUIToolkitSupport: 1
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
%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: 188390376, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Name: ImportSettingsConfig
|
||||
m_EditorClassIdentifier:
|
||||
automateBeforeBuild: 1
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e482f6c6428b2fe4fa180edf4d11fa12
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -9,7 +9,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1137305049, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Script: {fileID: 0}
|
||||
m_Name: InspectorConfig
|
||||
m_EditorClassIdentifier:
|
||||
enableOdinInInspector: 1
|
||||
|
||||
@@ -9,7 +9,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -228747253, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Script: {fileID: 0}
|
||||
m_Name: OdinModuleConfig
|
||||
m_EditorClassIdentifier:
|
||||
configurations:
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba44b31a5b400e5429be6742f80e22eb
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 478be160cf339654dbf480d322858083
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,22 +0,0 @@
|
||||
%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: 1549551891, guid: 74721b9f0af448f5ae2e91102a1a5edd, type: 3}
|
||||
m_Name: GlobalSerializationConfig
|
||||
m_EditorClassIdentifier:
|
||||
HideSerializationCautionaryMessage: 1
|
||||
HidePrefabCautionaryMessage: 1
|
||||
HideOdinSerializeAttributeWarningMessages: 0
|
||||
HideNonSerializedShowInInspectorWarningMessages: 0
|
||||
buildSerializationFormat: 0
|
||||
editorSerializationFormat: 2
|
||||
loggingPolicy: 0
|
||||
errorHandlingPolicy: 0
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: afde97dbea7d6a34a93f645f2ff7ea1d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9ab07b283b6812d4893802866ab20602
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d92d0eb8b980c6d44b5f0e64a620355b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 728df0e3465c1a148b83053a3f31d489
|
||||
timeCreated: 1573836981
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,6 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a1693d73a4f6e34d955789129c71e11
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4866e740a22eb1e49b1603b051e4d92c
|
||||
timeCreated: 1573836980
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dcfb57defb134734cb5ba61dbcb5f2fd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,883 +0,0 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <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
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74718b273a32d874a9dc3c58269c36b3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad968d605628d06499b62cdc30f11cf8
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
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
|
||||
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 943a21461896e0143b88f32278ce7662
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,38 +0,0 @@
|
||||
%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: -1671962818, guid: afbf832bc46149f5a291e87cab63e46d, type: 3}
|
||||
m_Name: AutomationConfig
|
||||
m_EditorClassIdentifier:
|
||||
OnPlayMode: 0
|
||||
OnPlayModeIfWarnings: 0
|
||||
OnPlayModeIfErrors: 3
|
||||
OnPlayModeAlwaysCompleteValidationFully: 0
|
||||
OnPlayModeFlashScreen: 0
|
||||
OnPlayModeSetup:
|
||||
Profile: 0
|
||||
ProfileAsset: {fileID: 0}
|
||||
OnBuild: 0
|
||||
OnBuildIfWarnings: 0
|
||||
OnBuildIfErrors: 3
|
||||
OnBuildAlwaysCompleteValidationFully: 0
|
||||
OnBuildFlashScreen: 0
|
||||
OnBuildSetup:
|
||||
Profile: 0
|
||||
ProfileAsset: {fileID: 0}
|
||||
OnProjectStartup: 0
|
||||
OnProjectStartupIfWarnings: 0
|
||||
OnProjectStartupIfErrors: 1
|
||||
OnProjectStartupAlwaysCompleteValidationFully: 0
|
||||
OnProjectStartupFlashScreen: 0
|
||||
OnProjectStartupSetup:
|
||||
Profile: 0
|
||||
ProfileAsset: {fileID: 0}
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35df62de70812474fb91c9faeed34241
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -9,7 +9,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1426575000, guid: afbf832bc46149f5a291e87cab63e46d, type: 3}
|
||||
m_Script: {fileID: 0}
|
||||
m_Name: GlobalValidationConfig
|
||||
m_EditorClassIdentifier:
|
||||
ValidateScenesOnSceneLoad:
|
||||
@@ -84,4 +84,4 @@ MonoBehaviour:
|
||||
KeepMainValidationSessionAliveInBackground:
|
||||
serializedValue: 0
|
||||
changedFromDefault: 0
|
||||
HasShownValidationConfig: 1
|
||||
HasShownValidationConfig: 0
|
||||
|
||||
@@ -9,7 +9,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1434321088, guid: afbf832bc46149f5a291e87cab63e46d, type: 3}
|
||||
m_Script: {fileID: 0}
|
||||
m_Name: RuleConfig
|
||||
m_EditorClassIdentifier:
|
||||
projectRules: []
|
||||
|
||||
@@ -9,11 +9,11 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 217257422, guid: afbf832bc46149f5a291e87cab63e46d, type: 3}
|
||||
m_Script: {fileID: 0}
|
||||
m_Name: Main Profile
|
||||
m_EditorClassIdentifier:
|
||||
Include:
|
||||
- Enabled: 0
|
||||
- Enabled: 1
|
||||
Type: 2
|
||||
Asset:
|
||||
Path:
|
||||
@@ -25,7 +25,7 @@ MonoBehaviour:
|
||||
IncludeAssetDependencies: 1
|
||||
AssetBundle:
|
||||
AddressableGroup:
|
||||
- Enabled: 0
|
||||
- Enabled: 1
|
||||
Type: 2
|
||||
Asset:
|
||||
Path:
|
||||
@@ -37,7 +37,7 @@ MonoBehaviour:
|
||||
IncludeAssetDependencies: 1
|
||||
AssetBundle:
|
||||
AddressableGroup:
|
||||
- Enabled: 0
|
||||
- Enabled: 1
|
||||
Type: 2
|
||||
Asset:
|
||||
Path:
|
||||
@@ -49,7 +49,7 @@ MonoBehaviour:
|
||||
IncludeAssetDependencies: 0
|
||||
AssetBundle:
|
||||
AddressableGroup:
|
||||
- Enabled: 0
|
||||
- Enabled: 1
|
||||
Type: 0
|
||||
Asset:
|
||||
Path: Assets
|
||||
|
||||
@@ -1,195 +0,0 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="EnsureCorrectOdinVersion.cs" company="Sirenix ApS">
|
||||
// Copyright (c) Sirenix ApS. All rights reserved.
|
||||
// </copyright>
|
||||
//-----------------------------------------------------------------------
|
||||
#if UNITY_EDITOR
|
||||
|
||||
namespace Sirenix.OdinValidator.Editor
|
||||
{
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
internal static class EnsureCorrectOdinVersion
|
||||
{
|
||||
private const string validatorVersion = "3.2.1.0";
|
||||
|
||||
private static bool IsHeadlessOrBatchMode { get { return SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Null || UnityEditorInternal.InternalEditorUtility.inBatchMode; } }
|
||||
|
||||
[InitializeOnLoadMethod]
|
||||
private static void Init()
|
||||
{
|
||||
#if SIRENIX_INTERNAL
|
||||
return;
|
||||
#endif
|
||||
|
||||
if (EditorPrefs.HasKey("PREVENT_SIRENIX_FILE_GENERATION"))
|
||||
return;
|
||||
|
||||
if (IsHeadlessOrBatchMode)
|
||||
return;
|
||||
|
||||
if (TryGetOdinInspectorVersion(out var inspectorVersion))
|
||||
{
|
||||
var iVer = Version.Parse(inspectorVersion);
|
||||
var vVer = Version.Parse(validatorVersion);
|
||||
|
||||
if (iVer.Major == vVer.Major && iVer.Minor == vVer.Minor && iVer.Build == vVer.Build) // Ignore Revision
|
||||
{
|
||||
TryInstall();
|
||||
}
|
||||
else
|
||||
{
|
||||
var latestVersion = iVer > vVer ? inspectorVersion : validatorVersion;
|
||||
var oldestProduct = iVer > vVer ? "Odin Validator" : "Odin Inspector";
|
||||
var misMatchText = inspectorVersion + " : " + validatorVersion;
|
||||
|
||||
if (TryGetOdinInstallPath(out var path))
|
||||
{
|
||||
var versionMismatchFile = path + "Odin Validator/ignoreVersionMismatch.txt";
|
||||
|
||||
if (File.Exists(versionMismatchFile))
|
||||
{
|
||||
var misMatch = File.ReadAllText(versionMismatchFile).Trim();
|
||||
if (misMatch == misMatchText)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!EditorUtility.DisplayDialog(
|
||||
"Odin Version Mismatch",
|
||||
|
||||
"Odin Inspector and Odin Validator need to be on the same version to function correctly.\n" +
|
||||
$"\n" +
|
||||
$"Current Odin Inspector: {inspectorVersion}\n" +
|
||||
$"Current Odin Validator: {validatorVersion}\n" +
|
||||
$"\n" +
|
||||
$"Please install {oldestProduct} {latestVersion}",
|
||||
|
||||
"OK", "Ignore until next version mismatch"))
|
||||
{
|
||||
var versionMismatchFile = path + "Odin Validator/ignoreVersionMismatch.txt";
|
||||
File.WriteAllText(versionMismatchFile, misMatchText);
|
||||
};
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorUtility.DisplayDialog(
|
||||
"Odin Validator requires Odin Inspector",
|
||||
$"Please install Odin Inspector {validatorVersion}",
|
||||
|
||||
"OK");
|
||||
}
|
||||
}
|
||||
|
||||
private static void TryInstall()
|
||||
{
|
||||
if (TryGetOdinInstallPath(out var path))
|
||||
{
|
||||
var tmp_extension = "_tmp";
|
||||
var assemblyFiles = new string[]
|
||||
{
|
||||
path + "Assemblies/Sirenix.OdinValidator.Editor.dll",
|
||||
path + "Assemblies/Sirenix.OdinValidator.Editor.dll.meta",
|
||||
path + "Assemblies/Sirenix.OdinValidator.Editor.xml",
|
||||
path + "Assemblies/Sirenix.OdinValidator.Editor.xml.meta",
|
||||
path + "Assemblies/Sirenix.OdinValidator.Editor.pdb",
|
||||
path + "Assemblies/Sirenix.OdinValidator.Editor.pdb.meta",
|
||||
};
|
||||
|
||||
var requireUpdate = File.Exists(assemblyFiles[0] + tmp_extension);
|
||||
|
||||
if (requireUpdate)
|
||||
{
|
||||
// Install / update Odin Validator.
|
||||
AssetDatabase.StartAssetEditing();
|
||||
|
||||
foreach (var item in assemblyFiles)
|
||||
{
|
||||
var oldFile = item;
|
||||
var newFile = item + tmp_extension;
|
||||
|
||||
if (File.Exists(newFile))
|
||||
{
|
||||
if (File.Exists(oldFile))
|
||||
File.Delete(oldFile);
|
||||
|
||||
File.Move(newFile, oldFile);
|
||||
}
|
||||
}
|
||||
|
||||
AssetDatabase.StopAssetEditing();
|
||||
AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
|
||||
EditorPrefs.SetBool("ODIN_VALIDATOR_SHOW_GETTING_STARTED", true);
|
||||
}
|
||||
#if ODIN_INSPECTOR
|
||||
else if (EditorPrefs.GetBool("ODIN_VALIDATOR_SHOW_GETTING_STARTED", false))
|
||||
{
|
||||
EditorPrefs.SetBool("ODIN_VALIDATOR_SHOW_GETTING_STARTED", false);
|
||||
EditorApplication.delayCall += () =>
|
||||
{
|
||||
var t = Sirenix.Serialization.TwoWaySerializationBinder.Default.BindToType("Sirenix.OdinInspector.Editor.GettingStarted.GettingStartedWindow");
|
||||
if (t != null)
|
||||
{
|
||||
var action = Utilities.Editor.Expressions.ExpressionUtility.ParseAction<bool, bool>("ShowWindow(false, true)", true, t, out var _);
|
||||
action.Invoke(false, true);
|
||||
}
|
||||
};
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Odin Validator was unable to find Sirenix.Utilities.SirenixAssetPaths.SirenixPluginPath");
|
||||
}
|
||||
}
|
||||
|
||||
private static bool TryGetOdinInstallPath(out string path)
|
||||
{
|
||||
var t = Type.GetType("Sirenix.Utilities.SirenixAssetPaths, Sirenix.Utilities");
|
||||
|
||||
if (t == null)
|
||||
{
|
||||
path = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
var v = t.GetField("SirenixPluginPath", BindingFlags.Public | BindingFlags.Static);
|
||||
if (v == null)
|
||||
{
|
||||
path = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
path = v.GetValue(null) as string;
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool TryGetOdinInspectorVersion(out string version)
|
||||
{
|
||||
var t = Type.GetType("Sirenix.OdinInspector.Editor.OdinInspectorVersion, Sirenix.OdinInspector.Editor");
|
||||
|
||||
if (t == null)
|
||||
{
|
||||
version = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
var v = t.GetProperty("Version", BindingFlags.Public | BindingFlags.Static);
|
||||
if (v == null)
|
||||
{
|
||||
version = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
version = v.GetValue(null) as string;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -1,12 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9454f64e8640a944ca8605d5b465d784
|
||||
timeCreated: 1514513487
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,19 +0,0 @@
|
||||
-----------------------------------------------------------------------------------------
|
||||
|
||||
Thank you for using Odin Validator.
|
||||
|
||||
If there is anything we can help you with, or if you have any feedback, please don't hesitate to reach out!
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
|
||||
Getting Started: https://odininspector.com/tutorials/odin-project-validator/getting-started-with-odin-project-validator
|
||||
Support: https://odininspector.com/support
|
||||
Discord: https://discord.gg/AgDmStu
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
|
||||
Odin Validator is published and developed by Sirenix.
|
||||
|
||||
Sirenix: Https://sirenix.net
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 151ca3ac64d79f9478810af1f27c4c57
|
||||
timeCreated: 1556895130
|
||||
licenseType: Free
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,35 +0,0 @@
|
||||
------------------------------------ Getting Started ------------------------------------
|
||||
|
||||
Open up the Getting Started guide from "Tools > Odin Inspector > Getting Started."
|
||||
|
||||
|
||||
------------------------------------- Helpful Links -------------------------------------
|
||||
|
||||
Tutorials: https://odininspector.com/tutorials
|
||||
API Documentaion: 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
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e957a9e8b4f4bce4b8a34e504a8c39d7
|
||||
timeCreated: 1533815770
|
||||
licenseType: Free
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -12,8 +12,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
|
||||
m_Name: SamplesPipelineAsset
|
||||
m_EditorClassIdentifier:
|
||||
k_AssetVersion: 11
|
||||
k_AssetPreviousVersion: 11
|
||||
k_AssetVersion: 12
|
||||
k_AssetPreviousVersion: 12
|
||||
m_RendererType: 1
|
||||
m_RendererData: {fileID: 0}
|
||||
m_RendererDataList:
|
||||
@@ -33,6 +33,14 @@ MonoBehaviour:
|
||||
m_EnableLODCrossFade: 1
|
||||
m_LODCrossFadeDitheringType: 1
|
||||
m_ShEvalMode: 0
|
||||
m_LightProbeSystem: 0
|
||||
m_ProbeVolumeMemoryBudget: 1024
|
||||
m_ProbeVolumeBlendingMemoryBudget: 256
|
||||
m_SupportProbeVolumeGPUStreaming: 0
|
||||
m_SupportProbeVolumeDiskStreaming: 0
|
||||
m_SupportProbeVolumeScenarios: 0
|
||||
m_SupportProbeVolumeScenarioBlending: 0
|
||||
m_ProbeVolumeSHBands: 1
|
||||
m_MainLightRenderingMode: 1
|
||||
m_MainLightShadowsSupported: 1
|
||||
m_MainLightShadowmapResolution: 2048
|
||||
@@ -45,6 +53,7 @@ MonoBehaviour:
|
||||
m_AdditionalLightsShadowResolutionTierHigh: 2048
|
||||
m_ReflectionProbeBlending: 0
|
||||
m_ReflectionProbeBoxProjection: 0
|
||||
m_ReflectionProbeAtlas: 1
|
||||
m_ShadowDistance: 30
|
||||
m_ShadowCascadeCount: 4
|
||||
m_Cascade2Split: 0.25
|
||||
@@ -67,21 +76,30 @@ MonoBehaviour:
|
||||
m_SupportsLightLayers: 0
|
||||
m_DebugLevel: 0
|
||||
m_StoreActionsOptimization: 0
|
||||
m_EnableRenderGraph: 0
|
||||
m_UseAdaptivePerformance: 1
|
||||
m_ColorGradingMode: 1
|
||||
m_ColorGradingLutSize: 32
|
||||
m_AllowPostProcessAlphaOutput: 0
|
||||
m_UseFastSRGBLinearConversion: 0
|
||||
m_SupportDataDrivenLensFlare: 1
|
||||
m_SupportScreenSpaceLensFlare: 1
|
||||
m_GPUResidentDrawerMode: 0
|
||||
m_SmallMeshScreenPercentage: 0
|
||||
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
|
||||
m_ShadowType: 1
|
||||
m_LocalShadowsSupported: 0
|
||||
m_LocalShadowsAtlasResolution: 256
|
||||
m_MaxPixelLights: 0
|
||||
m_ShadowAtlasResolution: 256
|
||||
m_VolumeFrameworkUpdateMode: 0
|
||||
m_Textures:
|
||||
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||
m_VolumeProfile: {fileID: 0}
|
||||
apvScenesData:
|
||||
obsoleteSceneBounds:
|
||||
m_Keys: []
|
||||
m_Values: []
|
||||
obsoleteHasProbeVolumes:
|
||||
m_Keys: []
|
||||
m_Values:
|
||||
m_PrefilteringModeMainLightShadows: 1
|
||||
m_PrefilteringModeAdditionalLight: 4
|
||||
m_PrefilteringModeAdditionalLightShadows: 1
|
||||
@@ -92,6 +110,7 @@ MonoBehaviour:
|
||||
m_PrefilterDebugKeywords: 0
|
||||
m_PrefilterWriteRenderingLayers: 0
|
||||
m_PrefilterHDROutput: 0
|
||||
m_PrefilterAlphaOutput: 0
|
||||
m_PrefilterSSAODepthNormals: 0
|
||||
m_PrefilterSSAOSourceDepthLow: 0
|
||||
m_PrefilterSSAOSourceDepthMedium: 0
|
||||
@@ -110,5 +129,13 @@ MonoBehaviour:
|
||||
m_PrefilterSoftShadows: 0
|
||||
m_PrefilterScreenCoord: 0
|
||||
m_PrefilterNativeRenderPass: 0
|
||||
m_PrefilterUseLegacyLightmaps: 0
|
||||
m_PrefilterBicubicLightmapSampling: 0
|
||||
m_PrefilterReflectionProbeBlending: 0
|
||||
m_PrefilterReflectionProbeBoxProjection: 0
|
||||
m_PrefilterReflectionProbeAtlas: 0
|
||||
m_ShaderVariantLogLevel: 0
|
||||
m_ShadowCascades: 0
|
||||
m_Textures:
|
||||
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||
|
||||
@@ -498,15 +498,17 @@ MonoBehaviour:
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 00000000
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
|
||||
@@ -108,15 +108,17 @@ MonoBehaviour:
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 0
|
||||
m_TextWrappingMode: 0
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 00000000
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
@@ -382,7 +384,6 @@ MonoBehaviour:
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
@@ -390,6 +391,7 @@ MonoBehaviour:
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
m_Version: 2
|
||||
--- !u!1 &1744068876745561642
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1115,15 +1117,17 @@ MonoBehaviour:
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 00000000
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
@@ -1402,15 +1406,17 @@ MonoBehaviour:
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 00000000
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
@@ -2305,15 +2311,17 @@ MonoBehaviour:
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 00000000
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
@@ -2673,6 +2681,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
@@ -3118,6 +3130,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
@@ -3548,6 +3564,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
@@ -3694,6 +3714,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableAutoSizing
|
||||
value: 0
|
||||
@@ -4001,6 +4025,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
@@ -4135,6 +4163,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
@@ -4561,6 +4593,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
@@ -4695,6 +4731,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
@@ -5628,11 +5668,11 @@ PrefabInstance:
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5097730334777079569, guid: 48027c3ec4553d442a59415ffb40f209, type: 3}
|
||||
propertyPath: Targets.Array.data[3]
|
||||
propertyPath: 'Targets.Array.data[3]'
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5097730334777079569, guid: 48027c3ec4553d442a59415ffb40f209, type: 3}
|
||||
propertyPath: Targets.Array.data[4]
|
||||
propertyPath: 'Targets.Array.data[4]'
|
||||
value:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5377214671440830306, guid: 48027c3ec4553d442a59415ffb40f209, type: 3}
|
||||
@@ -6198,6 +6238,10 @@ PrefabInstance:
|
||||
propertyPath: m_sharedMaterial
|
||||
value:
|
||||
objectReference: {fileID: -6641050763205051922, guid: 4abb91c83e9e6214992ef15922294c0c, type: 2}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_TextWrappingMode
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6279050909353911363, guid: 4e6810693c07dfb4399ed0c7c7a3ce39, type: 3}
|
||||
propertyPath: m_enableWordWrapping
|
||||
value: 0
|
||||
|
||||
@@ -46,172 +46,172 @@ namespace Demo.Game
|
||||
|
||||
public IEnumerator GameInit()
|
||||
{
|
||||
GameContent content = GameContent.instance;
|
||||
yield return new WaitUntil(() => content != null);
|
||||
|
||||
try
|
||||
{
|
||||
RootSourcePath = content.RootSourceDir;
|
||||
MainConfig = new(content.RootSourceDir, content.IsCreateNewProject, true);
|
||||
Debug.Log($"{content.RootSourceDir} loading", this);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogException(ex, this);
|
||||
Debug.LogError($"{content.RootSourceDir} is not a valid project", this);
|
||||
StartCoroutine(GameExit());
|
||||
yield break;
|
||||
}
|
||||
GameContent content = GameContent.instance;
|
||||
yield return new WaitUntil(() => content != null);
|
||||
|
||||
// Load Song
|
||||
if (Editor.EditorController.instance.MainGameController == this)
|
||||
{
|
||||
string clipPath = (string)MainConfig.FindItem("song", "");
|
||||
AudioType audioType = (AudioType)MainConfig.FindItem("audioType", BasicAudioSystem.GetAudioType(clipPath));
|
||||
if (string.IsNullOrEmpty(clipPath))
|
||||
try
|
||||
{
|
||||
foreach (var file in MainConfig.ConfigFile.BackToParentDir().DirToolFileIter())
|
||||
{
|
||||
if (file.IsFile() && !file.IsFileEmpty())
|
||||
{
|
||||
if (BasicAudioSystem.GetAudioType(file.GetExtension()) != AudioType.UNKNOWN)
|
||||
{
|
||||
clipPath = file.GetFullPath();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
RootSourcePath = content.RootSourceDir;
|
||||
MainConfig = new(content.RootSourceDir, content.IsCreateNewProject, true);
|
||||
Debug.Log($"{content.RootSourceDir} loading", this);
|
||||
}
|
||||
if (string.IsNullOrEmpty(clipPath) == false)
|
||||
catch (Exception ex)
|
||||
{
|
||||
IEnumerator Run()
|
||||
{
|
||||
#if ENABLE_CLASS_Interaction
|
||||
var clipFile = new Interaction(clipPath);
|
||||
#else
|
||||
var clipFile = new ToolFile(clipPath);
|
||||
#endif
|
||||
if (clipFile.Exists() == false)
|
||||
clipFile = new(MainConfig.GetFile(clipPath).GetFullPath());
|
||||
if (clipFile.Exists() == false)
|
||||
{
|
||||
Debug.LogError($"Cannt load {clipPath}", this);
|
||||
yield break;
|
||||
}
|
||||
yield return MainAudio.LoadAudio(clipFile, audioType);
|
||||
content.SongLoadOverCallback(MainAudio);
|
||||
yield return GameAudioSystemInit();
|
||||
}
|
||||
|
||||
StartCoroutine(Run());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MainAudio = Editor.EditorController.instance.MainGameController.MainAudio;
|
||||
yield return GameAudioSystemInit();
|
||||
}
|
||||
|
||||
yield return null;
|
||||
|
||||
// Setup Game Rules (Main)
|
||||
if (Editor.EditorController.instance.MainGameController == this)
|
||||
{
|
||||
// Config ScriptableObject
|
||||
{
|
||||
ScriptableObject.FastScriptableObjectTypen = content.ScriptableObjectTypen;
|
||||
ScriptableObject.IsAutoPlay = content.IsAutoPlay;
|
||||
ScriptableObject.OneBarTime = 60.0f / (float)MainConfig.FindItem(nameof(Editor.EditorController.BPM), Editor.EditorController.instance.BPM);
|
||||
}
|
||||
// Default IInteraction
|
||||
{
|
||||
IInteraction.DefaultInteractableIntervalLengthThatCanScoreBest = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultInteractableIntervalLengthThatCanScoreBest),
|
||||
IInteraction.DefaultInteractableIntervalLengthThatCanScoreBest);
|
||||
IInteraction.DefaultInteractableScoreIntervalLength = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultInteractableScoreIntervalLength),
|
||||
IInteraction.DefaultInteractableScoreIntervalLength);
|
||||
IInteraction.DefaultInteractiveLength = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultInteractiveLength),
|
||||
IInteraction.DefaultInteractiveLength);
|
||||
IInteraction.DefaultVisibleLength = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultVisibleLength),
|
||||
IInteraction.DefaultVisibleLength);
|
||||
}
|
||||
// Config Game
|
||||
{
|
||||
SongOffset = (float)MainConfig.FindItem(nameof(SongOffset), SongOffset);
|
||||
SetupSongDuration = GameContent.instance.SetupSongDuration;
|
||||
SetSongCurrentTime = GameContent.instance.SetSongCurrentTime;
|
||||
}
|
||||
}
|
||||
// Setup Game Rules
|
||||
{
|
||||
foreach (var ab in ((string)MainConfig.FindItem(nameof(AssetBundle), "")).Split(';'))
|
||||
{
|
||||
if (string.IsNullOrEmpty(ab))
|
||||
continue;
|
||||
StartCoroutine(AssetBundlesLoadHelper.LoadAssetBundleAsync(ab.Trim(), null));
|
||||
}
|
||||
IsAutoPlay = GameContent.instance.IsAutoPlay;
|
||||
WhichOpenScript = (string)MainConfig.FindItem(nameof(WhichOpenScript), WhichOpenScript);
|
||||
// Open Project
|
||||
WhichOpenProject = (string)MainConfig.FindItem(nameof(WhichOpenProject), WhichOpenProject);
|
||||
if (string.IsNullOrEmpty(WhichOpenProject) == false)
|
||||
{
|
||||
string path = string.Format($"{WhichOpenProject}", $"\"{Editor.EditorController.instance.PersistentDataPath}\"");
|
||||
try
|
||||
{
|
||||
System.Diagnostics.Process.Start(path);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError($"Cannt open {path}", this);
|
||||
Debug.LogException(ex, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MainConfig.SaveProperties();
|
||||
|
||||
yield return null;
|
||||
|
||||
// Load Root Object
|
||||
{
|
||||
while (MainConfig.Contains("root") == false)
|
||||
{
|
||||
string defaultRootPath = "root.rscript";
|
||||
if (content.IsCreateNewProject)
|
||||
{
|
||||
MainConfig["root"] = defaultRootPath;
|
||||
if (MainConfig.CreateFile(defaultRootPath))
|
||||
{
|
||||
MainConfig.SaveProperties();
|
||||
break;
|
||||
}
|
||||
}
|
||||
Debug.LogError($"{nameof(defaultRootPath)} is cannt create or config's root property is not exist", this);
|
||||
Debug.LogException(ex, this);
|
||||
Debug.LogError($"{content.RootSourceDir} is not a valid project", this);
|
||||
StartCoroutine(GameExit());
|
||||
yield break;
|
||||
}
|
||||
var rootFileName = (string)MainConfig.FindItem("root");
|
||||
var rootObject = new ToolFile(Path.Combine(content.RootSourceDir, rootFileName));
|
||||
rootObject.MustExistsPath();
|
||||
var rootGameObject = new GameObject(rootObject.GetName(true)).AddComponent<RootObject>();
|
||||
rootGameObject.transform.SetParent(transform);
|
||||
rootGameObject.ScriptName = rootObject.GetName(true);
|
||||
rootGameObject.audioSystem = MainAudio;
|
||||
rootGameObject.EnableScript(content.RootSourceDir, this);
|
||||
try
|
||||
|
||||
// Load Song
|
||||
if (Editor.EditorController.instance.MainGameController == this)
|
||||
{
|
||||
yield return rootGameObject.ParseScript2Expr(rootObject.LoadAsText());
|
||||
yield return rootGameObject.ApplyScript();
|
||||
string clipPath = (string)MainConfig.FindItem("song", "");
|
||||
AudioType audioType = (AudioType)MainConfig.FindItem("audioType", BasicAudioSystem.GetAudioType(clipPath));
|
||||
if (string.IsNullOrEmpty(clipPath))
|
||||
{
|
||||
foreach (var file in MainConfig.ConfigFile.BackToParentDir().DirToolFileIter())
|
||||
{
|
||||
if (file.IsFile() && !file.IsFileEmpty())
|
||||
{
|
||||
if (BasicAudioSystem.GetAudioType(file.GetExtension()) != AudioType.UNKNOWN)
|
||||
{
|
||||
clipPath = file.GetFullPath();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (string.IsNullOrEmpty(clipPath) == false)
|
||||
{
|
||||
IEnumerator Run()
|
||||
{
|
||||
#if ENABLE_CLASS_Interaction
|
||||
var clipFile = new Interaction(clipPath);
|
||||
#else
|
||||
var clipFile = new ToolFile(clipPath);
|
||||
#endif
|
||||
if (clipFile.Exists() == false)
|
||||
clipFile = new(MainConfig.GetFile(clipPath).GetFullPath());
|
||||
if (clipFile.Exists() == false)
|
||||
{
|
||||
Debug.LogError($"Cannt load {clipPath}", this);
|
||||
yield break;
|
||||
}
|
||||
yield return MainAudio.LoadAudio(clipFile, audioType);
|
||||
content.SongLoadOverCallback(MainAudio);
|
||||
yield return GameAudioSystemInit();
|
||||
}
|
||||
|
||||
StartCoroutine(Run());
|
||||
}
|
||||
}
|
||||
finally
|
||||
else
|
||||
{
|
||||
MainObject = rootGameObject;
|
||||
MainAudio = Editor.EditorController.instance.MainGameController.MainAudio;
|
||||
yield return GameAudioSystemInit();
|
||||
}
|
||||
|
||||
yield return null;
|
||||
|
||||
// Setup Game Rules (Main)
|
||||
if (Editor.EditorController.instance.MainGameController == this)
|
||||
{
|
||||
// Config ScriptableObject
|
||||
{
|
||||
ScriptableObject.FastScriptableObjectTypen = content.ScriptableObjectTypen;
|
||||
ScriptableObject.IsAutoPlay = content.IsAutoPlay;
|
||||
ScriptableObject.OneBarTime = 60.0f / (float)MainConfig.FindItem(nameof(Editor.EditorController.BPM), Editor.EditorController.instance.BPM);
|
||||
}
|
||||
// Default IInteraction
|
||||
{
|
||||
IInteraction.DefaultInteractableIntervalLengthThatCanScoreBest = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultInteractableIntervalLengthThatCanScoreBest),
|
||||
IInteraction.DefaultInteractableIntervalLengthThatCanScoreBest);
|
||||
IInteraction.DefaultInteractableScoreIntervalLength = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultInteractableScoreIntervalLength),
|
||||
IInteraction.DefaultInteractableScoreIntervalLength);
|
||||
IInteraction.DefaultInteractiveLength = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultInteractiveLength),
|
||||
IInteraction.DefaultInteractiveLength);
|
||||
IInteraction.DefaultVisibleLength = (float)MainConfig.FindItem(
|
||||
nameof(IInteraction.DefaultVisibleLength),
|
||||
IInteraction.DefaultVisibleLength);
|
||||
}
|
||||
// Config Game
|
||||
{
|
||||
SongOffset = (float)MainConfig.FindItem(nameof(SongOffset), SongOffset);
|
||||
SetupSongDuration = GameContent.instance.SetupSongDuration;
|
||||
SetSongCurrentTime = GameContent.instance.SetSongCurrentTime;
|
||||
}
|
||||
}
|
||||
// Setup Game Rules
|
||||
{
|
||||
foreach (var ab in ((string)MainConfig.FindItem(nameof(AssetBundle), "")).Split(';'))
|
||||
{
|
||||
if (string.IsNullOrEmpty(ab))
|
||||
continue;
|
||||
StartCoroutine(AssetBundlesLoadHelper.LoadAssetBundleAsync(ab.Trim(), null));
|
||||
}
|
||||
IsAutoPlay = GameContent.instance.IsAutoPlay;
|
||||
WhichOpenScript = (string)MainConfig.FindItem(nameof(WhichOpenScript), WhichOpenScript);
|
||||
// Open Project
|
||||
WhichOpenProject = (string)MainConfig.FindItem(nameof(WhichOpenProject), WhichOpenProject);
|
||||
if (string.IsNullOrEmpty(WhichOpenProject) == false)
|
||||
{
|
||||
string path = string.Format($"{WhichOpenProject}", $"\"{Editor.EditorController.instance.PersistentDataPath}\"");
|
||||
try
|
||||
{
|
||||
System.Diagnostics.Process.Start(path);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.LogError($"Cannt open {path}", this);
|
||||
Debug.LogException(ex, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Load Root Object
|
||||
{
|
||||
while (MainConfig.Contains("root") == false)
|
||||
{
|
||||
string defaultRootPath = "root.rscript";
|
||||
if (content.IsCreateNewProject)
|
||||
{
|
||||
MainConfig["root"] = defaultRootPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"{nameof(defaultRootPath)} is cannt create or config's root property is not exist", this);
|
||||
StartCoroutine(GameExit());
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
var rootFileName = (string)MainConfig.FindItem("root");
|
||||
var rootObject = new ToolFile(Path.Combine(content.RootSourceDir, rootFileName));
|
||||
rootObject.MustExistsPath();
|
||||
var rootGameObject = new GameObject(rootObject.GetName(true)).AddComponent<RootObject>();
|
||||
rootGameObject.transform.SetParent(transform);
|
||||
rootGameObject.ScriptName = rootObject.GetName(true);
|
||||
rootGameObject.audioSystem = MainAudio;
|
||||
rootGameObject.EnableScript(content.RootSourceDir, this);
|
||||
try
|
||||
{
|
||||
yield return rootGameObject.ParseScript2Expr(rootObject.LoadAsText());
|
||||
yield return rootGameObject.ApplyScript();
|
||||
}
|
||||
finally
|
||||
{
|
||||
MainObject = rootGameObject;
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
MainConfig.SaveProperties();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -357,11 +357,16 @@ namespace Demo.Game
|
||||
{
|
||||
try
|
||||
{
|
||||
Stop();
|
||||
yield return MainObject.UnloadScript();
|
||||
if (MainObject)
|
||||
{
|
||||
Stop();
|
||||
yield return MainObject.UnloadScript();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
// 预防一些情况
|
||||
MainConfig.SaveProperties();
|
||||
if (MainObject)
|
||||
Destroy(MainObject.gameObject);
|
||||
if (Editor.EditorController.instance.MainGameController == this)
|
||||
|
||||
@@ -2,15 +2,11 @@ using Convention;
|
||||
using Convention.RScript;
|
||||
using Convention.WindowsUI.Variant;
|
||||
using Demo.Game;
|
||||
using Flee.PublicTypes;
|
||||
using Sirenix.OdinInspector;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
using Unity.Profiling;
|
||||
using UnityEngine;
|
||||
@@ -458,13 +454,20 @@ namespace Demo
|
||||
/// <para>使用<see cref="Convention.RScript.Variable.Attr.MethodAttribute"/>标记可编辑脚本所能够调用的函数</para>
|
||||
/// <para>使用<see cref="Convention.RScript.Variable.Attr.DefaultAttribute"/>标记派生类,并附加默认模板</para>
|
||||
/// </summary>
|
||||
public partial class ScriptableObject : SerializedMonoBehaviour, IHierarchyItemClickEventListener
|
||||
public partial class ScriptableObject :
|
||||
#if ENABLE_SerializedMonoBehaviour_CLASS
|
||||
SerializedMonoBehaviour,
|
||||
#else
|
||||
MonoBehaviour,
|
||||
#endif
|
||||
IHierarchyItemClickEventListener
|
||||
{
|
||||
protected virtual IEnumerator DoSomethingDuringApplyScript()
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
|
||||
[Convention.RScript.Variable.Attr.Method]
|
||||
public IEnumerator ApplyScript()
|
||||
{
|
||||
if (EnsureEnableScript() == false)
|
||||
@@ -530,7 +533,7 @@ namespace Demo
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
public interface IAssetBundleLoader : IScriptableObject
|
||||
{
|
||||
|
||||
Submodule Assets/Scripts/Framework/[RScript] updated: 29dd4f5d96...5b235a7f26
@@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6e59c59b81ab47f9b6ec5781fa725d2c
|
||||
timeCreated: 1484171296
|
||||
licenseType: Store
|
||||
licenseType: Pro
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user