added odin, Added LevelSettings.cs for adding new LevelS

This commit is contained in:
dddushesss 2022-02-07 19:57:50 +03:00
parent e574b0294a
commit 8a32e9c2dd
136 changed files with 51861 additions and 35001 deletions

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 35a721eae1cdbe647a086ad29a339fef
folderAsset: yes
timeCreated: 1606144816
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 0892af58ca441f64dba2d7af03deb4c9
folderAsset: yes
timeCreated: 1606144816
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 47257c77491e24c4f8887864ee0857f0
folderAsset: yes
timeCreated: 1606144817
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c9ae90d37f0fd0a8f8bc5b8b13a01a2e251b30f56e3ea67cda90ac88ea97c0c
size 324608

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 5651992cdad94894a3af7dc3f1da9170
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: 0
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: 1
settings:
CPU:
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c9b9a3a8db3ad49a693e07bdbc89697b74cf69ec79979c8010c7bf8c57e6534
size 145408

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 5978f8f3dd274e848fbb7a123bde1fb9
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: 0
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: 1
settings:
CPU:
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 92ca8146ddb5c874b9b1dc1d4564b779
folderAsset: yes
timeCreated: 1606144817
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:83b2c01975d9c24ca7d0a439401e0b41e4579a5efdf385d39dd6029ff5e2e62d
size 314880

View File

@ -0,0 +1,115 @@
fileFormatVersion: 2
guid: d2a8f0021d6b47c5923d8972dfb81ef1
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:
Android: Android
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:
WebGL: WebGL
second:
enabled: 1
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:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0686f862821860a9905359daacbf0f5c4e1fd3c64c0da57a19b1e41713d2b5f9
size 142848

View File

@ -0,0 +1,115 @@
fileFormatVersion: 2
guid: 1e0a9643dc0d4b46bf2321f72c4e503e
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:
Android: Android
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:
WebGL: WebGL
second:
enabled: 1
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:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1edd602d3768ea2296b668a3cf9dfd13e8d1c820be44180c75225d02ecefe70c
size 37888

View File

@ -0,0 +1,47 @@
fileFormatVersion: 2
guid: 47a84ebde4ec47fabb620b30cc7a3e5c
timeCreated: 1488812560
licenseType: Store
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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c4167cfd1d58c794da88b3e731ec316b
timeCreated: 1606141051
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:447a7c99a2b4666b4a0139df9a4cade9a7f7907b770c508de9dd03304f364ed2
size 1478656

View File

@ -0,0 +1,47 @@
fileFormatVersion: 2
guid: a4865f1ab4504ed8a368670db22f409c
timeCreated: 1488828285
licenseType: Store
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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: abd7732135a6f85438797cf79771443a
timeCreated: 1606141051
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aedb1f20334d5dd7bbf106fb389f2b4e6f8b3e09e8a061ad87a24a188ffa1384
size 17408

View File

@ -0,0 +1,47 @@
fileFormatVersion: 2
guid: 74721b9f0af448f5ae2e91102a1a5edd
timeCreated: 1488812560
licenseType: Store
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:

View File

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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 119a53a2bbed85440a8becb88eea1955
timeCreated: 1606141051
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:07b77fa66a0153c80be72ace1082265011cee666169bb06befcb297b5a0042a6
size 369152

View File

@ -0,0 +1,47 @@
fileFormatVersion: 2
guid: 5f3147f7af4c49739579b966c458f5e4
timeCreated: 1488828285
licenseType: Store
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:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7052cb8dde9daf49c40208b6bbd117d214d423d0cfb77ebaed302d7f959f03d
size 531968

View File

@ -0,0 +1,47 @@
fileFormatVersion: 2
guid: 5c65184932ff4fd48a343e2360256baf
timeCreated: 1488828285
licenseType: Store
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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a5166d89c62a9e54b827fdb8c8e3f78e
timeCreated: 1606141051
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45ad630c88b6efad1eb801e989e8fe3bf2fbfd7410b6421f45fde873e1c2de36
size 154624

View File

@ -0,0 +1,47 @@
fileFormatVersion: 2
guid: 4873f2a8bdae42baa0406e8a61366ca1
timeCreated: 1488828285
licenseType: Store
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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: da71ee917b61a644bbba5273724012cb
timeCreated: 1606141051
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4c8463be289381f4b8d730cc983a131b
timeCreated: 1571835978
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 95bb668fca197464e9eef82fa5dfa3f4
folderAsset: yes
timeCreated: 1606144816
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 417783ef8cf45034fb2abd6d7bddeb49
folderAsset: yes
timeCreated: 1606144816
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 6a4bacb88ad38904f94fce909ff35536
folderAsset: yes
timeCreated: 1606144817
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:922151e2477ced835f70aee25257590cbf2269840bc422f8e4ae2dd64769e723
size 23267

View File

@ -0,0 +1,57 @@
fileFormatVersion: 2
guid: a78bffbeb81b48ae9ec71ad7969613e5
timeCreated: 1493397482
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 2
mipmaps:
mipMapMode: 0
enableMipMap: 1
linearTexture: 1
correctGamma: 1
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 1
grayScaleToAlpha: 0
generateCubemap: 0
cubemapConvolution: 0
cubemapConvolutionSteps: 7
cubemapConvolutionExponent: 1.5
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
filterMode: 1
aniso: 16
mipBias: -1
wrapMode: 1
nPOTScale: 0
lightmap: 0
rGBM: 0
compressionQuality: 50
allowsAlphaSplitting: 0
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaIsTransparency: 1
textureType: 5
buildTargetSettings: []
spriteSheet:
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,20 @@
%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: []

