任务:搭建基本的系统
1.实现挥动锤子功能 (1.有一个挥动过程(DoTween) (2.判定随着锤子挥动动画进行 (3.挥动起始锤子显现 (4.挥动结束锤子消失 (5.CD之内无法再次挥动(不作反应 (6.挥动过程只能进行UI操作 (7.目前判定范围用sprite表示 (8.只有挥动动画时间内有攻击判定 2.引入Odin插件
This commit is contained in:
parent
c9e34f623c
commit
07ea6e771c
@ -6,7 +6,7 @@ TextureImporter:
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
@ -32,13 +32,13 @@ TextureImporter:
|
||||
maxTextureSize: 1024
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
@ -50,9 +50,9 @@ TextureImporter:
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
@ -65,11 +65,11 @@ TextureImporter:
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 1024
|
||||
maxTextureSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
compressionQuality: 100
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
|
@ -33,6 +33,14 @@ public class @Player : IInputActionCollection, IDisposable
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
},
|
||||
{
|
||||
""name"": ""Wave"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""a8c8071a-3441-4efd-919d-6bf31d7c6e65"",
|
||||
""expectedControlType"": ""Button"",
|
||||
""processors"": """",
|
||||
""interactions"": """"
|
||||
}
|
||||
],
|
||||
""bindings"": [
|
||||
@ -123,6 +131,28 @@ public class @Player : IInputActionCollection, IDisposable
|
||||
""action"": ""Jump"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""1dcf7891-85dd-45b2-978c-103548a0da96"",
|
||||
""path"": ""<Gamepad>/buttonWest"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": """",
|
||||
""action"": ""Wave"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
{
|
||||
""name"": """",
|
||||
""id"": ""68b1b15c-87ae-4596-87d6-19744a830390"",
|
||||
""path"": ""<Keyboard>/j"",
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": """",
|
||||
""action"": ""Wave"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -150,6 +180,7 @@ public class @Player : IInputActionCollection, IDisposable
|
||||
m_Normal = asset.FindActionMap("Normal", throwIfNotFound: true);
|
||||
m_Normal_Move = m_Normal.FindAction("Move", throwIfNotFound: true);
|
||||
m_Normal_Jump = m_Normal.FindAction("Jump", throwIfNotFound: true);
|
||||
m_Normal_Wave = m_Normal.FindAction("Wave", throwIfNotFound: true);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
@ -201,12 +232,14 @@ public class @Player : IInputActionCollection, IDisposable
|
||||
private INormalActions m_NormalActionsCallbackInterface;
|
||||
private readonly InputAction m_Normal_Move;
|
||||
private readonly InputAction m_Normal_Jump;
|
||||
private readonly InputAction m_Normal_Wave;
|
||||
public struct NormalActions
|
||||
{
|
||||
private @Player m_Wrapper;
|
||||
public NormalActions(@Player wrapper) { m_Wrapper = wrapper; }
|
||||
public InputAction @Move => m_Wrapper.m_Normal_Move;
|
||||
public InputAction @Jump => m_Wrapper.m_Normal_Jump;
|
||||
public InputAction @Wave => m_Wrapper.m_Normal_Wave;
|
||||
public InputActionMap Get() { return m_Wrapper.m_Normal; }
|
||||
public void Enable() { Get().Enable(); }
|
||||
public void Disable() { Get().Disable(); }
|
||||
@ -222,6 +255,9 @@ public class @Player : IInputActionCollection, IDisposable
|
||||
@Jump.started -= m_Wrapper.m_NormalActionsCallbackInterface.OnJump;
|
||||
@Jump.performed -= m_Wrapper.m_NormalActionsCallbackInterface.OnJump;
|
||||
@Jump.canceled -= m_Wrapper.m_NormalActionsCallbackInterface.OnJump;
|
||||
@Wave.started -= m_Wrapper.m_NormalActionsCallbackInterface.OnWave;
|
||||
@Wave.performed -= m_Wrapper.m_NormalActionsCallbackInterface.OnWave;
|
||||
@Wave.canceled -= m_Wrapper.m_NormalActionsCallbackInterface.OnWave;
|
||||
}
|
||||
m_Wrapper.m_NormalActionsCallbackInterface = instance;
|
||||
if (instance != null)
|
||||
@ -232,6 +268,9 @@ public class @Player : IInputActionCollection, IDisposable
|
||||
@Jump.started += instance.OnJump;
|
||||
@Jump.performed += instance.OnJump;
|
||||
@Jump.canceled += instance.OnJump;
|
||||
@Wave.started += instance.OnWave;
|
||||
@Wave.performed += instance.OnWave;
|
||||
@Wave.canceled += instance.OnWave;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -249,5 +288,6 @@ public class @Player : IInputActionCollection, IDisposable
|
||||
{
|
||||
void OnMove(InputAction.CallbackContext context);
|
||||
void OnJump(InputAction.CallbackContext context);
|
||||
void OnWave(InputAction.CallbackContext context);
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,14 @@
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
},
|
||||
{
|
||||
"name": "Wave",
|
||||
"type": "Button",
|
||||
"id": "a8c8071a-3441-4efd-919d-6bf31d7c6e65",
|
||||
"expectedControlType": "Button",
|
||||
"processors": "",
|
||||
"interactions": ""
|
||||
}
|
||||
],
|
||||
"bindings": [
|
||||
@ -110,6 +118,28 @@
|
||||
"action": "Jump",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "1dcf7891-85dd-45b2-978c-103548a0da96",
|
||||
"path": "<Gamepad>/buttonWest",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "",
|
||||
"action": "Wave",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "68b1b15c-87ae-4596-87d6-19744a830390",
|
||||
"path": "<Keyboard>/j",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "",
|
||||
"action": "Wave",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
8
Assets/Plugins.meta
Normal file
8
Assets/Plugins.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1195f2441cd2f204e9cc442c78a75743
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix.meta
Normal file
8
Assets/Plugins/Sirenix.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f8b16eeee739e52448b12de8c6e054fd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Assemblies.meta
Normal file
8
Assets/Plugins/Sirenix/Assemblies.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 416c9d29fc2bc8b459b3c1a31c21726d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Assemblies/NoEditor.meta
Normal file
8
Assets/Plugins/Sirenix/Assemblies/NoEditor.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae929bb4182e1e14088a265e67328195
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5651992cdad94894a3af7dc3f1da086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,80 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5651992cdad94894a3af7dc3f1da9170
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
Any:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 1
|
||||
Exclude Editor: 1
|
||||
Exclude Linux: 1
|
||||
Exclude Linux64: 1
|
||||
Exclude LinuxUniversal: 1
|
||||
Exclude N3DS: 0
|
||||
Exclude OSXIntel: 1
|
||||
Exclude OSXIntel64: 1
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude PS4: 0
|
||||
Exclude PSM: 0
|
||||
Exclude PSP2: 0
|
||||
Exclude SamsungTV: 0
|
||||
Exclude Tizen: 0
|
||||
Exclude WebGL: 0
|
||||
Exclude WiiU: 0
|
||||
Exclude Win: 1
|
||||
Exclude Win64: 1
|
||||
Exclude WindowsStoreApps: 0
|
||||
Exclude XboxOne: 0
|
||||
Exclude iOS: 0
|
||||
Exclude tvOS: 0
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
N3DS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PS4:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PSM:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PSP2:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
SamsungTV:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Tizen:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WebGL:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WiiU:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WindowsStoreApps:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
XboxOne:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
tvOS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll
Normal file
BIN
Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5978f8f3dd274e848fbb7a123bde086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,80 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5978f8f3dd274e848fbb7a123bde1fb9
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
Any:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 1
|
||||
Exclude Editor: 1
|
||||
Exclude Linux: 1
|
||||
Exclude Linux64: 1
|
||||
Exclude LinuxUniversal: 1
|
||||
Exclude N3DS: 0
|
||||
Exclude OSXIntel: 1
|
||||
Exclude OSXIntel64: 1
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude PS4: 0
|
||||
Exclude PSM: 0
|
||||
Exclude PSP2: 0
|
||||
Exclude SamsungTV: 0
|
||||
Exclude Tizen: 0
|
||||
Exclude WebGL: 0
|
||||
Exclude WiiU: 0
|
||||
Exclude Win: 1
|
||||
Exclude Win64: 1
|
||||
Exclude WindowsStoreApps: 0
|
||||
Exclude XboxOne: 0
|
||||
Exclude iOS: 0
|
||||
Exclude tvOS: 0
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
N3DS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PS4:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PSM:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PSP2:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
SamsungTV:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Tizen:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WebGL:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WiiU:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WindowsStoreApps:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
XboxOne:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
tvOS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor.meta
Normal file
8
Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6a4f09709a7f854eb914fa0dbd70c80
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2a8f0021d6b47c5923d8972dfb8086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,77 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2a8f0021d6b47c5923d8972dfb81ef1
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
Android:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Any:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 0
|
||||
Exclude Editor: 1
|
||||
Exclude Linux: 0
|
||||
Exclude Linux64: 0
|
||||
Exclude LinuxUniversal: 0
|
||||
Exclude N3DS: 1
|
||||
Exclude OSXIntel: 0
|
||||
Exclude OSXIntel64: 0
|
||||
Exclude OSXUniversal: 0
|
||||
Exclude PS4: 1
|
||||
Exclude PSM: 1
|
||||
Exclude PSP2: 1
|
||||
Exclude SamsungTV: 1
|
||||
Exclude Tizen: 1
|
||||
Exclude WebGL: 1
|
||||
Exclude WiiU: 1
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 0
|
||||
Exclude WindowsStoreApps: 1
|
||||
Exclude XboxOne: 1
|
||||
Exclude iOS: 1
|
||||
Exclude tvOS: 1
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
Linux:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Linux64:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
LinuxUniversal:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
OSXIntel:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
OSXIntel64:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
OSXUniversal:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PSM:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Win:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Win64:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e0a9643dc0d4b46bf2321f72c4e086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,77 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e0a9643dc0d4b46bf2321f72c4e503e
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
Android:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Any:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 0
|
||||
Exclude Editor: 1
|
||||
Exclude Linux: 0
|
||||
Exclude Linux64: 0
|
||||
Exclude LinuxUniversal: 0
|
||||
Exclude N3DS: 1
|
||||
Exclude OSXIntel: 0
|
||||
Exclude OSXIntel64: 0
|
||||
Exclude OSXUniversal: 0
|
||||
Exclude PS4: 1
|
||||
Exclude PSM: 1
|
||||
Exclude PSP2: 1
|
||||
Exclude SamsungTV: 1
|
||||
Exclude Tizen: 1
|
||||
Exclude WebGL: 1
|
||||
Exclude WiiU: 1
|
||||
Exclude Win: 0
|
||||
Exclude Win64: 0
|
||||
Exclude WindowsStoreApps: 1
|
||||
Exclude XboxOne: 1
|
||||
Exclude iOS: 1
|
||||
Exclude tvOS: 1
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
Linux:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Linux64:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
LinuxUniversal:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
OSXIntel:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
OSXIntel64:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
OSXUniversal:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
PSM:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Win:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Win64:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47a84ebde4ec47fabb620b30cc7a086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,47 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47a84ebde4ec47fabb620b30cc7a3e5c
|
||||
timeCreated: 1488828285
|
||||
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
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47a84ebde4ec47fabb620b30cc7a096f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4865f1ab4504ed8a368670db22f086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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:
|
10940
Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml
Normal file
10940
Assets/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4865f1ab4504ed8a368670db22f096f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74721b9f0af448f5ae2e91102a1a086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,47 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74721b9f0af448f5ae2e91102a1a5edd
|
||||
timeCreated: 1488828285
|
||||
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:
|
@ -0,0 +1,202 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Sirenix.Serialization.Config</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Sirenix.Serialization.CustomLogger">
|
||||
<summary>
|
||||
A helper class for quickly and easily defining custom loggers.
|
||||
</summary>
|
||||
<seealso cref="T:Sirenix.Serialization.ILogger" />
|
||||
</member>
|
||||
<member name="M:Sirenix.Serialization.CustomLogger.#ctor(System.Action{System.String},System.Action{System.String},System.Action{System.Exception})">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Sirenix.Serialization.CustomLogger.LogWarning(System.String)">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Sirenix.Serialization.CustomLogger.LogError(System.String)">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Sirenix.Serialization.CustomLogger.LogException(System.Exception)">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Sirenix.Serialization.DataFormat">
|
||||
<summary>
|
||||
Specifies a data format to read and write in.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.DataFormat.Binary">
|
||||
<summary>
|
||||
A custom packed binary format. This format is most efficient and almost allocation-free,
|
||||
but its serialized data is not human-readable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.DataFormat.JSON">
|
||||
<summary>
|
||||
A JSON format compliant with the json specification found at "http://www.json.org/".
|
||||
<para />
|
||||
This format has rather sluggish performance and allocates frightening amounts of string garbage.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.DataFormat.Nodes">
|
||||
<summary>
|
||||
A format that does not serialize to a byte stream, but to a list of data nodes in memory
|
||||
which can then be serialized by Unity.
|
||||
<para />
|
||||
This format is highly inefficient, and is primarily used for ensuring that Unity assets
|
||||
are mergeable by individual values when saved in Unity's text format. This makes
|
||||
serialized values more robust and data recovery easier in case of issues.
|
||||
<para />
|
||||
This format is *not* recommended for use in builds.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Sirenix.Serialization.DefaultLoggers">
|
||||
<summary>
|
||||
Defines default loggers for serialization and deserialization. This class and all of its loggers are thread safe.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Sirenix.Serialization.DefaultLoggers.DefaultLogger">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Sirenix.Serialization.DefaultLoggers.UnityLogger">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Sirenix.Serialization.ErrorHandlingPolicy">
|
||||
<summary>
|
||||
The policy for handling errors during serialization and deserialization.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.ErrorHandlingPolicy.Resilient">
|
||||
<summary>
|
||||
Attempts will be made to recover from errors and continue serialization. Data may become invalid.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.ErrorHandlingPolicy.ThrowOnErrors">
|
||||
<summary>
|
||||
Exceptions will be thrown when errors are logged.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.ErrorHandlingPolicy.ThrowOnWarningsAndErrors">
|
||||
<summary>
|
||||
Exceptions will be thrown when warnings or errors are logged.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Sirenix.Serialization.GlobalSerializationConfig">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.ODIN_SERIALIZATION_CAUTIONARY_WARNING_TEXT">
|
||||
<summary>
|
||||
Text for the cautionary serialization warning shown in the inspector.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.ODIN_SERIALIZATION_CAUTIONARY_WARNING_BUTTON_TEXT">
|
||||
<summary>
|
||||
Text for the hide button for the cautionary serialization warning shown in the inspector.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.ODIN_PREFAB_CAUTIONARY_WARNING_BUTTON_TEXT">
|
||||
<summary>
|
||||
Text for the hide button for the cautionary prefab warning shown in the inspector.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.HideSerializationCautionaryMessage">
|
||||
<summary>
|
||||
Whether the user has chosen to hide the cautionary serialization warning.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.HideOdinSerializeAttributeWarningMessages">
|
||||
<summary>
|
||||
Whether the user has chosen to hide the warning messages related to the OdinSerialize attribute.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.GlobalSerializationConfig.HideNonSerializedShowInInspectorWarningMessages">
|
||||
<summary>
|
||||
Whether the user has chosen to hide the warning messages related to the SerializeField and ShowInInspector attributes on non-serialized members.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.Logger">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.EditorSerializationFormat">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.BuildSerializationFormat">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.LoggingPolicy">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Sirenix.Serialization.GlobalSerializationConfig.ErrorHandlingPolicy">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Sirenix.Serialization.ILogger">
|
||||
<summary>
|
||||
Implements methods for logging warnings, errors and exceptions during serialization and deserialization.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Sirenix.Serialization.ILogger.LogWarning(System.String)">
|
||||
<summary>
|
||||
Logs a warning.
|
||||
</summary>
|
||||
<param name="warning">The warning to log.</param>
|
||||
</member>
|
||||
<member name="M:Sirenix.Serialization.ILogger.LogError(System.String)">
|
||||
<summary>
|
||||
Logs an error.
|
||||
</summary>
|
||||
<param name="error">The error to log.</param>
|
||||
</member>
|
||||
<member name="M:Sirenix.Serialization.ILogger.LogException(System.Exception)">
|
||||
<summary>
|
||||
Logs an exception.
|
||||
</summary>
|
||||
<param name="exception">The exception to log.</param>
|
||||
</member>
|
||||
<member name="T:Sirenix.Serialization.LoggingPolicy">
|
||||
<summary>
|
||||
The policy for which level of logging to do during serialization and deserialization.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.LoggingPolicy.LogErrors">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.LoggingPolicy.LogWarningsAndErrors">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Sirenix.Serialization.LoggingPolicy.Silent">
|
||||
<summary>
|
||||
Not yet documented.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74721b9f0af448f5ae2e91102a1a096f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll
Normal file
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll
Normal file
Binary file not shown.
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll.mdb
Normal file
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll.mdb
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f3147f7af4c49739579b966c458086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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:
|
9565
Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml
Normal file
9565
Assets/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f3147f7af4c49739579b966c458096f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll
Normal file
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c65184932ff4fd48a343e236025086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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:
|
7788
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml
Normal file
7788
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c65184932ff4fd48a343e236025096f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll
Normal file
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll
Normal file
Binary file not shown.
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.mdb
Normal file
BIN
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.mdb
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4873f2a8bdae42baa0406e8a6136086f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
47
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.meta
Normal file
47
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.meta
Normal 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:
|
3658
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml
Normal file
3658
Assets/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4873f2a8bdae42baa0406e8a6136096f
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
6
Assets/Plugins/Sirenix/Assemblies/link.xml
Normal file
6
Assets/Plugins/Sirenix/Assemblies/link.xml
Normal 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>
|
7
Assets/Plugins/Sirenix/Assemblies/link.xml.meta
Normal file
7
Assets/Plugins/Sirenix/Assemblies/link.xml.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2373d9909155cae468605be57f69461c
|
||||
timeCreated: 1613046886
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Demos.meta
Normal file
8
Assets/Plugins/Sirenix/Demos.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea9123c061588dc47b848832fb85817b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f597f19f656ba56eae4f6a3a7cc528f4
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 48e08dc33330d11e9d4a1b246c52e4f6
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ed09910c0094cb27be8f3ca264680da3
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cc355dd4cf1e6173beaeb22c2858cbe1
|
||||
timeCreated: 1488828285
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Odin Inspector.meta
Normal file
8
Assets/Plugins/Sirenix/Odin Inspector.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: abce34fc4c84f7e40a26a9d11d1c578a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Odin Inspector/Assets.meta
Normal file
8
Assets/Plugins/Sirenix/Odin Inspector/Assets.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d38ee25ee419b24f8af63a1c81d4b5e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor.meta
Normal file
8
Assets/Plugins/Sirenix/Odin Inspector/Assets/Editor.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 00f94164baa814b40a7ec8a589114511
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 90eaa0dc28c1934408dc1c02e13a507f
|
||||
timeCreated: 1628274352
|
||||
licenseType: Store
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
@ -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:
|
@ -0,0 +1,13 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -262940062, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Name: OdinPathLookup
|
||||
m_EditorClassIdentifier:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 08379ccefc05200459f90a1c0711a340
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Odin Inspector/Config.meta
Normal file
8
Assets/Plugins/Sirenix/Odin Inspector/Config.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3dd9d00e7dbc755439acdd1f13d7c9ab
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Odin Inspector/Config/Editor.meta
Normal file
8
Assets/Plugins/Sirenix/Odin Inspector/Config/Editor.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8471bd44e2921404293cec616a456f7a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 511aabfd3b44d5d40a6e4899b8729d67
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,19 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1137305049, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Name: InspectorConfig
|
||||
m_EditorClassIdentifier:
|
||||
enableOdinInInspector: 1
|
||||
defaultEditorBehaviour: 11
|
||||
processMouseMoveInInspector: 1
|
||||
drawingConfig:
|
||||
configs: []
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a9f1d4b27e5a0204dab242c60367b388
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,19 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -228747253, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
|
||||
m_Name: OdinModuleConfig
|
||||
m_EditorClassIdentifier:
|
||||
configurations:
|
||||
- ID: Unity.Mathematics
|
||||
ActivationSettings: 0
|
||||
ModuleTogglingSettings: 1
|
||||
ModuleUpdateSettings: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3434912ae9a0f1341befbbaed7812c70
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cfadab067a1de6145b2ef8a534d57ac5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ac6f098e2968ca41b0e6d0f0edb5adf
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -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: 0
|
||||
HidePrefabCautionaryMessage: 0
|
||||
HideOdinSerializeAttributeWarningMessages: 0
|
||||
HideNonSerializedShowInInspectorWarningMessages: 0
|
||||
buildSerializationFormat: 0
|
||||
editorSerializationFormat: 2
|
||||
loggingPolicy: 0
|
||||
errorHandlingPolicy: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 93b460e2d2df0d74eab6118ce4634b6e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/Plugins/Sirenix/Odin Inspector/Modules.meta
Normal file
8
Assets/Plugins/Sirenix/Odin Inspector/Modules.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15c43f6258d5e2744a11580fe86101e6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 728df0e3465c1a148b83053a3f31d489
|
||||
timeCreated: 1573836981
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4866e740a22eb1e49b1603b051e4d92c
|
||||
timeCreated: 1573836980
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 89ebcbe6da115a34ba0100ad4223f742
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,883 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// <copyright file="MathematicsDrawers.cs" company="Sirenix IVS">
|
||||
// Copyright (c) Sirenix IVS. All rights reserved.
|
||||
// </copyright>
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
namespace Sirenix.OdinInspector.Modules.UnityMathematics.Editor
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using Sirenix.OdinInspector.Editor;
|
||||
using Sirenix.Utilities;
|
||||
using Sirenix.Utilities.Editor;
|
||||
using Unity.Mathematics;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
public sealed class MatrixFloat2x2Processor : MatrixProcessor<float2x2> { }
|
||||
public sealed class MatrixFloat3x2Processor : MatrixProcessor<float3x2> { }
|
||||
public sealed class MatrixFloat4x2Processor : MatrixProcessor<float4x2> { }
|
||||
public sealed class MatrixFloat2x3Processor : MatrixProcessor<float2x3> { }
|
||||
public sealed class MatrixFloat3x3Processor : MatrixProcessor<float3x3> { }
|
||||
public sealed class MatrixFloat4x3Processor : MatrixProcessor<float4x3> { }
|
||||
public sealed class MatrixFloat2x4Processor : MatrixProcessor<float2x4> { }
|
||||
public sealed class MatrixFloat3x4Processor : MatrixProcessor<float3x4> { }
|
||||
public sealed class MatrixFloat4x4Processor : MatrixProcessor<float4x4> { }
|
||||
|
||||
public sealed class MatrixDouble2x2Processor : MatrixProcessor<double2x2> { }
|
||||
public sealed class MatrixDouble3x2Processor : MatrixProcessor<double3x2> { }
|
||||
public sealed class MatrixDouble4x2Processor : MatrixProcessor<double4x2> { }
|
||||
public sealed class MatrixDouble2x3Processor : MatrixProcessor<double2x3> { }
|
||||
public sealed class MatrixDouble3x3Processor : MatrixProcessor<double3x3> { }
|
||||
public sealed class MatrixDouble4x3Processor : MatrixProcessor<double4x3> { }
|
||||
public sealed class MatrixDouble2x4Processor : MatrixProcessor<double2x4> { }
|
||||
public sealed class MatrixDouble3x4Processor : MatrixProcessor<double3x4> { }
|
||||
public sealed class MatrixDouble4x4Processor : MatrixProcessor<double4x4> { }
|
||||
|
||||
public sealed class MatrixBool2x2Processor : MatrixProcessor<bool2x2> { }
|
||||
public sealed class MatrixBool3x2Processor : MatrixProcessor<bool3x2> { }
|
||||
public sealed class MatrixBool4x2Processor : MatrixProcessor<bool4x2> { }
|
||||
public sealed class MatrixBool2x3Processor : MatrixProcessor<bool2x3> { }
|
||||
public sealed class MatrixBool3x3Processor : MatrixProcessor<bool3x3> { }
|
||||
public sealed class MatrixBool4x3Processor : MatrixProcessor<bool4x3> { }
|
||||
public sealed class MatrixBool2x4Processor : MatrixProcessor<bool2x4> { }
|
||||
public sealed class MatrixBool3x4Processor : MatrixProcessor<bool3x4> { }
|
||||
public sealed class MatrixBool4x4Processor : MatrixProcessor<bool4x4> { }
|
||||
|
||||
public sealed class MatrixInt2x2Processor : MatrixProcessor<int2x2> { }
|
||||
public sealed class MatrixInt3x2Processor : MatrixProcessor<int3x2> { }
|
||||
public sealed class MatrixInt4x2Processor : MatrixProcessor<int4x2> { }
|
||||
public sealed class MatrixInt2x3Processor : MatrixProcessor<int2x3> { }
|
||||
public sealed class MatrixInt3x3Processor : MatrixProcessor<int3x3> { }
|
||||
public sealed class MatrixInt4x3Processor : MatrixProcessor<int4x3> { }
|
||||
public sealed class MatrixInt2x4Processor : MatrixProcessor<int2x4> { }
|
||||
public sealed class MatrixInt3x4Processor : MatrixProcessor<int3x4> { }
|
||||
public sealed class MatrixInt4x4Processor : MatrixProcessor<int4x4> { }
|
||||
|
||||
public sealed class MatrixUInt2x2Processor : MatrixProcessor<uint2x2> { }
|
||||
public sealed class MatrixUInt3x2Processor : MatrixProcessor<uint3x2> { }
|
||||
public sealed class MatrixUInt4x2Processor : MatrixProcessor<uint4x2> { }
|
||||
public sealed class MatrixUInt2x3Processor : MatrixProcessor<uint2x3> { }
|
||||
public sealed class MatrixUInt3x3Processor : MatrixProcessor<uint3x3> { }
|
||||
public sealed class MatrixUInt4x3Processor : MatrixProcessor<uint4x3> { }
|
||||
public sealed class MatrixUInt2x4Processor : MatrixProcessor<uint2x4> { }
|
||||
public sealed class MatrixUInt3x4Processor : MatrixProcessor<uint3x4> { }
|
||||
public sealed class MatrixUInt4x4Processor : MatrixProcessor<uint4x4> { }
|
||||
|
||||
public sealed class DisableUnityMatrixDrawerAttribute : Attribute { }
|
||||
|
||||
public abstract class MatrixProcessor<T> : OdinAttributeProcessor<T>
|
||||
{
|
||||
public override void ProcessSelfAttributes(InspectorProperty property, List<Attribute> attributes)
|
||||
{
|
||||
attributes.GetOrAddAttribute<InlinePropertyAttribute>();
|
||||
attributes.GetOrAddAttribute<DisableUnityMatrixDrawerAttribute>();
|
||||
}
|
||||
|
||||
public override void ProcessChildMemberAttributes(InspectorProperty parentProperty, MemberInfo member, List<Attribute> attributes)
|
||||
{
|
||||
attributes.Add(new HideLabelAttribute());
|
||||
attributes.Add(new MatrixChildAttribute());
|
||||
}
|
||||
}
|
||||
|
||||
public class DisableUnityMatrixDrawerAttributeDrawer : OdinAttributeDrawer<DisableUnityMatrixDrawerAttribute>
|
||||
{
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.SkipWhenDrawing = true;
|
||||
var chain = this.Property.GetActiveDrawerChain().BakedDrawerArray;
|
||||
|
||||
for (int i = 0; i < chain.Length; i++)
|
||||
{
|
||||
var type = chain[i].GetType();
|
||||
|
||||
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(UnityPropertyDrawer<,>) && type.GetGenericArguments()[0].Name == "MatrixDrawer")
|
||||
{
|
||||
chain[i].SkipWhenDrawing = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class MatrixChildAttribute : Attribute { }
|
||||
|
||||
public class Bool2Drawer : OdinValueDrawer<bool2>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 100;
|
||||
|
||||
if (label != null)
|
||||
{
|
||||
GUILayout.Space(3); // Ugh, better than nothing
|
||||
}
|
||||
|
||||
var options = GUILayoutOptions.Height(EditorGUIUtility.singleLineHeight);
|
||||
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
GUIHelper.PopLabelWidth();
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class Bool3Drawer : OdinValueDrawer<bool3>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 100;
|
||||
|
||||
if (label != null)
|
||||
{
|
||||
GUILayout.Space(3); // Ugh, better than nothing
|
||||
}
|
||||
|
||||
var options = GUILayoutOptions.Height(EditorGUIUtility.singleLineHeight);
|
||||
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
GUIHelper.PopLabelWidth();
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class Bool4Drawer : OdinValueDrawer<bool4>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 100;
|
||||
|
||||
if (label != null)
|
||||
{
|
||||
GUILayout.Space(3); // Ugh, better than nothing
|
||||
}
|
||||
|
||||
var options = GUILayoutOptions.Height(EditorGUIUtility.singleLineHeight);
|
||||
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
EditorGUILayout.BeginVertical(options);
|
||||
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
|
||||
EditorGUILayout.EndVertical();
|
||||
GUIHelper.PopLabelWidth();
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class Float2Drawer : OdinValueDrawer<float2>, IDefinesGenericMenuItems
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
// Slide rect
|
||||
{
|
||||
var val = this.ValueEntry.SmartValue;
|
||||
EditorGUI.BeginChangeCheck();
|
||||
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector2(val.x, val.y));
|
||||
val = new float2(vec.x, vec.y);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
this.ValueEntry.SmartValue = val;
|
||||
}
|
||||
}
|
||||
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populates the generic menu for the property.
|
||||
/// </summary>
|
||||
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
|
||||
{
|
||||
float2 value = (float2)property.ValueEntry.WeakSmartValue;
|
||||
var vec = new Vector2(value.x, value.y);
|
||||
|
||||
if (genericMenu.GetItemCount() > 0)
|
||||
{
|
||||
genericMenu.AddSeparator("");
|
||||
}
|
||||
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
|
||||
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0)"), vec == Vector2.zero, () => SetVector(property, Vector2.zero));
|
||||
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1)"), vec == Vector2.one, () => SetVector(property, Vector2.one));
|
||||
genericMenu.AddSeparator("");
|
||||
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0)"), vec == Vector2.right, () => SetVector(property, Vector2.right));
|
||||
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0)"), vec == Vector2.left, () => SetVector(property, Vector2.left));
|
||||
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1)"), vec == Vector2.up, () => SetVector(property, Vector2.up));
|
||||
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1)"), vec == Vector2.down, () => SetVector(property, Vector2.down));
|
||||
}
|
||||
|
||||
private void SetVector(InspectorProperty property, Vector2 value)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = new float2(value.x, value.y);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void NormalizeEntries(InspectorProperty property)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = math.normalizesafe((float2)property.ValueEntry.WeakValues[i]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public class Float3Drawer : OdinValueDrawer<float3>, IDefinesGenericMenuItems
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
// Slide rect
|
||||
{
|
||||
var val = this.ValueEntry.SmartValue;
|
||||
EditorGUI.BeginChangeCheck();
|
||||
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector3(val.x, val.y, val.z));
|
||||
val = new float3(vec.x, vec.y, vec.z);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
this.ValueEntry.SmartValue = val;
|
||||
}
|
||||
}
|
||||
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populates the generic menu for the property.
|
||||
/// </summary>
|
||||
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
|
||||
{
|
||||
float3 value = (float3)property.ValueEntry.WeakSmartValue;
|
||||
var vec = new Vector3(value.x, value.y, value.z);
|
||||
|
||||
if (genericMenu.GetItemCount() > 0)
|
||||
{
|
||||
genericMenu.AddSeparator("");
|
||||
}
|
||||
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
|
||||
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0)"), vec == Vector3.zero, () => SetVector(property, Vector3.zero));
|
||||
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1)"), vec == Vector3.one, () => SetVector(property, Vector3.one));
|
||||
genericMenu.AddSeparator("");
|
||||
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0)"), vec == Vector3.right, () => SetVector(property, Vector3.right));
|
||||
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0)"), vec == Vector3.left, () => SetVector(property, Vector3.left));
|
||||
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0)"), vec == Vector3.up, () => SetVector(property, Vector3.up));
|
||||
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0)"), vec == Vector3.down, () => SetVector(property, Vector3.down));
|
||||
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1)"), vec == Vector3.forward, () => SetVector(property, Vector3.forward));
|
||||
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1)"), vec == Vector3.back, () => SetVector(property, Vector3.back));
|
||||
}
|
||||
|
||||
private void SetVector(InspectorProperty property, Vector3 value)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = new float3(value.x, value.y, value.z);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void NormalizeEntries(InspectorProperty property)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = math.normalizesafe((float3)property.ValueEntry.WeakValues[i]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public class Float4Drawer : OdinValueDrawer<float4>, IDefinesGenericMenuItems
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
// Slide rect
|
||||
{
|
||||
var val = this.ValueEntry.SmartValue;
|
||||
EditorGUI.BeginChangeCheck();
|
||||
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector4(val.x, val.y, val.z, val.w));
|
||||
val = new float4(vec.x, vec.y, vec.z, vec.w);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
this.ValueEntry.SmartValue = val;
|
||||
}
|
||||
}
|
||||
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populates the generic menu for the property.
|
||||
/// </summary>
|
||||
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
|
||||
{
|
||||
float4 value = (float4)property.ValueEntry.WeakSmartValue;
|
||||
var vec = new Vector4(value.x, value.y, value.z, value.w);
|
||||
|
||||
if (genericMenu.GetItemCount() > 0)
|
||||
{
|
||||
genericMenu.AddSeparator("");
|
||||
}
|
||||
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
|
||||
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0, 0)"), vec == Vector4.zero, () => SetVector(property, Vector3.zero));
|
||||
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1, 1)"), vec == Vector4.one, () => SetVector(property, Vector4.one));
|
||||
genericMenu.AddSeparator("");
|
||||
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0, 0)"), (Vector3)vec == Vector3.right, () => SetVector(property, Vector3.right));
|
||||
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0, 0)"), (Vector3)vec == Vector3.left, () => SetVector(property, Vector3.left));
|
||||
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0, 0)"), (Vector3)vec == Vector3.up, () => SetVector(property, Vector3.up));
|
||||
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0, 0)"), (Vector3)vec == Vector3.down, () => SetVector(property, Vector3.down));
|
||||
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1, 0)"), (Vector3)vec == Vector3.forward, () => SetVector(property, Vector3.forward));
|
||||
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1, 0)"), (Vector3)vec == Vector3.back, () => SetVector(property, Vector3.back));
|
||||
}
|
||||
|
||||
private void SetVector(InspectorProperty property, Vector4 value)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = new float4(value.x, value.y, value.z, value.w);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void NormalizeEntries(InspectorProperty property)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = math.normalizesafe((float4)property.ValueEntry.WeakValues[i]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class Double2Drawer : OdinValueDrawer<double2>, IDefinesGenericMenuItems
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
// Slide rect
|
||||
{
|
||||
var val = this.ValueEntry.SmartValue;
|
||||
EditorGUI.BeginChangeCheck();
|
||||
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector2((float)val.x, (float)val.y));
|
||||
val = new double2(vec.x, vec.y);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
this.ValueEntry.SmartValue = val;
|
||||
}
|
||||
}
|
||||
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populates the generic menu for the property.
|
||||
/// </summary>
|
||||
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
|
||||
{
|
||||
double2 value = (double2)property.ValueEntry.WeakSmartValue;
|
||||
var vec = new Vector2((float)value.x, (float)value.y);
|
||||
|
||||
if (genericMenu.GetItemCount() > 0)
|
||||
{
|
||||
genericMenu.AddSeparator("");
|
||||
}
|
||||
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
|
||||
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0)"), vec == Vector2.zero, () => SetVector(property, Vector2.zero));
|
||||
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1)"), vec == Vector2.one, () => SetVector(property, Vector2.one));
|
||||
genericMenu.AddSeparator("");
|
||||
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0)"), vec == Vector2.right, () => SetVector(property, Vector2.right));
|
||||
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0)"), vec == Vector2.left, () => SetVector(property, Vector2.left));
|
||||
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1)"), vec == Vector2.up, () => SetVector(property, Vector2.up));
|
||||
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1)"), vec == Vector2.down, () => SetVector(property, Vector2.down));
|
||||
}
|
||||
|
||||
private void SetVector(InspectorProperty property, Vector2 value)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = new double2(value.x, value.y);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void NormalizeEntries(InspectorProperty property)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = math.normalizesafe((double2)property.ValueEntry.WeakValues[i]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public class Double3Drawer : OdinValueDrawer<double3>, IDefinesGenericMenuItems
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
// Slide rect
|
||||
{
|
||||
var val = this.ValueEntry.SmartValue;
|
||||
EditorGUI.BeginChangeCheck();
|
||||
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector3((float)val.x, (float)val.y, (float)val.z));
|
||||
val = new double3(vec.x, vec.y, vec.z);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
this.ValueEntry.SmartValue = val;
|
||||
}
|
||||
}
|
||||
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populates the generic menu for the property.
|
||||
/// </summary>
|
||||
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
|
||||
{
|
||||
double3 value = (double3)property.ValueEntry.WeakSmartValue;
|
||||
var vec = new Vector3((float)value.x, (float)value.y, (float)value.z);
|
||||
|
||||
if (genericMenu.GetItemCount() > 0)
|
||||
{
|
||||
genericMenu.AddSeparator("");
|
||||
}
|
||||
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
|
||||
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0)"), vec == Vector3.zero, () => SetVector(property, Vector3.zero));
|
||||
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1)"), vec == Vector3.one, () => SetVector(property, Vector3.one));
|
||||
genericMenu.AddSeparator("");
|
||||
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0)"), vec == Vector3.right, () => SetVector(property, Vector3.right));
|
||||
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0)"), vec == Vector3.left, () => SetVector(property, Vector3.left));
|
||||
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0)"), vec == Vector3.up, () => SetVector(property, Vector3.up));
|
||||
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0)"), vec == Vector3.down, () => SetVector(property, Vector3.down));
|
||||
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1)"), vec == Vector3.forward, () => SetVector(property, Vector3.forward));
|
||||
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1)"), vec == Vector3.back, () => SetVector(property, Vector3.back));
|
||||
}
|
||||
|
||||
private void SetVector(InspectorProperty property, Vector3 value)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = new double3(value.x, value.y, value.z);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void NormalizeEntries(InspectorProperty property)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = math.normalizesafe((double3)property.ValueEntry.WeakValues[i]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public class Double4Drawer : OdinValueDrawer<double4>, IDefinesGenericMenuItems
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
// Slide rect
|
||||
{
|
||||
var val = this.ValueEntry.SmartValue;
|
||||
EditorGUI.BeginChangeCheck();
|
||||
var vec = SirenixEditorFields.VectorPrefixSlideRect(labelRect, new Vector4((float)val.x, (float)val.y, (float)val.z, (float)val.w));
|
||||
val = new double4(vec.x, vec.y, vec.z, vec.w);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
this.ValueEntry.SmartValue = val;
|
||||
}
|
||||
}
|
||||
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populates the generic menu for the property.
|
||||
/// </summary>
|
||||
public void PopulateGenericMenu(InspectorProperty property, GenericMenu genericMenu)
|
||||
{
|
||||
double4 value = (double4)property.ValueEntry.WeakSmartValue;
|
||||
var vec = new Vector4((float)value.x, (float)value.y, (float)value.z, (float)value.w);
|
||||
|
||||
if (genericMenu.GetItemCount() > 0)
|
||||
{
|
||||
genericMenu.AddSeparator("");
|
||||
}
|
||||
genericMenu.AddItem(new GUIContent("Normalize"), Mathf.Approximately(vec.magnitude, 1f), () => NormalizeEntries(property));
|
||||
genericMenu.AddItem(new GUIContent("Zero", "Set the vector to (0, 0, 0, 0)"), vec == Vector4.zero, () => SetVector(property, Vector3.zero));
|
||||
genericMenu.AddItem(new GUIContent("One", "Set the vector to (1, 1, 1, 1)"), vec == Vector4.one, () => SetVector(property, Vector4.one));
|
||||
genericMenu.AddSeparator("");
|
||||
genericMenu.AddItem(new GUIContent("Right", "Set the vector to (1, 0, 0, 0)"), (Vector3)vec == Vector3.right, () => SetVector(property, Vector3.right));
|
||||
genericMenu.AddItem(new GUIContent("Left", "Set the vector to (-1, 0, 0, 0)"), (Vector3)vec == Vector3.left, () => SetVector(property, Vector3.left));
|
||||
genericMenu.AddItem(new GUIContent("Up", "Set the vector to (0, 1, 0, 0)"), (Vector3)vec == Vector3.up, () => SetVector(property, Vector3.up));
|
||||
genericMenu.AddItem(new GUIContent("Down", "Set the vector to (0, -1, 0, 0)"), (Vector3)vec == Vector3.down, () => SetVector(property, Vector3.down));
|
||||
genericMenu.AddItem(new GUIContent("Forward", "Set the vector property to (0, 0, 1, 0)"), (Vector3)vec == Vector3.forward, () => SetVector(property, Vector3.forward));
|
||||
genericMenu.AddItem(new GUIContent("Back", "Set the vector property to (0, 0, -1, 0)"), (Vector3)vec == Vector3.back, () => SetVector(property, Vector3.back));
|
||||
}
|
||||
|
||||
private void SetVector(InspectorProperty property, Vector4 value)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = new double4(value.x, value.y, value.z, value.w);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void NormalizeEntries(InspectorProperty property)
|
||||
{
|
||||
property.Tree.DelayActionUntilRepaint(() =>
|
||||
{
|
||||
for (int i = 0; i < property.ValueEntry.ValueCount; i++)
|
||||
{
|
||||
property.ValueEntry.WeakValues[i] = math.normalizesafe((double4)property.ValueEntry.WeakValues[i]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public class Int2Drawer : OdinValueDrawer<int2>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class Int3Drawer : OdinValueDrawer<int3>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class Int4Drawer : OdinValueDrawer<int4>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class UInt2Drawer : OdinValueDrawer<uint2>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class UInt3Drawer : OdinValueDrawer<uint3>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public class UInt4Drawer : OdinValueDrawer<uint4>
|
||||
{
|
||||
private bool isMatrixChild;
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.isMatrixChild = this.Property.GetAttribute<MatrixChildAttribute>() != null;
|
||||
}
|
||||
|
||||
protected override void DrawPropertyLayout(GUIContent label)
|
||||
{
|
||||
Rect labelRect;
|
||||
Rect contentRect = SirenixEditorGUI.BeginHorizontalPropertyLayout(label, out labelRect);
|
||||
{
|
||||
var showLabels = !this.isMatrixChild && SirenixEditorFields.ResponsiveVectorComponentFields && contentRect.width >= 185;
|
||||
GUIHelper.PushLabelWidth(SirenixEditorFields.SingleLetterStructLabelWidth);
|
||||
this.ValueEntry.Property.Children[0].Draw(showLabels ? GUIHelper.TempContent("X") : null);
|
||||
this.ValueEntry.Property.Children[1].Draw(showLabels ? GUIHelper.TempContent("Y") : null);
|
||||
this.ValueEntry.Property.Children[2].Draw(showLabels ? GUIHelper.TempContent("Z") : null);
|
||||
this.ValueEntry.Property.Children[3].Draw(showLabels ? GUIHelper.TempContent("W") : null);
|
||||
GUIHelper.PopLabelWidth();
|
||||
|
||||
}
|
||||
SirenixEditorGUI.EndHorizontalPropertyLayout();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74718b273a32d874a9dc3c58269c36b3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Sirenix.OdinInspector.Modules.UnityMathematics",
|
||||
"references": [ "Unity.Mathematics", "Sirenix.OdinInspector.Attributes", "Sirenix.OdinInspector.Editor", "Sirenix.Utilities", "Sirenix.Utilities.Editor" ],
|
||||
"includePlatforms": [ "Editor" ],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": true,
|
||||
"autoReferenced": true,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [ "Sirenix.Utilities.dll", "Sirenix.Utilities.Editor.dll", "Sirenix.OdinInspector.Attributes.dll", "Sirenix.OdinInspector.Editor.dll", "Sirenix.Serialization.dll" ],
|
||||
"defineConstraints": []
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad968d605628d06499b62cdc30f11cf8
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
ManifestVersion: 1
|
||||
ModuleID: Unity.Mathematics
|
||||
ModuleVersion: 1.0.1.0
|
||||
ModuleFiles:
|
||||
MathematicsDrawers.cs
|
||||
MathematicsDrawers.cs.meta
|
||||
Sirenix.OdinInspector.Modules.UnityMathematics.asmdef
|
||||
Sirenix.OdinInspector.Modules.UnityMathematics.asmdef.meta
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 20a5da37e6793fe48a62bf15361324a2
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user