View File

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

View File

@ -0,0 +1,14 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -645759843, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: GeneralDrawerConfig
m_EditorClassIdentifier:

View File

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

View File

@ -0,0 +1,15 @@
%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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,22 @@
%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: 0
HideOdinSerializeAttributeWarningMessages: 0
HideNonSerializedShowInInspectorWarningMessages: 0
buildSerializationFormat: 0
editorSerializationFormat: 2
loggingPolicy: 0
errorHandlingPolicy: 0

View File

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

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 8978eac9d11c2824b89709f9cac45504
folderAsset: yes
timeCreated: 1606144817
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 728df0e3465c1a148b83053a3f31d489
timeCreated: 1573836981
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4866e740a22eb1e49b1603b051e4d92c
timeCreated: 1573836980
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 92ea4518d6ddba64e9ffc990b334ebdf
folderAsset: yes
timeCreated: 1606144817
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 51d97d64dbac6434cbb39359e4346f89
folderAsset: yes
timeCreated: 1606144817
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,134 @@
//-----------------------------------------------------------------------
// <copyright file="AssemblyImportSettingsAutomation.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && UNITY_5_6_OR_NEWER
namespace Sirenix.OdinInspector.Editor
{
using System.IO;
using System.Collections.Generic;
using Sirenix.Serialization.Utilities.Editor;
using Sirenix.Utilities;
using UnityEditor;
using UnityEditor.Build;
#if UNITY_2018_1_OR_NEWER
using UnityEditor.Build.Reporting;
#endif
public class AssemblyImportSettingsAutomation :
#if UNITY_2018_1_OR_NEWER
IPreprocessBuildWithReport
#else
IPreprocessBuild
#endif
{
public int callbackOrder { get { return -1500; } }
private static void ConfigureImportSettings()
{
if (EditorOnlyModeConfig.Instance.IsEditorOnlyModeEnabled() || ImportSettingsConfig.Instance.AutomateBeforeBuild == false)
{
return;
}
var assemblyDir = new DirectoryInfo(SirenixAssetPaths.SirenixAssembliesPath).FullName;
var projectAssetsPath = Directory.GetCurrentDirectory().TrimEnd('\\', '/');
var isPackage = PathUtilities.HasSubDirectory(new DirectoryInfo(projectAssetsPath), new DirectoryInfo(assemblyDir)) == false;
var aotDirPath = assemblyDir + "NoEmitAndNoEditor/";
var jitDirPath = assemblyDir + "NoEditor/";
var aotDir = new DirectoryInfo(aotDirPath);
var jitDir = new DirectoryInfo(jitDirPath);
var aotAssemblies = new List<string>();
var jitAssemblies = new List<string>();
foreach (var file in aotDir.GetFiles("*.dll"))
{
string path = file.FullName;
if (isPackage)
{
path = SirenixAssetPaths.SirenixAssembliesPath.TrimEnd('\\', '/') + "/" + path.Substring(assemblyDir.Length);
}
else
{
path = path.Substring(projectAssetsPath.Length + 1);
}
aotAssemblies.Add(path);
}
foreach (var file in jitDir.GetFiles("*.dll"))
{
string path = file.FullName;
if (isPackage)
{
path = SirenixAssetPaths.SirenixAssembliesPath.TrimEnd('\\', '/') + "/" + path.Substring(assemblyDir.Length);
}
else
{
path = path.Substring(projectAssetsPath.Length + 1);
}
jitAssemblies.Add(path);
}
AssetDatabase.StartAssetEditing();
try
{
var platform = EditorUserBuildSettings.activeBuildTarget;
if (AssemblyImportSettingsUtilities.IsJITSupported(
platform,
AssemblyImportSettingsUtilities.GetCurrentScriptingBackend(),
AssemblyImportSettingsUtilities.GetCurrentApiCompatibilityLevel()))
{
ApplyImportSettings(platform, aotAssemblies.ToArray(), OdinAssemblyImportSettings.ExcludeFromAll);
ApplyImportSettings(platform, jitAssemblies.ToArray(), OdinAssemblyImportSettings.IncludeInBuildOnly);
}
else
{
ApplyImportSettings(platform, aotAssemblies.ToArray(), OdinAssemblyImportSettings.IncludeInBuildOnly);
ApplyImportSettings(platform, jitAssemblies.ToArray(), OdinAssemblyImportSettings.ExcludeFromAll);
}
}
finally
{
AssetDatabase.StopAssetEditing();
}
}
private static void ApplyImportSettings(BuildTarget platform, string[] assemblyPaths, OdinAssemblyImportSettings importSettings)
{
for (int i = 0; i < assemblyPaths.Length; i++)
{
AssemblyImportSettingsUtilities.SetAssemblyImportSettings(platform, assemblyPaths[i], importSettings);
}
}
#if UNITY_2018_1_OR_NEWER
void IPreprocessBuildWithReport.OnPreprocessBuild(BuildReport report)
{
ConfigureImportSettings();
}
#else
void IPreprocessBuild.OnPreprocessBuild(BuildTarget target, string path)
{
ConfigureImportSettings();
}
#endif
}
}
#endif // UNITY_EDITOR && UNITY_5_6_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d4d815a2bfd253342bfd6542c08315fb
timeCreated: 1533296750
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,79 @@
//-----------------------------------------------------------------------
// <copyright file="BuildAOTAutomation.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && UNITY_5_6_OR_NEWER
namespace Sirenix.Serialization.Internal
{
using Sirenix.Serialization;
using UnityEditor;
using UnityEditor.Build;
using System.IO;
using System;
#if UNITY_2018_1_OR_NEWER
using UnityEditor.Build.Reporting;
#endif
#if UNITY_2018_1_OR_NEWER
public class PreBuildAOTAutomation : IPreprocessBuildWithReport
#else
public class PreBuildAOTAutomation : IPreprocessBuild
#endif
{
public int callbackOrder { get { return -1000; } }
public void OnPreprocessBuild(BuildTarget target, string path)
{
if (AOTGenerationConfig.Instance.ShouldAutomationGeneration(target))
{
AOTGenerationConfig.Instance.ScanProject();
AOTGenerationConfig.Instance.GenerateDLL();
}
}
#if UNITY_2018_1_OR_NEWER
public void OnPreprocessBuild(BuildReport report)
{
this.OnPreprocessBuild(report.summary.platform, report.summary.outputPath);
}
#endif
}
#if UNITY_2018_1_OR_NEWER
public class PostBuildAOTAutomation : IPostprocessBuildWithReport
#else
public class PostBuildAOTAutomation : IPostprocessBuild
#endif
{
public int callbackOrder { get { return -1000; } }
public void OnPostprocessBuild(BuildTarget target, string path)
{
if (AOTGenerationConfig.Instance.DeleteDllAfterBuilds && AOTGenerationConfig.Instance.ShouldAutomationGeneration(target))
{
Directory.Delete(AOTGenerationConfig.Instance.AOTFolderPath, true);
File.Delete(AOTGenerationConfig.Instance.AOTFolderPath.TrimEnd('/', '\\') + ".meta");
AssetDatabase.Refresh();
}
}
#if UNITY_2018_1_OR_NEWER
public void OnPostprocessBuild(BuildReport report)
{
this.OnPostprocessBuild(report.summary.platform, report.summary.outputPath);
}
#endif
}
}
#endif // UNITY_EDITOR && UNITY_5_6_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: dd3672808cdf76541aa3d383c87a5616
timeCreated: 1514538277
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,121 @@
//-----------------------------------------------------------------------
// <copyright file="EnsureOdinInspectorDefine.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR
namespace Sirenix.Utilities
{
using System;
using System.Linq;
using UnityEditor;
/// <summary>
/// Defines the ODIN_INSPECTOR symbol.
/// </summary>
internal static class EnsureOdinInspectorDefine
{
private static readonly string[] DEFINES = new string[] { "ODIN_INSPECTOR", "ODIN_INSPECTOR_3" };
[InitializeOnLoadMethod]
private static void EnsureScriptingDefineSymbol()
{
var currentTarget = EditorUserBuildSettings.selectedBuildTargetGroup;
if (currentTarget == BuildTargetGroup.Unknown)
{
return;
}
var definesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(currentTarget).Trim();
var defines = definesString.Split(';');
bool changed = false;
foreach (var define in DEFINES)
{
if (defines.Contains(define) == false)
{
if (definesString.EndsWith(";", StringComparison.InvariantCulture) == false)
{
definesString += ";";
}
definesString += define;
changed = true;
}
}
if (changed)
{
PlayerSettings.SetScriptingDefineSymbolsForGroup(currentTarget, definesString);
}
}
}
//
// If you have a project where only some users have Odin, and you want to utilize the ODIN_INSPECTOR
// define symbol. Then, in order to only define the symbol for those with Odin, you can delete this script,
// which prevent ODIN_INSPECTOR from being added to the Unity's player settings.
//
// And instead automatically add the ODIN_INSPECTOR define to an mcs.rsp file if Odin exists using the script below.
// You can then ignore the mcs.rsp file in source control.
//
// Remember to manually remove the ODIN_INSPECTOR define symbol in player settings after removing this script.
//
// static class AddOdinInspectorDefineIfOdinExist
// {
// private const string ODIN_MCS_DEFINE = "-define:ODIN_INSPECTOR";
//
// [InitializeOnLoadMethod]
// private static void AddOrRemoveOdinDefine()
// {
// var addDefine = AppDomain.CurrentDomain.GetAssemblies().Any(x => x.FullName.StartsWith("Sirenix.OdinInspector.Editor"));
//
// #if ODIN_INSPECTOR
// var hasDefine = true;
// #else
// var hasDefine = false;
// #endif
//
// if (addDefine == hasDefine)
// {
// return;
// }
//
// var mcsPath = Path.Combine(Application.dataPath, "mcs.rsp");
// var hasMcsFile = File.Exists(mcsPath);
//
// if (addDefine)
// {
// var lines = hasMcsFile ? File.ReadAllLines(mcsPath).ToList() : new List<string>();
// if (!lines.Any(x => x.Trim() == ODIN_MCS_DEFINE))
// {
// lines.Add(ODIN_MCS_DEFINE);
// File.WriteAllLines(mcsPath, lines.ToArray());
// AssetDatabase.Refresh();
// }
// }
// else if (hasMcsFile)
// {
// var linesWithoutOdinDefine = File.ReadAllLines(mcsPath).Where(x => x.Trim() != ODIN_MCS_DEFINE).ToArray();
//
// if (linesWithoutOdinDefine.Length == 0)
// {
// // Optional - Remove the mcs file instead if it doesn't contain any lines.
// File.Delete(mcsPath);
// }
// else
// {
// File.WriteAllLines(mcsPath, linesWithoutOdinDefine);
// }
//
// AssetDatabase.Refresh();
// }
// }
// }
}
#endif // UNITY_EDITOR

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d9763cb398cf6e146b74d6b7bac2fe50
timeCreated: 1519909294
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,208 @@
//-----------------------------------------------------------------------
// <copyright file="FixBrokenUnityObjectWrapperDrawer.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && UNITY_2018_3_OR_NEWER
#pragma warning disable
namespace Sirenix.OdinInspector.Editor.Drawers
{
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using Sirenix.Utilities;
using Sirenix.Utilities.Editor;
using System.Linq;
using UnityEditor;
using UnityEngine;
[DrawerPriority(0.001, 0, 0)]
public class FixBrokenUnityObjectWrapperDrawer<T> : OdinValueDrawer<T>, IDefinesGenericMenuItems
where T : UnityEngine.Component
{
private const string AUTO_FIX_PREFS_KEY = "TemporarilyBrokenUnityObjectWrapperDrawer.autoFix";
private bool isBroken = false;
private T realWrapperInstance;
private bool allowSceneViewObjects;
private static bool autoFix;
protected override void Initialize()
{
this.allowSceneViewObjects = this.ValueEntry.Property.GetAttribute<AssetsOnlyAttribute>() == null;
autoFix = EditorPrefs.HasKey(AUTO_FIX_PREFS_KEY);
}
protected override void DrawPropertyLayout(GUIContent label)
{
if (!(this.ValueEntry.ValueState == PropertyValueState.NullReference || this.ValueEntry.ValueState == PropertyValueState.ReferenceValueConflict))
{
this.CallNextDrawer(label);
return;
}
if (Event.current.type == EventType.Layout)
{
this.isBroken = false;
var count = this.ValueEntry.ValueCount;
for (int i = 0; i < count; i++)
{
var component = this.ValueEntry.Values[i];
if (ComponentIsBroken(component, ref this.realWrapperInstance))
{
this.isBroken = true;
break;
}
}
if (this.isBroken && autoFix)
{
this.isBroken = false;
for (int i = 0; i < this.ValueEntry.ValueCount; i++)
{
T fixedComponent = null;
if (ComponentIsBroken(this.ValueEntry.Values[i], ref fixedComponent) && fixedComponent)
{
(this.ValueEntry as IValueEntryActualValueSetter<T>).SetActualValue(i, fixedComponent);
}
}
this.ValueEntry.Update();
}
}
if (!this.isBroken)
{
this.CallNextDrawer(label);
return;
}
var rect = EditorGUILayout.GetControlRect(label != null);
var btnRect = rect.AlignRight(20);
var controlRect = rect.SetXMax(btnRect.xMin - 5);
object newInstance = null;
EditorGUI.BeginChangeCheck();
{
if (this.ValueEntry.BaseValueType.IsInterface)
{
newInstance = SirenixEditorFields.PolymorphicObjectField(controlRect,
label,
this.realWrapperInstance,
this.ValueEntry.BaseValueType,
this.allowSceneViewObjects);
}
else
{
newInstance = SirenixEditorFields.UnityObjectField(
controlRect,
label,
this.realWrapperInstance,
this.ValueEntry.BaseValueType,
this.allowSceneViewObjects) as Component;
}
}
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.WeakSmartValue = newInstance;
}
if (GUI.Button(btnRect, " ", EditorStyles.miniButton))
{
var popup = new FixBrokenUnityObjectWrapperPopup(this.ValueEntry);
OdinEditorWindow.InspectObjectInDropDown(popup, 300);
}
if (Event.current.type == EventType.Repaint)
{
GUI.DrawTexture(btnRect, EditorIcons.ConsoleWarnicon, ScaleMode.ScaleToFit);
}
}
private static bool ComponentIsBroken(T component, ref T realInstance)
{
var uObj = component;
var oObj = (object)uObj;
if (oObj != null && uObj == null)
{
var instanceId = uObj.GetInstanceID();
if (AssetDatabase.Contains(instanceId))
{
var path = AssetDatabase.GetAssetPath(instanceId);
var realWrapper = AssetDatabase.LoadAllAssetsAtPath(path).FirstOrDefault(n => n.GetInstanceID() == instanceId) as T;
if (realWrapper)
{
realInstance = realWrapper;
return true;
}
}
}
return false;
}
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
{
if (EditorPrefs.HasKey(AUTO_FIX_PREFS_KEY))
{
genericMenu.AddItem(new GUIContent("Disable auto-fix of broken prefab instance references"), false, (x) =>
{
EditorPrefs.DeleteKey(AUTO_FIX_PREFS_KEY);
autoFix = false;
}, null);
}
}
[TypeInfoBox("This asset reference is temporarily broken until the next reload, because of an error in Unity where the C# wrapper object of a prefab asset is destroyed when changes are made to that prefab asset. This error has been reported to Unity.\n\nMeanwhile, Odin can fix this for you by getting a new, valid wrapper object from the asset database and replacing the broken wrapper instance with the new one.")]
private class FixBrokenUnityObjectWrapperPopup
{
private IPropertyValueEntry<T> valueEntry;
public FixBrokenUnityObjectWrapperPopup(IPropertyValueEntry<T> valueEntry)
{
this.valueEntry = valueEntry;
}
[HorizontalGroup, Button(ButtonSizes.Large)]
public void FixItThisTime()
{
for (int i = 0; i < this.valueEntry.ValueCount; i++)
{
var localI = i;
T fixedComponent = null;
if (ComponentIsBroken(this.valueEntry.Values[i], ref fixedComponent) && fixedComponent)
{
this.valueEntry.Property.Tree.DelayActionUntilRepaint(() =>
{
(this.valueEntry as IValueEntryActualValueSetter<T>).SetActualValue(localI, fixedComponent);
});
}
}
if (GUIHelper.CurrentWindow)
{
EditorApplication.delayCall += GUIHelper.CurrentWindow.Close;
}
}
[HorizontalGroup, Button(ButtonSizes.Large)]
public void FixItAlways()
{
EditorPrefs.SetBool(AUTO_FIX_PREFS_KEY, true);
autoFix = true;
if (GUIHelper.CurrentWindow)
{
EditorApplication.delayCall += GUIHelper.CurrentWindow.Close;
}
}
}
}
}
#endif

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 903c11a9cf3ba6f4e8c653443c6893a0
timeCreated: 1546967292
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,13 @@
{
"name": "Sirenix.OdinInspector.CompatibilityLayer.Editor",
"references": [],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": true,
"autoReferenced": true,
"overrideReferences": false,
"precompiledReferences": [],
"defineConstraints": []
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e88cebb9a3ff09849991f61ba83134d1
timeCreated: 1606141027
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,88 @@
//-----------------------------------------------------------------------
// <copyright file="SyncListDrawer.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && !UNITY_2019_1_OR_NEWER
#pragma warning disable 0618
namespace Sirenix.OdinInspector.Editor.Drawers
{
using Sirenix.Utilities.Editor;
using UnityEditor;
using UnityEngine;
using UnityEngine.Networking;
/// <summary>
/// SyncList property drawer.
/// </summary>
[DrawerPriority(0, 0, 2)]
public class SyncListDrawer<TList, TElement> : OdinValueDrawer<TList> where TList : SyncList<TElement>
{
private LocalPersistentContext<bool> visible;
protected override void Initialize()
{
this.visible = this.Property.Context.GetPersistent(this, "expanded", GeneralDrawerConfig.Instance.OpenListsByDefault);
}
/// <summary>
/// Draws the property.
/// </summary>
protected override void DrawPropertyLayout(GUIContent label)
{
var entry = this.ValueEntry;
var property = entry.Property;
int minCount = int.MaxValue;
int maxCount = 0;
for (int i = 0; i < entry.ValueCount; i++)
{
if (entry.Values[i].Count > maxCount)
{
maxCount = entry.Values[i].Count;
}
if (entry.Values[i].Count < minCount)
{
minCount = entry.Values[i].Count;
}
}
SirenixEditorGUI.BeginHorizontalToolbar();
this.visible.Value = SirenixEditorGUI.Foldout(this.visible.Value, GUIHelper.TempContent("SyncList " + label.text + " [" + typeof(TList).Name + "]"));
EditorGUILayout.LabelField(GUIHelper.TempContent(minCount == maxCount ? (minCount == 0 ? "Empty" : minCount + " items") : minCount + " (" + maxCount + ") items"), SirenixGUIStyles.RightAlignedGreyMiniLabel);
SirenixEditorGUI.EndHorizontalToolbar();
if (SirenixEditorGUI.BeginFadeGroup(this.visible, this.visible.Value))
{
GUIHelper.PushGUIEnabled(false);
SirenixEditorGUI.BeginVerticalList();
{
var elementLabel = new GUIContent();
for (int i = 0; i < maxCount; i++)
{
SirenixEditorGUI.BeginListItem();
elementLabel.text = "Item " + i;
if (i < minCount)
{
property.Children[i].Draw(elementLabel);
}
else
{
EditorGUILayout.LabelField(elementLabel, SirenixEditorGUI.MixedValueDashChar);
}
SirenixEditorGUI.EndListItem();
}
}
SirenixEditorGUI.EndVerticalList();
GUIHelper.PopGUIEnabled();
}
SirenixEditorGUI.EndFadeGroup();
}
}
}
#endif // UNITY_EDITOR && !UNITY_2019_1_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 047c7e4af9c032a428c12b7c564a6593
timeCreated: 1545410615
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,42 @@
//-----------------------------------------------------------------------
// <copyright file="SyncVarAttributeDrawer.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && !UNITY_2019_1_OR_NEWER
#pragma warning disable 0618
namespace Sirenix.OdinInspector.Editor.Drawers
{
using Sirenix.Utilities;
using UnityEditor;
using UnityEngine;
using UnityEngine.Networking;
/// <summary>
/// SyncVar attribute drawer.
/// </summary>
public class SyncVarAttributeDrawer : OdinAttributeDrawer<SyncVarAttribute>
{
/// <summary>
/// Draws the property.
/// </summary>
protected override void DrawPropertyLayout(GUIContent label)
{
GUILayout.BeginHorizontal();
{
GUILayout.BeginVertical();
{
this.CallNextDrawer(label);
}
GUILayout.EndVertical();
GUILayout.Label("SyncVar", EditorStyles.miniLabel, GUILayoutOptions.Width(52f));
}
GUILayout.EndHorizontal();
}
}
}
#endif // UNITY_EDITOR && !UNITY_2019_1_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: bda5b631304c8cb4485d60ef8bda618b
timeCreated: 1545410615
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,73 @@
//-----------------------------------------------------------------------
// <copyright file="Vector2IntMinMaxAttributeDrawer.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && UNITY_2017_2_OR_NEWER
namespace Sirenix.OdinInspector.Editor.Drawers
{
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using Sirenix.OdinInspector.Editor.ValueResolvers;
using Sirenix.Utilities;
using Sirenix.Utilities.Editor;
using System.Reflection;
using UnityEditor;
using UnityEngine;
/// <summary>
/// Draws Vector2Int properties marked with <see cref="MinMaxSliderAttribute"/>.
/// </summary>
public class Vector2IntMinMaxAttributeDrawer : OdinAttributeDrawer<MinMaxSliderAttribute, Vector2Int>
{
private ValueResolver<float> minGetter;
private ValueResolver<float> maxGetter;
private ValueResolver<Vector2Int> vector2IntMinMaxGetter;
/// <summary>
/// Initializes the drawer by resolving any optional references to members for min/max value.
/// </summary>
protected override void Initialize()
{
// Min member reference.
this.minGetter = ValueResolver.Get<float>(this.Property, this.Attribute.MinValueGetter, this.Attribute.MinValue);
this.maxGetter = ValueResolver.Get<float>(this.Property, this.Attribute.MaxValueGetter, this.Attribute.MaxValue);
// Min max member reference.
if (this.Attribute.MinMaxValueGetter != null)
{
this.vector2IntMinMaxGetter = ValueResolver.Get<Vector2Int>(this.Property, this.Attribute.MinMaxValueGetter);
}
}
/// <summary>
/// Draws the property.
/// </summary>
protected override void DrawPropertyLayout(GUIContent label)
{
ValueResolver.DrawErrors(this.minGetter, this.maxGetter, this.vector2IntMinMaxGetter);
// Get the range of the slider from the attribute or from member references.
Vector2 range;
if (this.vector2IntMinMaxGetter != null && !this.vector2IntMinMaxGetter.HasError)
{
range = (Vector2)this.vector2IntMinMaxGetter.GetValue();
}
else
{
range.x = this.minGetter.GetValue();
range.y = this.maxGetter.GetValue();
}
EditorGUI.BeginChangeCheck();
Vector2 value = SirenixEditorFields.MinMaxSlider(label, (Vector2)this.ValueEntry.SmartValue, range, this.Attribute.ShowFields);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = new Vector2Int((int)value.x, (int)value.y);
}
}
}
}
#endif // UNITY_EDITOR && UNITY_2017_2_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 30393ed590c8fb64da0612e8a2fad8a4
timeCreated: 1532688697
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,141 @@
//-----------------------------------------------------------------------
// <copyright file="VectorIntDrawers.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && UNITY_2017_2_OR_NEWER
namespace Sirenix.OdinInspector.Editor.Drawers
{
using Utilities.Editor;
using UnityEditor;
using UnityEngine;
/// <summary>
/// Vector2Int proprety drawer.
/// </summary>
public sealed class Vector2IntDrawer : OdinValueDrawer<Vector2Int>, IDefinesGenericMenuItems
{
/// <summary>
/// Draws the property.
/// </summary>
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
var contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
EditorGUI.BeginChangeCheck();
var val = SirenixEditorFields.VectorPrefixSlideRect(labelRect, (Vector2)this.ValueEntry.SmartValue);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = new Vector2Int((int)val.x, (int)val.y);
}
var showLabels = 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)
{
Vector2Int value = (Vector2Int)property.ValueEntry.WeakSmartValue;
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0)"), value == Vector2Int.zero, () => SetVector(property, Vector2Int.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1)"), value == Vector2Int.one, () => SetVector(property, Vector2Int.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0)"), value == Vector2Int.right, () => SetVector(property, Vector2Int.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0)"), value == Vector2Int.left, () => SetVector(property, Vector2Int.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1)"), value == Vector2Int.up, () => SetVector(property, Vector2Int.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1)"), value == Vector2Int.down, () => SetVector(property, Vector2Int.down));
}
private void SetVector(InspectorProperty property, Vector2Int value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
{
property.ValueEntry.WeakValues[i] = value;
}
});
}
}
/// <summary>
/// Vector3Int property drawer.
/// </summary>
public sealed class Vector3IntDrawer : OdinValueDrawer<Vector3Int>, IDefinesGenericMenuItems
{
/// <summary>
/// Draws the property.
/// </summary>
protected override void DrawPropertyLayout(GUIContent label)
{
Rect labelRect;
var contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
{
EditorGUI.BeginChangeCheck();
var val = SirenixEditorFields.VectorPrefixSlideRect(labelRect, (Vector3)this.ValueEntry.SmartValue);
if (EditorGUI.EndChangeCheck())
{
this.ValueEntry.SmartValue = new Vector3Int((int)val.x, (int)val.y, (int)val.z);
}
var showLabels = 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)
{
Vector3Int value = (Vector3Int)property.ValueEntry.WeakSmartValue;
if (genericMenu.GetItemCount() > 0)
{
genericMenu.AddSeparator("");
}
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0)"), value == Vector3Int.zero, () => SetVector(property, Vector3Int.zero));
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1)"), value == Vector3Int.one, () => SetVector(property, Vector3Int.one));
genericMenu.AddSeparator("");
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0)"), value == Vector3Int.right, () => SetVector(property, Vector3Int.right));
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0)"), value == Vector3Int.left, () => SetVector(property, Vector3Int.left));
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0)"), value == Vector3Int.up, () => SetVector(property, Vector3Int.up));
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0)"), value == Vector3Int.down, () => SetVector(property, Vector3Int.down));
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1)"), value == new Vector3Int(0, 0, 1), () => SetVector(property, new Vector3Int(0, 0, 1)));
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1)"), value == new Vector3Int(0, 0, -1), () => SetVector(property, new Vector3Int(0, 0, -1)));
}
private void SetVector(InspectorProperty property, Vector3Int value)
{
property.Tree.DelayActionUntilRepaint(() =>
{
property.ValueEntry.WeakSmartValue = value;
});
}
}
}
#endif // UNITY_EDITOR && UNITY_2017_2_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2fc48d59edff00f49b8ae717c776ff45
timeCreated: 1520596090
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,54 @@
//-----------------------------------------------------------------------
// <copyright file="VectorIntPropertyResolvers.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if UNITY_EDITOR && UNITY_2017_2_OR_NEWER
namespace Sirenix.OdinInspector.Editor.Drawers
{
using UnityEngine;
public sealed class Vector2IntResolver : BaseMemberPropertyResolver<Vector2Int>
{
protected override InspectorPropertyInfo[] GetPropertyInfos()
{
return new InspectorPropertyInfo[]
{
InspectorPropertyInfo.CreateValue("x", 0, this.Property.ValueEntry.SerializationBackend,
new GetterSetter<Vector2Int, int>(
getter: (ref Vector2Int vec) => vec.x,
setter: (ref Vector2Int vec, int value) => vec.x = value)),
InspectorPropertyInfo.CreateValue("y", 0, this.Property.ValueEntry.SerializationBackend,
new GetterSetter<Vector2Int, int>(
getter: (ref Vector2Int vec) => vec.y,
setter: (ref Vector2Int vec, int value) => vec.y = value)),
};
}
}
public sealed class Vector3IntResolver : BaseMemberPropertyResolver<Vector3Int>
{
protected override InspectorPropertyInfo[] GetPropertyInfos()
{
return new InspectorPropertyInfo[]
{
InspectorPropertyInfo.CreateValue("x", 0, this.Property.ValueEntry.SerializationBackend,
new GetterSetter<Vector3Int, int>(
getter: (ref Vector3Int vec) => vec.x,
setter: (ref Vector3Int vec, int value) => vec.x = value)),
InspectorPropertyInfo.CreateValue("y", 0, this.Property.ValueEntry.SerializationBackend,
new GetterSetter<Vector3Int, int>(
getter: (ref Vector3Int vec) => vec.y,
setter: (ref Vector3Int vec, int value) => vec.y = value)),
InspectorPropertyInfo.CreateValue("z", 0, this.Property.ValueEntry.SerializationBackend,
new GetterSetter<Vector3Int, int>(
getter: (ref Vector3Int vec) => vec.z,
setter: (ref Vector3Int vec, int value) => vec.z = value)),
};
}
}
}
#endif // UNITY_EDITOR && UNITY_2017_2_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 435323e396d85494daeb5278528fe138
timeCreated: 1539340561
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,66 @@
//-----------------------------------------------------------------------
// <copyright file="SerializedNetworkBehaviour.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
#if !UNITY_2019_1_OR_NEWER
#pragma warning disable 0618
namespace Sirenix.OdinInspector
{
using Sirenix.Serialization;
using UnityEngine;
using UnityEngine.Networking;
/// <summary>
/// A Unity NetworkBehaviour which is serialized by the Sirenix serialization system.
/// Please note that Odin's custom serialization only works for non-synced variables - [SyncVar] and SyncLists still have the same limitations.
/// </summary>
[ShowOdinSerializedPropertiesInInspector]
public abstract class SerializedNetworkBehaviour : NetworkBehaviour, ISerializationCallbackReceiver, ISupportsPrefabSerialization
{
[SerializeField, HideInInspector]
private SerializationData serializationData;
SerializationData ISupportsPrefabSerialization.SerializationData { get { return this.serializationData; } set { this.serializationData = value; } }
void ISerializationCallbackReceiver.OnAfterDeserialize()
{
UnitySerializationUtility.DeserializeUnityObject(this, ref this.serializationData);
this.OnAfterDeserialize();
}
void ISerializationCallbackReceiver.OnBeforeSerialize()
{
UnitySerializationUtility.SerializeUnityObject(this, ref this.serializationData);
this.OnBeforeSerialize();
}
/// <summary>
/// Invoked after deserialization has taken place.
/// </summary>
protected virtual void OnAfterDeserialize()
{
}
/// <summary>
/// Invoked before serialization has taken place.
/// </summary>
protected virtual void OnBeforeSerialize()
{
}
#if UNITY_EDITOR
[HideInTables]
[OnInspectorGUI, PropertyOrder(int.MinValue)]
private void InternalOnInspectorGUI()
{
EditorOnlyModeConfigUtility.InternalOnInspectorGUI(this);
}
#endif
}
}
#endif // UNITY_2019_1_OR_NEWER

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 5d496f720527c984b8acc75a238bbd79
timeCreated: 1545412221
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,11 @@
{
"name": "Sirenix.OdinInspector.CompatibilityLayer",
"references": [],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": true,
"autoReferenced": true,
"overrideReferences": false,
"precompiledReferences": [],
"defineConstraints": []
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 01dcaeb2689056c489ba2224a70fd0e9
timeCreated: 1606141027
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,80 @@
#if UNITY_2017_2_OR_NEWER
//-----------------------------------------------------------------------
// <copyright file="VectorIntFormatters.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
[assembly: Sirenix.Serialization.RegisterFormatter(typeof(Sirenix.Serialization.Vector2IntFormatter))]
[assembly: Sirenix.Serialization.RegisterFormatter(typeof(Sirenix.Serialization.Vector3IntFormatter))]
namespace Sirenix.Serialization
{
using UnityEngine;
/// <summary>
/// Custom formatter for the <see cref="Vector2Int"/> type.
/// </summary>
/// <seealso cref="Sirenix.Serialization.MinimalBaseFormatter{UnityEngine.Vector2Int}" />
public class Vector2IntFormatter : MinimalBaseFormatter<Vector2Int>
{
private static readonly Serializer<int> Serializer = Serialization.Serializer.Get<int>();
/// <summary>
/// Reads into the specified value using the specified reader.
/// </summary>
/// <param name="value">The value to read into.</param>
/// <param name="reader">The reader to use.</param>
protected override void Read(ref Vector2Int value, IDataReader reader)
{
value.x = Vector2IntFormatter.Serializer.ReadValue(reader);
value.y = Vector2IntFormatter.Serializer.ReadValue(reader);
}
/// <summary>
/// Writes from the specified value using the specified writer.
/// </summary>
/// <param name="value">The value to write from.</param>
/// <param name="writer">The writer to use.</param>
protected override void Write(ref Vector2Int value, IDataWriter writer)
{
Vector2IntFormatter.Serializer.WriteValue(value.x, writer);
Vector2IntFormatter.Serializer.WriteValue(value.y, writer);
}
}
/// <summary>
/// Custom formatter for the <see cref="Vector3Int"/> type.
/// </summary>
/// <seealso cref="Sirenix.Serialization.MinimalBaseFormatter{UnityEngine.Vector3Int}" />
public class Vector3IntFormatter : MinimalBaseFormatter<Vector3Int>
{
private static readonly Serializer<int> Serializer = Serialization.Serializer.Get<int>();
/// <summary>
/// Reads into the specified value using the specified reader.
/// </summary>
/// <param name="value">The value to read into.</param>
/// <param name="reader">The reader to use.</param>
protected override void Read(ref Vector3Int value, IDataReader reader)
{
value.x = Vector3IntFormatter.Serializer.ReadValue(reader);
value.y = Vector3IntFormatter.Serializer.ReadValue(reader);
value.z = Vector3IntFormatter.Serializer.ReadValue(reader);
}
/// <summary>
/// Writes from the specified value using the specified writer.
/// </summary>
/// <param name="value">The value to write from.</param>
/// <param name="writer">The writer to use.</param>
protected override void Write(ref Vector3Int value, IDataWriter writer)
{
Vector3IntFormatter.Serializer.WriteValue(value.x, writer);
Vector3IntFormatter.Serializer.WriteValue(value.y, writer);
Vector3IntFormatter.Serializer.WriteValue(value.z, writer);
}
}
}
#endif

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: a2f1c424a60dfbd4fa331449baeac351
timeCreated: 1520596090
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,35 @@
------------------------------------ Getting Started ------------------------------------
Open up the Getting Started guide from "Tools > Odin Inspector > Getting Started."
------------------------------------- Helpful Links -------------------------------------
Tutorials: https://odininspector.com/tutorials
API 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
---------------------------------------Thanks 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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e957a9e8b4f4bce4b8a34e504a8c39d7
timeCreated: 1533815770
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,43 +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: 11500000, guid: a1700d9ee2ab4d8e8ac1b551b7c93ce8, type: 3}
m_Name: FieldData
m_EditorClassIdentifier:
width: 25
height: 50
hexCaptureManaCost: 1
hexHardCaptureManaCost: 1
hexHardCaptureTime: 1
cellPrefab: {fileID: 1661242500252451528, guid: bcea5b4a96735bd4b936f8f3fefcc688, type: 3}
cellLabelPrefab: {fileID: 3836123284387241147, guid: efd47cbd22ddfee4aa2b1391914116fc, type: 3}
CoordinatesCanvas: {fileID: 4726489279989878083, guid: f31e0880dd078104bb31dc0fd7ef9f19, type: 3}
colors:
- _unitColor: 2
_texture: {fileID: 2800000, guid: 983242f4b4db7a841af48234cf0021b8, type: 3}
_vfxCellCapturePrefab: {fileID: 0}
_vfxDeathPrefab: {fileID: 0}
- _unitColor: 0
_texture: {fileID: 2800000, guid: 0298dfcb0756f534a9a125d510461c7a, type: 3}
_vfxCellCapturePrefab: {fileID: 8021195855904498788, guid: 2f6d0540c8fd7bb46b356ff86962379c, type: 3}
_vfxDeathPrefab: {fileID: 8483527721606052447, guid: fd7fc481b936cf84a90d2d01d83e9b06, type: 3}
- _unitColor: 1
_texture: {fileID: 2800000, guid: 3b75368df991b164583e8cede390e24e, type: 3}
_vfxCellCapturePrefab: {fileID: 442387583353148024, guid: 53959bc898e9a644daad0282881d596a, type: 3}
_vfxDeathPrefab: {fileID: 730781534364879866, guid: 15620662117187f419d41032a4267445, type: 3}
- _unitColor: 3
_texture: {fileID: 2800000, guid: 1a76a79d5a83143479c76f4f37c4b896, type: 3}
_vfxCellCapturePrefab: {fileID: 5732852186060375560, guid: 54d847a18c62f57479c53469d4398ceb, type: 3}
_vfxDeathPrefab: {fileID: 7140011676602114744, guid: 6d9f179a27798c248b3c35df9139eb85, type: 3}
- _unitColor: 4
_texture: {fileID: 2800000, guid: 779719648deedb4478ddebb3b81751ef, type: 3}
_vfxCellCapturePrefab: {fileID: 1651852338557341938, guid: fa6c1fc3da7c8d24c85a88b00cf598d4, type: 3}
_vfxDeathPrefab: {fileID: 4578021055421768374, guid: b2b879dd7ca552a408d4349691d2c8df, type: 3}

View File

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

Some files were not shown because too many files have changed in this diff Show More