destroyed proj
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 477e251f53db31c4daa72d10a331cf5a
|
guid: e08de2af45a4b6047b119b06afdb8784
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
114
Assets/AddressableAssetsData/AddressableAssetSettings.asset
Normal file
114
Assets/AddressableAssetsData/AddressableAssetSettings.asset
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
%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: 468a46d0ae32c3544b7d98094e6448a9, type: 3}
|
||||||
|
m_Name: AddressableAssetSettings
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_DefaultGroup: bc748cda1de45d8488107d01987d6cf0
|
||||||
|
m_currentHash:
|
||||||
|
serializedVersion: 2
|
||||||
|
Hash: 00000000000000000000000000000000
|
||||||
|
m_OptimizeCatalogSize: 0
|
||||||
|
m_BuildRemoteCatalog: 0
|
||||||
|
m_CatalogRequestsTimeout: 0
|
||||||
|
m_DisableCatalogUpdateOnStart: 0
|
||||||
|
m_InternalIdNamingMode: 0
|
||||||
|
m_InternalBundleIdMode: 1
|
||||||
|
m_AssetLoadMode: 0
|
||||||
|
m_BundledAssetProviderType:
|
||||||
|
m_AssemblyName:
|
||||||
|
m_ClassName:
|
||||||
|
m_AssetBundleProviderType:
|
||||||
|
m_AssemblyName:
|
||||||
|
m_ClassName:
|
||||||
|
m_IgnoreUnsupportedFilesInBuild: 0
|
||||||
|
m_UniqueBundleIds: 0
|
||||||
|
m_EnableJsonCatalog: 0
|
||||||
|
m_NonRecursiveBuilding: 1
|
||||||
|
m_CCDEnabled: 0
|
||||||
|
m_maxConcurrentWebRequests: 3
|
||||||
|
m_UseUWRForLocalBundles: 0
|
||||||
|
m_BundleTimeout: 0
|
||||||
|
m_BundleRetryCount: 0
|
||||||
|
m_BundleRedirectLimit: -1
|
||||||
|
m_SharedBundleSettings: 0
|
||||||
|
m_SharedBundleSettingsCustomGroupIndex: 0
|
||||||
|
m_ContiguousBundles: 1
|
||||||
|
m_StripUnityVersionFromBundleBuild: 0
|
||||||
|
m_DisableVisibleSubAssetRepresentations: 0
|
||||||
|
m_BuiltInBundleNaming: 0
|
||||||
|
mBuiltInBundleCustomNaming:
|
||||||
|
m_MonoScriptBundleNaming: 0
|
||||||
|
m_CheckForContentUpdateRestrictionsOption: 0
|
||||||
|
m_MonoScriptBundleCustomNaming:
|
||||||
|
m_RemoteCatalogBuildPath:
|
||||||
|
m_Id:
|
||||||
|
m_RemoteCatalogLoadPath:
|
||||||
|
m_Id:
|
||||||
|
m_ContentStateBuildPathProfileVariableName:
|
||||||
|
m_CustomContentStateBuildPath:
|
||||||
|
m_ContentStateBuildPath:
|
||||||
|
m_BuildAddressablesWithPlayerBuild: 0
|
||||||
|
m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]'
|
||||||
|
m_GroupAssets:
|
||||||
|
- {fileID: 11400000, guid: 92eaf63d85ebc674eb5cae99dfd97ab8, type: 2}
|
||||||
|
m_BuildSettings:
|
||||||
|
m_LogResourceManagerExceptions: 1
|
||||||
|
m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles
|
||||||
|
m_ProfileSettings:
|
||||||
|
m_Profiles:
|
||||||
|
- m_InheritedParent:
|
||||||
|
m_Id: 70b0881feb138274aa0793424a32f509
|
||||||
|
m_ProfileName: Default
|
||||||
|
m_Values:
|
||||||
|
- m_Id: 018fc3ce3b5c32a4984d1d9fbb67a909
|
||||||
|
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||||
|
- m_Id: 0393be1e21ec9d548a7c104f635942d8
|
||||||
|
m_Value: <undefined>
|
||||||
|
- m_Id: 195f5cf6f639dcd408d8493fce9cae15
|
||||||
|
m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]'
|
||||||
|
- m_Id: 6629386984a3bae46b67354df7aa3dd9
|
||||||
|
m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]'
|
||||||
|
- m_Id: 6a01bc1b152ff9b4bb57c15e07106e5e
|
||||||
|
m_Value: 'ServerData/[BuildTarget]'
|
||||||
|
m_ProfileEntryNames:
|
||||||
|
- m_Id: 018fc3ce3b5c32a4984d1d9fbb67a909
|
||||||
|
m_Name: Local.BuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: 0393be1e21ec9d548a7c104f635942d8
|
||||||
|
m_Name: Remote.LoadPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: 195f5cf6f639dcd408d8493fce9cae15
|
||||||
|
m_Name: BuildTarget
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: 6629386984a3bae46b67354df7aa3dd9
|
||||||
|
m_Name: Local.LoadPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: 6a01bc1b152ff9b4bb57c15e07106e5e
|
||||||
|
m_Name: Remote.BuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
m_ProfileVersion: 1
|
||||||
|
m_LabelTable:
|
||||||
|
m_LabelNames:
|
||||||
|
- default
|
||||||
|
m_SchemaTemplates: []
|
||||||
|
m_GroupTemplateObjects:
|
||||||
|
- {fileID: 11400000, guid: 8f53aef2659c96f458eb1a172a2751aa, type: 2}
|
||||||
|
m_InitializationObjects: []
|
||||||
|
m_CertificateHandlerType:
|
||||||
|
m_AssemblyName:
|
||||||
|
m_ClassName:
|
||||||
|
m_ActivePlayerDataBuilderIndex: 2
|
||||||
|
m_DataBuilders:
|
||||||
|
- {fileID: 11400000, guid: 8dcb874e2f2b8684196a6756e4847cd3, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 0bad587639952fb4faddc0ced2411c87, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 0569e87acc082334facdccab2f2e6d3c, type: 2}
|
||||||
|
m_ActiveProfileId: 70b0881feb138274aa0793424a32f509
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: cd0a0373004116246aa996f6fc5a4dbb
|
guid: 6da7fe9a25e1ab64fa6b4ca4b1074e41
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c1ad1644f34e55a4d912533e416f7c06
|
guid: f60238e0c5114f34290d04e7822a30ba
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-9135795107451069390
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
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: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||||
|
m_Name: BundledAssetGroupSchema
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Group: {fileID: 0}
|
||||||
|
m_InternalBundleIdMode: 1
|
||||||
|
m_Compression: 1
|
||||||
|
m_IncludeAddressInCatalog: 1
|
||||||
|
m_IncludeGUIDInCatalog: 1
|
||||||
|
m_IncludeLabelsInCatalog: 1
|
||||||
|
m_InternalIdNamingMode: 0
|
||||||
|
m_CacheClearBehavior: 0
|
||||||
|
m_IncludeInBuild: 1
|
||||||
|
m_BundledAssetProviderType:
|
||||||
|
m_AssemblyName:
|
||||||
|
m_ClassName:
|
||||||
|
m_ForceUniqueProvider: 0
|
||||||
|
m_UseAssetBundleCache: 1
|
||||||
|
m_UseAssetBundleCrc: 1
|
||||||
|
m_UseAssetBundleCrcForCachedBundles: 1
|
||||||
|
m_UseUWRForLocalBundles: 0
|
||||||
|
m_Timeout: 0
|
||||||
|
m_ChunkedTransfer: 0
|
||||||
|
m_RedirectLimit: -1
|
||||||
|
m_RetryCount: 0
|
||||||
|
m_BuildPath:
|
||||||
|
m_Id:
|
||||||
|
m_LoadPath:
|
||||||
|
m_Id:
|
||||||
|
m_BundleMode: 0
|
||||||
|
m_AssetBundleProviderType:
|
||||||
|
m_AssemblyName:
|
||||||
|
m_ClassName:
|
||||||
|
m_UseDefaultSchemaSettings: 0
|
||||||
|
m_SelectedPathPairIndex: 0
|
||||||
|
m_BundleNaming: 0
|
||||||
|
m_AssetLoadMode: 0
|
||||||
|
--- !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: 1a3c5d64ac83548c09dd1678b9f6f1cd, type: 3}
|
||||||
|
m_Name: Packed Assets
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_SchemaObjects:
|
||||||
|
- {fileID: -9135795107451069390}
|
||||||
|
- {fileID: 19628808413638517}
|
||||||
|
m_Description: Pack assets into asset bundles.
|
||||||
|
m_Settings: {fileID: 11400000, guid: 6da7fe9a25e1ab64fa6b4ca4b1074e41, type: 2}
|
||||||
|
--- !u!114 &19628808413638517
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
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: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||||
|
m_Name: ContentUpdateGroupSchema
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Group: {fileID: 0}
|
||||||
|
m_StaticContent: 0
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 8dbc756213844754099dfa00bb8a0e1c
|
guid: 8f53aef2659c96f458eb1a172a2751aa
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
8
Assets/AddressableAssetsData/AssetGroups.meta
Normal file
8
Assets/AddressableAssetsData/AssetGroups.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 058affda123cfef469f642bdd7f0f404
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||||
|
m_Name: Default Local Group
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_GroupName: Default Local Group
|
||||||
|
m_GUID: bc748cda1de45d8488107d01987d6cf0
|
||||||
|
m_SerializeEntries:
|
||||||
|
- m_GUID: 99c9720ab356a0642a771bea13969a05
|
||||||
|
m_Address: Assets/Dev/dev_gamemode_main.unity
|
||||||
|
m_ReadOnly: 0
|
||||||
|
m_SerializedLabels: []
|
||||||
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
|
- m_GUID: c5a555fd0308dc546b2a31af07869f90
|
||||||
|
m_Address: Packages/com.rebootreality.rebootkit/Runtime/Assets/FPPKit/Prefabs/FPPSetup.prefab
|
||||||
|
m_ReadOnly: 0
|
||||||
|
m_SerializedLabels: []
|
||||||
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
|
m_ReadOnly: 0
|
||||||
|
m_Settings: {fileID: 11400000, guid: 6da7fe9a25e1ab64fa6b4ca4b1074e41, type: 2}
|
||||||
|
m_SchemaSet:
|
||||||
|
m_Schemas:
|
||||||
|
- {fileID: 11400000, guid: b667883b96e76a047ba3d63794b28821, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 9f1cf36a5e2492f4283ea2c6192b6777, type: 2}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: ed71246d15e0b49489a7b30565fe399a
|
guid: 92eaf63d85ebc674eb5cae99dfd97ab8
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
8
Assets/AddressableAssetsData/AssetGroups/Schemas.meta
Normal file
8
Assets/AddressableAssetsData/AssetGroups/Schemas.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b091fe28258d90743b56102aceaae802
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
%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: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||||
|
m_Name: Default Local Group_BundledAssetGroupSchema
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Group: {fileID: 11400000, guid: 92eaf63d85ebc674eb5cae99dfd97ab8, type: 2}
|
||||||
|
m_InternalBundleIdMode: 1
|
||||||
|
m_Compression: 1
|
||||||
|
m_IncludeAddressInCatalog: 1
|
||||||
|
m_IncludeGUIDInCatalog: 1
|
||||||
|
m_IncludeLabelsInCatalog: 1
|
||||||
|
m_InternalIdNamingMode: 0
|
||||||
|
m_CacheClearBehavior: 0
|
||||||
|
m_IncludeInBuild: 1
|
||||||
|
m_BundledAssetProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
|
||||||
|
m_ForceUniqueProvider: 0
|
||||||
|
m_UseAssetBundleCache: 1
|
||||||
|
m_UseAssetBundleCrc: 1
|
||||||
|
m_UseAssetBundleCrcForCachedBundles: 1
|
||||||
|
m_UseUWRForLocalBundles: 0
|
||||||
|
m_Timeout: 0
|
||||||
|
m_ChunkedTransfer: 0
|
||||||
|
m_RedirectLimit: -1
|
||||||
|
m_RetryCount: 0
|
||||||
|
m_BuildPath:
|
||||||
|
m_Id: 018fc3ce3b5c32a4984d1d9fbb67a909
|
||||||
|
m_LoadPath:
|
||||||
|
m_Id: 6629386984a3bae46b67354df7aa3dd9
|
||||||
|
m_BundleMode: 0
|
||||||
|
m_AssetBundleProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
|
||||||
|
m_UseDefaultSchemaSettings: 0
|
||||||
|
m_SelectedPathPairIndex: 0
|
||||||
|
m_BundleNaming: 0
|
||||||
|
m_AssetLoadMode: 0
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 5e5151b700607a64ab4bd379fe585868
|
guid: b667883b96e76a047ba3d63794b28821
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
%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: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||||
|
m_Name: Default Local Group_ContentUpdateGroupSchema
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Group: {fileID: 11400000, guid: 92eaf63d85ebc674eb5cae99dfd97ab8, type: 2}
|
||||||
|
m_StaticContent: 0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9f1cf36a5e2492f4283ea2c6192b6777
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
8
Assets/AddressableAssetsData/DataBuilders.meta
Normal file
8
Assets/AddressableAssetsData/DataBuilders.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4884ec52c30f9da489a5f6773a8babe5
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -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: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3}
|
||||||
|
m_Name: BuildScriptFastMode
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
instanceProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider
|
||||||
|
sceneProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8dcb874e2f2b8684196a6756e4847cd3
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -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: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3}
|
||||||
|
m_Name: BuildScriptPackedMode
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
instanceProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider
|
||||||
|
sceneProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0569e87acc082334facdccab2f2e6d3c
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -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: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3}
|
||||||
|
m_Name: BuildScriptPackedPlayMode
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
instanceProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider
|
||||||
|
sceneProviderType:
|
||||||
|
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||||
|
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0bad587639952fb4faddc0ced2411c87
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
15
Assets/AddressableAssetsData/DefaultObject.asset
Normal file
15
Assets/AddressableAssetsData/DefaultObject.asset
Normal 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: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3}
|
||||||
|
m_Name: DefaultObject
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_AddressableAssetSettingsGuid: 6da7fe9a25e1ab64fa6b4ca4b1074e41
|
||||||
8
Assets/AddressableAssetsData/DefaultObject.asset.meta
Normal file
8
Assets/AddressableAssetsData/DefaultObject.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c8d42b7835d2aed4ab2248118e3f239d
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
5
Assets/Code/GameConsts.cs
Normal file
5
Assets/Code/GameConsts.cs
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
namespace Code {
|
||||||
|
public static class GameConsts {
|
||||||
|
public const string AssetMenu = "Posadzka/";
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Code/GameConsts.cs.meta
Normal file
3
Assets/Code/GameConsts.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f207d27fba454fc99f43d0fadbdd6dcc
|
||||||
|
timeCreated: 1741208863
|
||||||
30
Assets/Code/GameplayGameMode.cs
Normal file
30
Assets/Code/GameplayGameMode.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using System.Threading;
|
||||||
|
using Code;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
using RebootKit.Engine;
|
||||||
|
using RebootKit.Engine.Foundation;
|
||||||
|
|
||||||
|
namespace posadzka.code {
|
||||||
|
public class GameplayGameModeController : IController {
|
||||||
|
private GameplayGameModeAsset.Config _config;
|
||||||
|
|
||||||
|
public GameplayGameModeController(GameplayGameModeAsset.Config config) {
|
||||||
|
_config = config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public async UniTask OnStart(CancellationToken cancellationToken) {
|
||||||
|
await RR.World().Load(_config.WorldConfig.Config);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnStop() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnTick() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
22
Assets/Code/GameplayGameModeAsset.cs
Normal file
22
Assets/Code/GameplayGameModeAsset.cs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using posadzka.code;
|
||||||
|
using RebootKit.Engine.Services.Game;
|
||||||
|
using RebootKit.Engine.Services.Simulation;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Code {
|
||||||
|
[CreateAssetMenu(menuName = GameConsts.AssetMenu + "Gameplay Game Mode")]
|
||||||
|
public class GameplayGameModeAsset : GameModeAsset {
|
||||||
|
[Serializable]
|
||||||
|
public class Config {
|
||||||
|
public WorldConfigAsset WorldConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private Config _config;
|
||||||
|
|
||||||
|
public override void ConfigureGameMode(GameMode gameMode) {
|
||||||
|
gameMode.AddController(new GameplayGameModeController(_config));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Code/GameplayGameModeAsset.cs.meta
Normal file
3
Assets/Code/GameplayGameModeAsset.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4cd7e49de6a6445e8c74a7c236483322
|
||||||
|
timeCreated: 1741208836
|
||||||
17
Assets/Code/posadzka.asmdef
Normal file
17
Assets/Code/posadzka.asmdef
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "posadzka",
|
||||||
|
"rootNamespace": "posadzka",
|
||||||
|
"references": [
|
||||||
|
"GUID:284059c7949783646b281a1b815580e6",
|
||||||
|
"GUID:f51ebe6a0ceec4240a699833d6309b23"
|
||||||
|
],
|
||||||
|
"includePlatforms": [],
|
||||||
|
"excludePlatforms": [],
|
||||||
|
"allowUnsafeCode": false,
|
||||||
|
"overrideReferences": false,
|
||||||
|
"precompiledReferences": [],
|
||||||
|
"autoReferenced": true,
|
||||||
|
"defineConstraints": [],
|
||||||
|
"versionDefines": [],
|
||||||
|
"noEngineReferences": false
|
||||||
|
}
|
||||||
7
Assets/Code/posadzka.asmdef.meta
Normal file
7
Assets/Code/posadzka.asmdef.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1f08ebe8a61f0c84e811ab1f7e9d1080
|
||||||
|
AssemblyDefinitionImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -1,5 +1,260 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-8299899638604294112
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 70afe9e12c7a7ed47911bb608a23a8ff, type: 3}
|
||||||
|
m_Name: SplitToning
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
shadows:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
|
highlights:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
|
balance:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &-6260248028241132399
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 0b2db86121404754db890f4c8dfe81b2, type: 3}
|
||||||
|
m_Name: Bloom
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
skipIterations:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
threshold:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.9
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
scatter:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.7
|
||||||
|
clamp:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 65472
|
||||||
|
tint:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
highQualityFiltering:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
downscale:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
maxIterations:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 6
|
||||||
|
dirtTexture:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {fileID: 0}
|
||||||
|
dimension: 1
|
||||||
|
dirtIntensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &-5609251016017277293
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 6bd486065ce11414fa40e631affc4900, type: 3}
|
||||||
|
m_Name: ProbeVolumesOptions
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
normalBias:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.05
|
||||||
|
viewBias:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.1
|
||||||
|
scaleBiasWithMinProbeDistance:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
samplingNoise:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.1
|
||||||
|
animateSamplingNoise:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
leakReductionMode:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 2
|
||||||
|
minValidDotProductValue:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.1
|
||||||
|
occlusionOnlyReflectionNormalization:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
intensityMultiplier:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
skyOcclusionIntensityMultiplier:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
worldOffset:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &-3459710295462755850
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: c5e1dc532bcb41949b58bc4f2abfbb7e, type: 3}
|
||||||
|
m_Name: LensDistortion
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
xMultiplier:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
yMultiplier:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
center:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 0.5, y: 0.5}
|
||||||
|
scale:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
--- !u!114 &-2673905870377860765
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 221518ef91623a7438a71fef23660601, type: 3}
|
||||||
|
m_Name: WhiteBalance
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
temperature:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
tint:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &-1929290040497888066
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: c01700fd266d6914ababb731e09af2eb, type: 3}
|
||||||
|
m_Name: DepthOfField
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
mode:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
gaussianStart:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 10
|
||||||
|
gaussianEnd:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 30
|
||||||
|
gaussianMaxRadius:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
highQualitySampling:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
focusDistance:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 10
|
||||||
|
aperture:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 5.6
|
||||||
|
focalLength:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 50
|
||||||
|
bladeCount:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 5
|
||||||
|
bladeCurvature:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
bladeRotation:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &-1899571858441854302
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 29fa0085f50d5e54f8144f766051a691, type: 3}
|
||||||
|
m_Name: FilmGrain
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
type:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
response:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.8
|
||||||
|
texture:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {fileID: 0}
|
||||||
|
--- !u!114 &-1547716678389945873
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 5485954d14dfb9a4c8ead8edb0ded5b1, type: 3}
|
||||||
|
m_Name: LiftGammaGain
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
lift:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 1, y: 1, z: 1, w: 0}
|
||||||
|
gamma:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 1, y: 1, z: 1, w: 0}
|
||||||
|
gain:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 1, y: 1, z: 1, w: 0}
|
||||||
--- !u!114 &11400000
|
--- !u!114 &11400000
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -12,4 +267,529 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
|
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
|
||||||
m_Name: DefaultVolumeProfile
|
m_Name: DefaultVolumeProfile
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
components: []
|
components:
|
||||||
|
- {fileID: 6134922300343424433}
|
||||||
|
- {fileID: 3701952890792375117}
|
||||||
|
- {fileID: 7236618996094458840}
|
||||||
|
- {fileID: -1899571858441854302}
|
||||||
|
- {fileID: -1547716678389945873}
|
||||||
|
- {fileID: 7933365599458753573}
|
||||||
|
- {fileID: 5726565210832562111}
|
||||||
|
- {fileID: -1929290040497888066}
|
||||||
|
- {fileID: 6056855497371471870}
|
||||||
|
- {fileID: -2673905870377860765}
|
||||||
|
- {fileID: -6260248028241132399}
|
||||||
|
- {fileID: -3459710295462755850}
|
||||||
|
- {fileID: 7621875663918567143}
|
||||||
|
- {fileID: 7142826232866814168}
|
||||||
|
- {fileID: -8299899638604294112}
|
||||||
|
- {fileID: 4799091489421839365}
|
||||||
|
- {fileID: 464747032197062586}
|
||||||
|
- {fileID: 7800253976762326728}
|
||||||
|
- {fileID: -5609251016017277293}
|
||||||
|
--- !u!114 &464747032197062586
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: fb60a22f311433c4c962b888d1393f88, type: 3}
|
||||||
|
m_Name: PaniniProjection
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
distance:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
cropToFit:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
--- !u!114 &3701952890792375117
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 3eb4b772797da9440885e8bd939e9560, type: 3}
|
||||||
|
m_Name: ColorCurves
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
master:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 2
|
||||||
|
m_Loop: 0
|
||||||
|
m_ZeroValue: 0
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
red:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 2
|
||||||
|
m_Loop: 0
|
||||||
|
m_ZeroValue: 0
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
green:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 2
|
||||||
|
m_Loop: 0
|
||||||
|
m_ZeroValue: 0
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
blue:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 2
|
||||||
|
m_Loop: 0
|
||||||
|
m_ZeroValue: 0
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 1
|
||||||
|
outSlope: 1
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
hueVsHue:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 0
|
||||||
|
m_Loop: 1
|
||||||
|
m_ZeroValue: 0.5
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve: []
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
hueVsSat:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 0
|
||||||
|
m_Loop: 1
|
||||||
|
m_ZeroValue: 0.5
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve: []
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
satVsSat:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 0
|
||||||
|
m_Loop: 0
|
||||||
|
m_ZeroValue: 0.5
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve: []
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
lumVsSat:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value:
|
||||||
|
<length>k__BackingField: 0
|
||||||
|
m_Loop: 0
|
||||||
|
m_ZeroValue: 0.5
|
||||||
|
m_Range: 1
|
||||||
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve: []
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
--- !u!114 &4799091489421839365
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: e021b4c809a781e468c2988c016ebbea, type: 3}
|
||||||
|
m_Name: ColorLookup
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
texture:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {fileID: 0}
|
||||||
|
dimension: 1
|
||||||
|
contribution:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &5726565210832562111
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 81180773991d8724ab7f2d216912b564, type: 3}
|
||||||
|
m_Name: ChromaticAberration
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &6056855497371471870
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 06437c1ff663d574d9447842ba0a72e4, type: 3}
|
||||||
|
m_Name: ScreenSpaceLensFlare
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
tintColor:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bloomMip:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
firstFlareIntensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
secondaryFlareIntensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
warpedFlareIntensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
warpedFlareScale:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 1, y: 1}
|
||||||
|
samples:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
sampleDimmer:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.5
|
||||||
|
vignetteEffect:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
startingPosition:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1.25
|
||||||
|
scale:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1.5
|
||||||
|
streaksIntensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
streaksLength:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.5
|
||||||
|
streaksOrientation:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
streaksThreshold:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.25
|
||||||
|
resolution:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 4
|
||||||
|
chromaticAbberationIntensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.5
|
||||||
|
--- !u!114 &6134922300343424433
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: cdfbdbb87d3286943a057f7791b43141, type: 3}
|
||||||
|
m_Name: ChannelMixer
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
redOutRedIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 100
|
||||||
|
redOutGreenIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
redOutBlueIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
greenOutRedIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
greenOutGreenIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 100
|
||||||
|
greenOutBlueIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
blueOutRedIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
blueOutGreenIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
blueOutBlueIn:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 100
|
||||||
|
--- !u!114 &7142826232866814168
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 97c23e3b12dc18c42a140437e53d3951, type: 3}
|
||||||
|
m_Name: Tonemapping
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
mode:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
neutralHDRRangeReductionMode:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 2
|
||||||
|
acesPreset:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 3
|
||||||
|
hueShiftAmount:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
detectPaperWhite:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
paperWhite:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 300
|
||||||
|
detectBrightnessLimits:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
minNits:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.005
|
||||||
|
maxNits:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1000
|
||||||
|
--- !u!114 &7236618996094458840
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 899c54efeace73346a0a16faa3afe726, type: 3}
|
||||||
|
m_Name: Vignette
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
color:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
center:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 0.5, y: 0.5}
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
smoothness:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.2
|
||||||
|
rounded:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &7621875663918567143
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 66f335fb1ffd8684294ad653bf1c7564, type: 3}
|
||||||
|
m_Name: ColorAdjustments
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
postExposure:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
contrast:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
colorFilter:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
hueShift:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
saturation:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
--- !u!114 &7800253976762326728
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: 558a8e2b6826cf840aae193990ba9f2e, type: 3}
|
||||||
|
m_Name: ShadowsMidtonesHighlights
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
shadows:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 1, y: 1, z: 1, w: 0}
|
||||||
|
midtones:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 1, y: 1, z: 1, w: 0}
|
||||||
|
highlights:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: {x: 1, y: 1, z: 1, w: 0}
|
||||||
|
shadowsStart:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
shadowsEnd:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.3
|
||||||
|
highlightsStart:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.55
|
||||||
|
highlightsEnd:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 1
|
||||||
|
--- !u!114 &7933365599458753573
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 3
|
||||||
|
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: ccf1aba9553839d41ae37dd52e9ebcce, type: 3}
|
||||||
|
m_Name: MotionBlur
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
active: 1
|
||||||
|
mode:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
quality:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
intensity:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0
|
||||||
|
clamp:
|
||||||
|
m_OverrideState: 1
|
||||||
|
m_Value: 0.05
|
||||||
|
|||||||
8
Assets/Dev.meta
Normal file
8
Assets/Dev.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e39b320578909fe48b0c48f5f3b0a044
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -13,7 +13,7 @@ OcclusionCullingSettings:
|
|||||||
--- !u!104 &2
|
--- !u!104 &2
|
||||||
RenderSettings:
|
RenderSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 9
|
serializedVersion: 10
|
||||||
m_Fog: 0
|
m_Fog: 0
|
||||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
m_FogMode: 3
|
m_FogMode: 3
|
||||||
@@ -42,8 +42,8 @@ RenderSettings:
|
|||||||
--- !u!157 &3
|
--- !u!157 &3
|
||||||
LightmapSettings:
|
LightmapSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 12
|
serializedVersion: 13
|
||||||
m_GIWorkflowMode: 1
|
m_BakeOnSceneLoad: 0
|
||||||
m_GISettings:
|
m_GISettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_BounceScale: 1
|
m_BounceScale: 1
|
||||||
@@ -66,9 +66,6 @@ LightmapSettings:
|
|||||||
m_LightmapParameters: {fileID: 0}
|
m_LightmapParameters: {fileID: 0}
|
||||||
m_LightmapsBakeMode: 1
|
m_LightmapsBakeMode: 1
|
||||||
m_TextureCompression: 1
|
m_TextureCompression: 1
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_ReflectionCompression: 2
|
m_ReflectionCompression: 2
|
||||||
m_MixedBakeMode: 2
|
m_MixedBakeMode: 2
|
||||||
m_BakeBackend: 1
|
m_BakeBackend: 1
|
||||||
@@ -179,6 +176,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -227,90 +227,6 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &9010203
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 9010207}
|
|
||||||
- component: {fileID: 9010206}
|
|
||||||
- component: {fileID: 9010205}
|
|
||||||
m_Layer: 5
|
|
||||||
m_Name: CanvasCrosshair
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!114 &9010205
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9010203}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_UiScaleMode: 0
|
|
||||||
m_ReferencePixelsPerUnit: 100
|
|
||||||
m_ScaleFactor: 1
|
|
||||||
m_ReferenceResolution: {x: 800, y: 600}
|
|
||||||
m_ScreenMatchMode: 0
|
|
||||||
m_MatchWidthOrHeight: 0
|
|
||||||
m_PhysicalUnit: 3
|
|
||||||
m_FallbackScreenDPI: 96
|
|
||||||
m_DefaultSpriteDPI: 96
|
|
||||||
m_DynamicPixelsPerUnit: 1
|
|
||||||
m_PresetInfoIsWorld: 0
|
|
||||||
--- !u!223 &9010206
|
|
||||||
Canvas:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9010203}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_RenderMode: 0
|
|
||||||
m_Camera: {fileID: 330585545}
|
|
||||||
m_PlaneDistance: 0.1
|
|
||||||
m_PixelPerfect: 0
|
|
||||||
m_ReceivesEvents: 1
|
|
||||||
m_OverrideSorting: 0
|
|
||||||
m_OverridePixelPerfect: 0
|
|
||||||
m_SortingBucketNormalizedSize: 0
|
|
||||||
m_VertexColorAlwaysGammaSpace: 1
|
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
|
||||||
m_UpdateRectTransformForStandalone: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
--- !u!224 &9010207
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9010203}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 503175864}
|
|
||||||
m_Father: {fileID: 330585546}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0, y: 0}
|
|
||||||
--- !u!1001 &9266861
|
--- !u!1001 &9266861
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -437,6 +353,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -644,179 +563,6 @@ MeshCollider:
|
|||||||
m_Convex: 1
|
m_Convex: 1
|
||||||
m_CookingOptions: 30
|
m_CookingOptions: 30
|
||||||
m_Mesh: {fileID: 4731840015933613875, guid: 5cefbb3c9ca215b448e9af676cb1aa4f, type: 3}
|
m_Mesh: {fileID: 4731840015933613875, guid: 5cefbb3c9ca215b448e9af676cb1aa4f, type: 3}
|
||||||
--- !u!1 &330585543
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 330585546}
|
|
||||||
- component: {fileID: 330585545}
|
|
||||||
- component: {fileID: 330585544}
|
|
||||||
- component: {fileID: 330585547}
|
|
||||||
- component: {fileID: 330585548}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Main Camera
|
|
||||||
m_TagString: MainCamera
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!81 &330585544
|
|
||||||
AudioListener:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 330585543}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!20 &330585545
|
|
||||||
Camera:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 330585543}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ClearFlags: 1
|
|
||||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
|
||||||
m_projectionMatrixMode: 1
|
|
||||||
m_GateFitMode: 2
|
|
||||||
m_FOVAxisMode: 0
|
|
||||||
m_Iso: 200
|
|
||||||
m_ShutterSpeed: 0.005
|
|
||||||
m_Aperture: 16
|
|
||||||
m_FocusDistance: 10
|
|
||||||
m_FocalLength: 50
|
|
||||||
m_BladeCount: 5
|
|
||||||
m_Curvature: {x: 2, y: 11}
|
|
||||||
m_BarrelClipping: 0.25
|
|
||||||
m_Anamorphism: 0
|
|
||||||
m_SensorSize: {x: 36, y: 24}
|
|
||||||
m_LensShift: {x: 0, y: 0}
|
|
||||||
m_NormalizedViewPortRect:
|
|
||||||
serializedVersion: 2
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
near clip plane: 0.3
|
|
||||||
far clip plane: 1000
|
|
||||||
field of view: 80
|
|
||||||
orthographic: 0
|
|
||||||
orthographic size: 5
|
|
||||||
m_Depth: -1
|
|
||||||
m_CullingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_RenderingPath: -1
|
|
||||||
m_TargetTexture: {fileID: 0}
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
m_TargetEye: 3
|
|
||||||
m_HDR: 1
|
|
||||||
m_AllowMSAA: 1
|
|
||||||
m_AllowDynamicResolution: 0
|
|
||||||
m_ForceIntoRT: 0
|
|
||||||
m_OcclusionCulling: 1
|
|
||||||
m_StereoConvergence: 10
|
|
||||||
m_StereoSeparation: 0.022
|
|
||||||
--- !u!4 &330585546
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 330585543}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 1.75, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 9010207}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &330585547
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 330585543}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_RenderShadows: 1
|
|
||||||
m_RequiresDepthTextureOption: 2
|
|
||||||
m_RequiresOpaqueTextureOption: 2
|
|
||||||
m_CameraType: 0
|
|
||||||
m_Cameras: []
|
|
||||||
m_RendererIndex: -1
|
|
||||||
m_VolumeLayerMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 1
|
|
||||||
m_VolumeTrigger: {fileID: 0}
|
|
||||||
m_VolumeFrameworkUpdateModeOption: 2
|
|
||||||
m_RenderPostProcessing: 1
|
|
||||||
m_Antialiasing: 0
|
|
||||||
m_AntialiasingQuality: 2
|
|
||||||
m_StopNaN: 0
|
|
||||||
m_Dithering: 0
|
|
||||||
m_ClearDepth: 1
|
|
||||||
m_AllowXRRendering: 1
|
|
||||||
m_AllowHDROutput: 1
|
|
||||||
m_UseScreenCoordOverride: 0
|
|
||||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_RequiresDepthTexture: 0
|
|
||||||
m_RequiresColorTexture: 0
|
|
||||||
m_Version: 2
|
|
||||||
m_TaaSettings:
|
|
||||||
m_Quality: 3
|
|
||||||
m_FrameInfluence: 0.1
|
|
||||||
m_JitterScale: 1
|
|
||||||
m_MipBias: 0
|
|
||||||
m_VarianceClampScale: 0.9
|
|
||||||
m_ContrastAdaptiveSharpening: 0
|
|
||||||
--- !u!114 &330585548
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 330585543}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_ShowDebugText: 0
|
|
||||||
m_ShowCameraFrustum: 1
|
|
||||||
m_IgnoreTimeScale: 0
|
|
||||||
m_WorldUpOverride: {fileID: 0}
|
|
||||||
m_UpdateMethod: 2
|
|
||||||
m_BlendUpdateMethod: 1
|
|
||||||
m_DefaultBlend:
|
|
||||||
m_Style: 0
|
|
||||||
m_Time: 2
|
|
||||||
m_CustomCurve:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Curve: []
|
|
||||||
m_PreInfinity: 2
|
|
||||||
m_PostInfinity: 2
|
|
||||||
m_RotationOrder: 4
|
|
||||||
m_CustomBlends: {fileID: 0}
|
|
||||||
m_CameraCutEvent:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_CameraActivatedEvent:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!1 &340121189
|
--- !u!1 &340121189
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -867,6 +613,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -957,6 +706,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -1218,81 +970,6 @@ Rigidbody:
|
|||||||
m_Interpolate: 0
|
m_Interpolate: 0
|
||||||
m_Constraints: 0
|
m_Constraints: 0
|
||||||
m_CollisionDetection: 1
|
m_CollisionDetection: 1
|
||||||
--- !u!1 &503175863
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 503175864}
|
|
||||||
- component: {fileID: 503175866}
|
|
||||||
- component: {fileID: 503175865}
|
|
||||||
m_Layer: 5
|
|
||||||
m_Name: Crosshair
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &503175864
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 503175863}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 9010207}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 39, y: 39}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &503175865
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 503175863}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 0.9716981, g: 0.91266793, b: 0.8479441, a: 0.19215687}
|
|
||||||
m_RaycastTarget: 1
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_Sprite: {fileID: -2006807628, guid: f68ccc14f83f6a74586729066501e5ee, type: 3}
|
|
||||||
m_Type: 0
|
|
||||||
m_PreserveAspect: 0
|
|
||||||
m_FillCenter: 1
|
|
||||||
m_FillMethod: 4
|
|
||||||
m_FillAmount: 1
|
|
||||||
m_FillClockwise: 1
|
|
||||||
m_FillOrigin: 0
|
|
||||||
m_UseSpriteMesh: 0
|
|
||||||
m_PixelsPerUnitMultiplier: 1
|
|
||||||
--- !u!222 &503175866
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 503175863}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!1 &503687363
|
--- !u!1 &503687363
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1343,6 +1020,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -1557,6 +1237,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -1707,9 +1390,8 @@ Light:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 765481450}
|
m_GameObject: {fileID: 765481450}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 10
|
serializedVersion: 11
|
||||||
m_Type: 1
|
m_Type: 1
|
||||||
m_Shape: 0
|
|
||||||
m_Color: {r: 0.0072089583, g: 0.26792687, b: 0.509434, a: 1}
|
m_Color: {r: 0.0072089583, g: 0.26792687, b: 0.509434, a: 1}
|
||||||
m_Intensity: 0.1
|
m_Intensity: 0.1
|
||||||
m_Range: 10
|
m_Range: 10
|
||||||
@@ -1759,8 +1441,12 @@ Light:
|
|||||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_UseBoundingSphereOverride: 0
|
m_UseBoundingSphereOverride: 0
|
||||||
m_UseViewFrustumForShadowCasterCull: 1
|
m_UseViewFrustumForShadowCasterCull: 1
|
||||||
|
m_ForceVisible: 0
|
||||||
m_ShadowRadius: 0
|
m_ShadowRadius: 0
|
||||||
m_ShadowAngle: 0
|
m_ShadowAngle: 0
|
||||||
|
m_LightUnit: 1
|
||||||
|
m_LuxAtDistance: 1
|
||||||
|
m_EnableSpotReflector: 1
|
||||||
--- !u!4 &765481453
|
--- !u!4 &765481453
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1826,6 +1512,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -1909,6 +1598,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -2041,6 +1733,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -2338,6 +2033,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -2421,6 +2119,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -2504,6 +2205,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -2587,6 +2291,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -2710,8 +2417,7 @@ LightingSettings:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name:
|
m_Name:
|
||||||
serializedVersion: 6
|
serializedVersion: 9
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_EnableBakedLightmaps: 1
|
m_EnableBakedLightmaps: 1
|
||||||
m_EnableRealtimeLightmaps: 0
|
m_EnableRealtimeLightmaps: 0
|
||||||
m_RealtimeEnvironmentLighting: 1
|
m_RealtimeEnvironmentLighting: 1
|
||||||
@@ -2721,6 +2427,8 @@ LightingSettings:
|
|||||||
m_UsingShadowmask: 1
|
m_UsingShadowmask: 1
|
||||||
m_BakeBackend: 1
|
m_BakeBackend: 1
|
||||||
m_LightmapMaxSize: 1024
|
m_LightmapMaxSize: 1024
|
||||||
|
m_LightmapSizeFixed: 0
|
||||||
|
m_UseMipmapLimits: 1
|
||||||
m_BakeResolution: 40
|
m_BakeResolution: 40
|
||||||
m_Padding: 2
|
m_Padding: 2
|
||||||
m_LightmapCompression: 3
|
m_LightmapCompression: 3
|
||||||
@@ -2734,13 +2442,11 @@ LightingSettings:
|
|||||||
m_FilterMode: 1
|
m_FilterMode: 1
|
||||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
m_ExportTrainingData: 0
|
m_ExportTrainingData: 0
|
||||||
|
m_EnableWorkerProcessBaking: 1
|
||||||
m_TrainingDataDestination: TrainingData
|
m_TrainingDataDestination: TrainingData
|
||||||
m_RealtimeResolution: 2
|
m_RealtimeResolution: 2
|
||||||
m_ForceWhiteAlbedo: 0
|
m_ForceWhiteAlbedo: 0
|
||||||
m_ForceUpdates: 0
|
m_ForceUpdates: 0
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_PVRCulling: 1
|
m_PVRCulling: 1
|
||||||
m_PVRSampling: 1
|
m_PVRSampling: 1
|
||||||
m_PVRDirectSampleCount: 32
|
m_PVRDirectSampleCount: 32
|
||||||
@@ -2764,99 +2470,7 @@ LightingSettings:
|
|||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||||
m_PVRTiledBaking: 0
|
|
||||||
m_NumRaysToShootPerTexel: -1
|
|
||||||
m_RespectSceneVisibilityWhenBakingGI: 0
|
m_RespectSceneVisibilityWhenBakingGI: 0
|
||||||
--- !u!1 &1676266384
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1676266387}
|
|
||||||
- component: {fileID: 1676266386}
|
|
||||||
- component: {fileID: 1676266388}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: EventSystem
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!114 &1676266386
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1676266384}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_FirstSelected: {fileID: 0}
|
|
||||||
m_sendNavigationEvents: 1
|
|
||||||
m_DragThreshold: 10
|
|
||||||
--- !u!4 &1676266387
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1676266384}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &1676266388
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1676266384}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_SendPointerHoverToParent: 1
|
|
||||||
m_MoveRepeatDelay: 0.5
|
|
||||||
m_MoveRepeatRate: 0.1
|
|
||||||
m_XRTrackingOrigin: {fileID: 0}
|
|
||||||
m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018,
|
|
||||||
type: 3}
|
|
||||||
m_DeselectOnBackgroundClick: 1
|
|
||||||
m_PointerBehavior: 0
|
|
||||||
m_CursorLockBehavior: 0
|
|
||||||
m_ScrollDeltaPerTick: 6
|
|
||||||
--- !u!1 &1695603700
|
--- !u!1 &1695603700
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3155,9 +2769,8 @@ Light:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1901684836}
|
m_GameObject: {fileID: 1901684836}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 10
|
serializedVersion: 11
|
||||||
m_Type: 2
|
m_Type: 2
|
||||||
m_Shape: 0
|
|
||||||
m_Color: {r: 1, g: 0.9833402, b: 0.1745283, a: 1}
|
m_Color: {r: 1, g: 0.9833402, b: 0.1745283, a: 1}
|
||||||
m_Intensity: 10.25
|
m_Intensity: 10.25
|
||||||
m_Range: 10
|
m_Range: 10
|
||||||
@@ -3207,8 +2820,12 @@ Light:
|
|||||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_UseBoundingSphereOverride: 0
|
m_UseBoundingSphereOverride: 0
|
||||||
m_UseViewFrustumForShadowCasterCull: 1
|
m_UseViewFrustumForShadowCasterCull: 1
|
||||||
|
m_ForceVisible: 0
|
||||||
m_ShadowRadius: 0
|
m_ShadowRadius: 0
|
||||||
m_ShadowAngle: 0
|
m_ShadowAngle: 0
|
||||||
|
m_LightUnit: 1
|
||||||
|
m_LuxAtDistance: 1
|
||||||
|
m_EnableSpotReflector: 1
|
||||||
--- !u!1 &1954528286
|
--- !u!1 &1954528286
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3258,9 +2875,8 @@ Light:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1954528286}
|
m_GameObject: {fileID: 1954528286}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 10
|
serializedVersion: 11
|
||||||
m_Type: 0
|
m_Type: 0
|
||||||
m_Shape: 0
|
|
||||||
m_Color: {r: 0.9622642, g: 0.95139134, b: 0.8033998, a: 1}
|
m_Color: {r: 0.9622642, g: 0.95139134, b: 0.8033998, a: 1}
|
||||||
m_Intensity: 34.08
|
m_Intensity: 34.08
|
||||||
m_Range: 10
|
m_Range: 10
|
||||||
@@ -3310,8 +2926,12 @@ Light:
|
|||||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_UseBoundingSphereOverride: 0
|
m_UseBoundingSphereOverride: 0
|
||||||
m_UseViewFrustumForShadowCasterCull: 1
|
m_UseViewFrustumForShadowCasterCull: 1
|
||||||
|
m_ForceVisible: 0
|
||||||
m_ShadowRadius: 0
|
m_ShadowRadius: 0
|
||||||
m_ShadowAngle: 0
|
m_ShadowAngle: 0
|
||||||
|
m_LightUnit: 1
|
||||||
|
m_LuxAtDistance: 1
|
||||||
|
m_EnableSpotReflector: 1
|
||||||
--- !u!4 &1954528289
|
--- !u!4 &1954528289
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3384,6 +3004,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RayTraceProcedural: 0
|
m_RayTraceProcedural: 0
|
||||||
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
@@ -3436,7 +3059,6 @@ Transform:
|
|||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_Roots:
|
m_Roots:
|
||||||
- {fileID: 330585546}
|
|
||||||
- {fileID: 832575519}
|
- {fileID: 832575519}
|
||||||
- {fileID: 341739537}
|
- {fileID: 341739537}
|
||||||
- {fileID: 2081706525}
|
- {fileID: 2081706525}
|
||||||
@@ -3450,7 +3072,6 @@ SceneRoots:
|
|||||||
- {fileID: 1060675711}
|
- {fileID: 1060675711}
|
||||||
- {fileID: 140873045}
|
- {fileID: 140873045}
|
||||||
- {fileID: 512784095}
|
- {fileID: 512784095}
|
||||||
- {fileID: 1676266387}
|
|
||||||
- {fileID: 8186777}
|
- {fileID: 8186777}
|
||||||
- {fileID: 423578102}
|
- {fileID: 423578102}
|
||||||
- {fileID: 1099951389}
|
- {fileID: 1099951389}
|
||||||
8
Assets/Plugins.meta
Normal file
8
Assets/Plugins.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2e119bbe05ada6643a93c09e9b57c5ca
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
8
Assets/Plugins/Borodar.meta
Normal file
8
Assets/Plugins/Borodar.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fd056298735624f468ee28a35bb7faac
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
8
Assets/Plugins/Borodar/RainbowHierarchy.meta
Normal file
8
Assets/Plugins/Borodar/RainbowHierarchy.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8828e73deeb9a1245bc9dcc11bffba30
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
8
Assets/Plugins/Borodar/RainbowHierarchy/Demo.meta
Normal file
8
Assets/Plugins/Borodar/RainbowHierarchy/Demo.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6eeab58dea03d6649b73b74861f55312
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
1447
Assets/Plugins/Borodar/RainbowHierarchy/Demo/DemoColors.unity
Normal file
1447
Assets/Plugins/Borodar/RainbowHierarchy/Demo/DemoColors.unity
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,15 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 31f20cb97742f2f4d948452249a89d6d
|
||||||
|
timeCreated: 1502706485
|
||||||
|
licenseType: Store
|
||||||
|
DefaultImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Demo/DemoColors.unity
|
||||||
|
uploadId: 716077
|
||||||
1447
Assets/Plugins/Borodar/RainbowHierarchy/Demo/DemoComponents.unity
Normal file
1447
Assets/Plugins/Borodar/RainbowHierarchy/Demo/DemoComponents.unity
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,15 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aa2219c016490de4ea3249875a0fdc97
|
||||||
|
timeCreated: 1502706485
|
||||||
|
licenseType: Store
|
||||||
|
DefaultImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Demo/DemoComponents.unity
|
||||||
|
uploadId: 716077
|
||||||
6
Assets/Plugins/Borodar/RainbowHierarchy/NOTICES.txt
Normal file
6
Assets/Plugins/Borodar/RainbowHierarchy/NOTICES.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
This software includes third-party software subject to the associated copyrights, as follows:
|
||||||
|
|
||||||
|
Name: Unity-Reorderable-List
|
||||||
|
Repo: https://github.com/cfoulston/Unity-Reorderable-List
|
||||||
|
License: MIT (https://github.com/cfoulston/Unity-Reorderable-List/blob/master/LICENSE)
|
||||||
|
Copyright (c) 2017 Chris Foulston
|
||||||
14
Assets/Plugins/Borodar/RainbowHierarchy/NOTICES.txt.meta
Normal file
14
Assets/Plugins/Borodar/RainbowHierarchy/NOTICES.txt.meta
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 080d95922e5bb36408c013f72c278870
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/NOTICES.txt
|
||||||
|
uploadId: 716077
|
||||||
BIN
Assets/Plugins/Borodar/RainbowHierarchy/QuickStart.pdf
Normal file
BIN
Assets/Plugins/Borodar/RainbowHierarchy/QuickStart.pdf
Normal file
Binary file not shown.
14
Assets/Plugins/Borodar/RainbowHierarchy/QuickStart.pdf.meta
Normal file
14
Assets/Plugins/Borodar/RainbowHierarchy/QuickStart.pdf.meta
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 338f04d1760f4ca49a47e14bb0bf4e9e
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/QuickStart.pdf
|
||||||
|
uploadId: 716077
|
||||||
8
Assets/Plugins/Borodar/RainbowHierarchy/Scripts.meta
Normal file
8
Assets/Plugins/Borodar/RainbowHierarchy/Scripts.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4d28b25f9acea2446a92a376b467f673
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3a4659fa6059d5c41a7154e883f8a9c7
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c0e52a2f833afe545b555cb1edb01dcd
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[SuppressMessage("ReSharper", "ConvertIfStatementToNullCoalescingExpression")]
|
||||||
|
public static class ColorHelper
|
||||||
|
{
|
||||||
|
public static readonly Color POPUP_BORDER_CLR_FREE = new Color(0.51f, 0.51f, 0.51f);
|
||||||
|
public static readonly Color POPUP_BORDER_CLR_PRO = new Color(0.13f, 0.13f, 0.13f);
|
||||||
|
|
||||||
|
public static readonly Color POPUP_BACKGROUND_CLR_FREE = new Color(0.83f, 0.83f, 0.83f);
|
||||||
|
public static readonly Color POPUP_BACKGROUND_CLR_PRO = new Color(0.18f, 0.18f, 0.18f);
|
||||||
|
|
||||||
|
public static readonly Color SEPARATOR_CLR_1_FREE = new Color(0.65f, 0.65f, 0.65f, 1f);
|
||||||
|
public static readonly Color SEPARATOR_CLR_2_FREE = new Color(0.9f, 0.9f, 0.9f, 1f);
|
||||||
|
public static readonly Color SEPARATOR_CLR_1_PRO = new Color(0.13f, 0.13f, 0.13f, 1f);
|
||||||
|
public static readonly Color SEPARATOR_CLR_2_PRO = new Color(0.22f, 0.22f, 0.22f, 1f);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f5afe207c4e956942a1f9bef022c3a98
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Helpers/ColorHelper.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,227 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[SuppressMessage("ReSharper", "ConvertIfStatementToNullCoalescingExpression")]
|
||||||
|
public static class HierarchyEditorUtility
|
||||||
|
{
|
||||||
|
private static Texture2D _editIcon;
|
||||||
|
private static Texture2D _settingsIcon;
|
||||||
|
private static Texture2D _filterIcon;
|
||||||
|
private static Texture2D _deleteIcon;
|
||||||
|
|
||||||
|
private static Texture2D _foldoutFirstIcon;
|
||||||
|
private static Texture2D _foldoutMiddleIcon;
|
||||||
|
private static Texture2D _foldoutLastIcon;
|
||||||
|
private static Texture2D _foldoutLevelsIcon;
|
||||||
|
|
||||||
|
private static string _projectName;
|
||||||
|
private static string _projectPath;
|
||||||
|
private static string _tempDir;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Project
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "InvertIf")]
|
||||||
|
public static string ProjectName
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_projectName == null)
|
||||||
|
{
|
||||||
|
var path = Application.dataPath.Split('/');
|
||||||
|
_projectName = path[path.Length - 2];
|
||||||
|
}
|
||||||
|
|
||||||
|
return _projectName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "InvertIf")]
|
||||||
|
public static string ProjectPath
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_projectPath == null)
|
||||||
|
{
|
||||||
|
_projectPath = Path.GetDirectoryName(Application.dataPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _projectPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "InvertIf")]
|
||||||
|
public static string TempDir
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_tempDir == null)
|
||||||
|
{
|
||||||
|
_tempDir = $"{ProjectPath}/Temp";
|
||||||
|
}
|
||||||
|
|
||||||
|
return _tempDir;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Windows
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static IEnumerable<EditorWindow> GetAllWindowsByType(string type)
|
||||||
|
{
|
||||||
|
var objectList = Resources.FindObjectsOfTypeAll(typeof(EditorWindow));
|
||||||
|
var windows = from obj in objectList where obj.GetType().ToString() == type select (EditorWindow) obj;
|
||||||
|
return windows;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Scene
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static void UpdateSceneConfigVisibility(bool isVisible)
|
||||||
|
{
|
||||||
|
var rulesetInstances = HierarchyRulesetV2.Instances;
|
||||||
|
if (rulesetInstances == null || rulesetInstances.Count < 1) return;
|
||||||
|
|
||||||
|
foreach (var ruleset in rulesetInstances)
|
||||||
|
{
|
||||||
|
if (ruleset == null) return;
|
||||||
|
ruleset.transform.hideFlags = isVisible
|
||||||
|
? HideFlags.None
|
||||||
|
: HideFlags.HideInHierarchy;
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorApplication.DirtyHierarchyWindowSorting();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string GetTransformPath(Transform transform)
|
||||||
|
{
|
||||||
|
var path = transform.name;
|
||||||
|
while (transform.parent != null)
|
||||||
|
{
|
||||||
|
transform = transform.parent;
|
||||||
|
path = $"{transform.name}/{path}";
|
||||||
|
}
|
||||||
|
return $"/{path}";
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// GUI
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static bool SearchField(ref string query, ref Enum filter, Enum defaultFilter, params GUILayoutOption[] options)
|
||||||
|
{
|
||||||
|
var queryBefore = query;
|
||||||
|
var filterBefore = filter;
|
||||||
|
var changed = false;
|
||||||
|
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
var queryRect = GUILayoutUtility.GetRect(GUIContent.none, "ToolbarSearchTextFieldPopup", options);
|
||||||
|
queryRect.x += 2f;
|
||||||
|
queryRect.width -= 13f;
|
||||||
|
|
||||||
|
var filterRect = queryRect;
|
||||||
|
filterRect.width = 20f;
|
||||||
|
|
||||||
|
filter = EditorGUI.EnumPopup(filterRect, filter, "label");
|
||||||
|
if (!Equals(filter, filterBefore)) changed = true;
|
||||||
|
|
||||||
|
query = EditorGUI.TextField(queryRect, GUIContent.none, query, "ToolbarSearchTextField");
|
||||||
|
if (query != null && !query.Equals(queryBefore)) changed = true;
|
||||||
|
|
||||||
|
var cancelRect = queryRect;
|
||||||
|
cancelRect.x += queryRect.width;
|
||||||
|
cancelRect.width = 12f;
|
||||||
|
if (GUI.Button(cancelRect, GUIContent.none, "ToolbarSearchCancelButton"))
|
||||||
|
{
|
||||||
|
query = string.Empty;
|
||||||
|
filter = defaultFilter;
|
||||||
|
changed = true;
|
||||||
|
// workaround for bug with selected text
|
||||||
|
GUIUtility.keyboardControl = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
return changed;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Icons
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static Texture2D GetEditIcon()
|
||||||
|
{
|
||||||
|
return GetTexture(ref _editIcon, HierarchyEditorTexture.IcnEdit);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Texture2D GetSettingsButtonIcon()
|
||||||
|
{
|
||||||
|
return GetTexture(ref _settingsIcon, HierarchyEditorTexture.IcnSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Texture2D GetFilterButtonIcon()
|
||||||
|
{
|
||||||
|
return GetTexture(ref _filterIcon, HierarchyEditorTexture.IcnFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Texture2D GetDeleteButtonIcon()
|
||||||
|
{
|
||||||
|
return GetTexture(ref _deleteIcon, HierarchyEditorTexture.IcnDelete);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Texture2D GetFoldoutIcon(SiblingIndex index)
|
||||||
|
{
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case SiblingIndex.First:
|
||||||
|
return GetTexture(ref _foldoutFirstIcon, HierarchyEditorTexture.IcnFoldoutFirst);
|
||||||
|
case SiblingIndex.Middle:
|
||||||
|
return GetTexture(ref _foldoutMiddleIcon, HierarchyEditorTexture.IcnFoldoutMiddle);
|
||||||
|
case SiblingIndex.Last:
|
||||||
|
return GetTexture(ref _foldoutLastIcon, HierarchyEditorTexture.IcnFoldoutLast);
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException("index", index, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Texture2D GetFoldoutLevelsIcon()
|
||||||
|
{
|
||||||
|
return GetTexture(ref _foldoutLevelsIcon, HierarchyEditorTexture.IcnFoldoutLevels);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static Texture2D GetTexture(ref Texture2D texture, HierarchyEditorTexture type)
|
||||||
|
{
|
||||||
|
if (texture == null)
|
||||||
|
texture = HierarchyEditorTexturesStorage.GetTexture(type);
|
||||||
|
|
||||||
|
return texture;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Nested
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public enum SiblingIndex
|
||||||
|
{
|
||||||
|
First,
|
||||||
|
Middle,
|
||||||
|
Last
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 706f956b3ade11845b3ebc2c47f0fe00
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Helpers/HierarchyEditorUtility.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEditor.IMGUI.Controls;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[InitializeOnLoad]
|
||||||
|
public static class HierarchyWindowAdapter
|
||||||
|
{
|
||||||
|
private const string EDITOR_WINDOW_TYPE = "UnityEditor.SceneHierarchyWindow";
|
||||||
|
private const double EDITOR_WINDOWS_CACHE_TTL = 2;
|
||||||
|
|
||||||
|
private const BindingFlags INSTANCE_PRIVATE = BindingFlags.Instance | BindingFlags.NonPublic;
|
||||||
|
private const BindingFlags INSTANCE_PUBLIC = BindingFlags.Instance | BindingFlags.Public;
|
||||||
|
|
||||||
|
private static readonly FieldInfo SCENE_HIERARCHY_FIELD;
|
||||||
|
private static readonly FieldInfo TREE_VIEW_FIELD;
|
||||||
|
private static readonly PropertyInfo TREE_VIEW_DATA_PROPERTY;
|
||||||
|
private static readonly MethodInfo TREE_VIEW_ITEMS_METHOD;
|
||||||
|
private static readonly PropertyInfo TREE_VIEW_OBJECT_PROPERTY;
|
||||||
|
|
||||||
|
// Windows cache
|
||||||
|
private static double _nextWindowsUpdate;
|
||||||
|
private static EditorWindow[] _windowsCache;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Ctor
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
static HierarchyWindowAdapter()
|
||||||
|
{
|
||||||
|
// Reflection
|
||||||
|
|
||||||
|
var assembly = Assembly.GetAssembly(typeof(EditorWindow));
|
||||||
|
|
||||||
|
var hierarchyWindowType = assembly.GetType("UnityEditor.SceneHierarchyWindow");
|
||||||
|
SCENE_HIERARCHY_FIELD = hierarchyWindowType.GetField("m_SceneHierarchy", INSTANCE_PRIVATE);
|
||||||
|
|
||||||
|
var sceneHierarchyType = assembly.GetType("UnityEditor.SceneHierarchy");
|
||||||
|
TREE_VIEW_FIELD = sceneHierarchyType.GetField("m_TreeView", INSTANCE_PRIVATE);
|
||||||
|
|
||||||
|
var treeViewType = assembly.GetType("UnityEditor.IMGUI.Controls.TreeViewController");
|
||||||
|
TREE_VIEW_DATA_PROPERTY = treeViewType.GetProperty("data", INSTANCE_PUBLIC);
|
||||||
|
|
||||||
|
var treeViewDataType = assembly.GetType("UnityEditor.GameObjectTreeViewDataSource");
|
||||||
|
TREE_VIEW_ITEMS_METHOD = treeViewDataType.GetMethod("GetRows", INSTANCE_PUBLIC);
|
||||||
|
|
||||||
|
var treeViewItem = assembly.GetType("UnityEditor.GameObjectTreeViewItem");
|
||||||
|
TREE_VIEW_OBJECT_PROPERTY = treeViewItem.GetProperty("objectPPTR", INSTANCE_PUBLIC);
|
||||||
|
|
||||||
|
// Callbacks
|
||||||
|
|
||||||
|
HierarchyRulesetV2.OnRulesetChangeCallback += ApplyDefaultIconsToAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static EditorWindow GetFirstHierarchyWindow()
|
||||||
|
{
|
||||||
|
return GetAllHierarchyWindows().FirstOrDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
|
||||||
|
[SuppressMessage("ReSharper", "InvertIf")]
|
||||||
|
public static IEnumerable<EditorWindow> GetAllHierarchyWindows(bool forceUpdate = false)
|
||||||
|
{
|
||||||
|
if (forceUpdate || _nextWindowsUpdate < EditorApplication.timeSinceStartup)
|
||||||
|
{
|
||||||
|
_nextWindowsUpdate = EditorApplication.timeSinceStartup + EDITOR_WINDOWS_CACHE_TTL;
|
||||||
|
_windowsCache = HierarchyEditorUtility.GetAllWindowsByType(EDITOR_WINDOW_TYPE).ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
return _windowsCache;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ApplyIconByInstanceId(int instanceId, Texture2D icon)
|
||||||
|
{
|
||||||
|
var hierarchyWindows = GetAllHierarchyWindows();
|
||||||
|
|
||||||
|
foreach (var window in hierarchyWindows)
|
||||||
|
{
|
||||||
|
var treeViewItems = GetTreeViewItems(window);
|
||||||
|
var treeViewItem = treeViewItems.FirstOrDefault(item => item.id == instanceId);
|
||||||
|
if (treeViewItem != null) treeViewItem.icon = icon;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static IEnumerable<TreeViewItem> GetTreeViewItems(EditorWindow window)
|
||||||
|
{
|
||||||
|
var sceneHierarchy = SCENE_HIERARCHY_FIELD.GetValue(window);
|
||||||
|
var treeView = TREE_VIEW_FIELD.GetValue(sceneHierarchy);
|
||||||
|
var treeViewData = TREE_VIEW_DATA_PROPERTY.GetValue(treeView, null);
|
||||||
|
var treeViewItems = (IEnumerable<TreeViewItem>) TREE_VIEW_ITEMS_METHOD.Invoke(treeViewData, null);
|
||||||
|
|
||||||
|
return treeViewItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ApplyDefaultIconsToAll()
|
||||||
|
{
|
||||||
|
var hierarchyWindows = GetAllHierarchyWindows(true);
|
||||||
|
foreach (var window in hierarchyWindows)
|
||||||
|
{
|
||||||
|
var treeViewItems = GetTreeViewItems(window);
|
||||||
|
foreach (var item in treeViewItems)
|
||||||
|
{
|
||||||
|
var gameObject = TREE_VIEW_OBJECT_PROPERTY.GetValue(item, null);
|
||||||
|
if (gameObject == null) continue;
|
||||||
|
item.icon = PrefabUtility.GetIconForGameObject((GameObject) gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EditorApplication.RepaintHierarchyWindow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f23b31e6bba538a4cae0907091949e50
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Helpers/HierarchyWindowAdapter.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
internal static class RHLogger
|
||||||
|
{
|
||||||
|
private const string TAG = "<b>[RH]</b>";
|
||||||
|
|
||||||
|
public static void Log(string message)
|
||||||
|
{
|
||||||
|
Debug.Log($"{TAG} {message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void LogWarning(string message)
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"{TAG} {message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void LogError(string message)
|
||||||
|
{
|
||||||
|
Debug.LogError($"{TAG} {message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7f02ac93f4c0323408795cc555a9241b
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Helpers/RHLogger.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1b51128ba8e08d8498b38a08a4377290
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
using System.IO;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEditor.SceneManagement;
|
||||||
|
using UnityEngine;
|
||||||
|
using static Borodar.RainbowHierarchy.HierarchyRulesetV2;
|
||||||
|
using static Borodar.RainbowHierarchy.RHLogger;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[InitializeOnLoad]
|
||||||
|
public static class EditorProxyInitializer
|
||||||
|
{
|
||||||
|
static EditorProxyInitializer()
|
||||||
|
{
|
||||||
|
HierarchyEditorProxy.UpdateOldRuleset = (gameObject) =>
|
||||||
|
{
|
||||||
|
var dialogResult = EditorUtility.DisplayDialog
|
||||||
|
(
|
||||||
|
"Rainbow Hierarchy Update",
|
||||||
|
"This scene contains a ruleset from the older Rainbow Hierarchy version. Do you want to update it now?",
|
||||||
|
"Yes",
|
||||||
|
"No"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!dialogResult) return;
|
||||||
|
|
||||||
|
var scene = gameObject.scene;
|
||||||
|
var sceneName = scene.name;
|
||||||
|
var filePath = $"{HierarchyEditorUtility.TempDir}/{sceneName}.{EXTENSION}";
|
||||||
|
|
||||||
|
// Export old ruleset and override version
|
||||||
|
if (gameObject.TryGetComponent<HierarchyRuleset>(out var rulesetV1))
|
||||||
|
{
|
||||||
|
HierarchyRulesetExporter.ExportRulesetV1(rulesetV1, filePath);
|
||||||
|
Object.DestroyImmediate(rulesetV1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogError($"Cannot find ruleset component on: {gameObject.name}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gameObject.AddComponent<HierarchyRulesetV2>();
|
||||||
|
|
||||||
|
// Import ruleset data (all upgrade steps will be done automatically)
|
||||||
|
HierarchyRulesetImporter.ImportRuleset(filePath);
|
||||||
|
EditorSceneManager.SaveScene(scene);
|
||||||
|
File.Delete(filePath);
|
||||||
|
|
||||||
|
Log($"Ruleset successfully updated to latest version: {sceneName}");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 490a06b1f08a54f43aee59f4a25d7580
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Port/EditorProxyInitializer.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using static Borodar.RainbowHierarchy.HierarchyRulesetV2;
|
||||||
|
using static Borodar.RainbowHierarchy.RHLogger;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
public static class HierarchyRulesetExporter
|
||||||
|
{
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static void Export()
|
||||||
|
{
|
||||||
|
var dirPath = EditorUtility.SaveFolderPanel("Export Rulesets", "", "");
|
||||||
|
if (string.IsNullOrEmpty(dirPath)) return;
|
||||||
|
|
||||||
|
ExportRuleset(dirPath);
|
||||||
|
ExportCustomIcons(dirPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ExportRulesetV1(HierarchyRuleset ruleset, string filePath)
|
||||||
|
{
|
||||||
|
ConvertObjectRefsToPathsV1(ruleset);
|
||||||
|
|
||||||
|
var rulesetJson = EditorJsonUtility.ToJson(ruleset);
|
||||||
|
var wrapper = new HierarchyRulesetWrapper {
|
||||||
|
Version = HierarchyRuleset.VERSION,
|
||||||
|
RulesetJson = rulesetJson
|
||||||
|
};
|
||||||
|
var wrapperJson = EditorJsonUtility.ToJson(wrapper, true);
|
||||||
|
|
||||||
|
File.WriteAllText(filePath, wrapperJson);
|
||||||
|
|
||||||
|
Log($"Ruleset successfully exported:\n{filePath}");
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void ExportRuleset(string dirPath)
|
||||||
|
{
|
||||||
|
foreach (var ruleset in Instances)
|
||||||
|
{
|
||||||
|
ConvertObjectRefsToPaths(ruleset);
|
||||||
|
|
||||||
|
var rulesetJson = EditorJsonUtility.ToJson(ruleset);
|
||||||
|
var wrapper = new HierarchyRulesetWrapper { RulesetJson = rulesetJson };
|
||||||
|
var wrapperJson = EditorJsonUtility.ToJson(wrapper, true);
|
||||||
|
|
||||||
|
var sceneName = ruleset.gameObject.scene.name;
|
||||||
|
var filePath = $"{dirPath}/{sceneName}.{EXTENSION}";
|
||||||
|
|
||||||
|
File.WriteAllText(filePath, wrapperJson);
|
||||||
|
|
||||||
|
Log($"Ruleset successfully exported:\n{filePath}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ConvertObjectRefsToPaths(HierarchyRulesetV2 ruleset)
|
||||||
|
{
|
||||||
|
foreach (var rule in ruleset.Rules)
|
||||||
|
{
|
||||||
|
if (rule.Type != HierarchyRule.KeyType.Object) continue;
|
||||||
|
if (rule.GameObject == null) continue;
|
||||||
|
|
||||||
|
var transform = rule.GameObject.transform;
|
||||||
|
var path = HierarchyEditorUtility.GetTransformPath(transform);
|
||||||
|
|
||||||
|
rule.Name = path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ConvertObjectRefsToPathsV1(HierarchyRuleset ruleset)
|
||||||
|
{
|
||||||
|
foreach (var rule in ruleset.Rules)
|
||||||
|
{
|
||||||
|
if (rule.Type != HierarchyRule.KeyType.Object) continue;
|
||||||
|
if (rule.GameObject == null) continue;
|
||||||
|
|
||||||
|
var transform = rule.GameObject.transform;
|
||||||
|
var path = HierarchyEditorUtility.GetTransformPath(transform);
|
||||||
|
|
||||||
|
rule.Name = path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ExportCustomIcons(string dirPath)
|
||||||
|
{
|
||||||
|
foreach (var ruleset in Instances)
|
||||||
|
{
|
||||||
|
var roots = new Object[] { ruleset };
|
||||||
|
var allDependencies = EditorUtility.CollectDependencies(roots);
|
||||||
|
|
||||||
|
var textureDependencies = (from dependency in allDependencies
|
||||||
|
where dependency is Texture2D
|
||||||
|
select AssetDatabase.GetAssetPath(dependency))
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
var sceneName = ruleset.gameObject.scene.name;
|
||||||
|
|
||||||
|
if (!textureDependencies.Any())
|
||||||
|
{
|
||||||
|
Log($"There is no custom icons in ruleset: {sceneName}.\nSkipping package export.");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var packagePath = $"{dirPath}/{sceneName}.unitypackage";
|
||||||
|
AssetDatabase.ExportPackage(textureDependencies, packagePath);
|
||||||
|
|
||||||
|
Log($"Package with custom icons successfully exported:\n{packagePath}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fb37551f26ecf5249ad80c84af95358f
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Port/HierarchyRulesetExporter.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,131 @@
|
|||||||
|
using System.IO;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.SceneManagement;
|
||||||
|
using static Borodar.RainbowHierarchy.HierarchyRulesetV2;
|
||||||
|
using static Borodar.RainbowHierarchy.RHLogger;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
public static class HierarchyRulesetImporter
|
||||||
|
{
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static void Import()
|
||||||
|
{
|
||||||
|
var path = EditorUtility.OpenFilePanel("Import Ruleset", "", EXTENSION);
|
||||||
|
if (string.IsNullOrEmpty(path)) return;
|
||||||
|
|
||||||
|
ImportCustomIcons(path);
|
||||||
|
ImportRuleset(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ImportRuleset(string path)
|
||||||
|
{
|
||||||
|
var wrapperJson = File.ReadAllText(path);
|
||||||
|
var wrapper = new HierarchyRulesetWrapper();
|
||||||
|
EditorJsonUtility.FromJsonOverwrite(wrapperJson, wrapper);
|
||||||
|
|
||||||
|
if (wrapper.Version < VERSION)
|
||||||
|
{
|
||||||
|
UpdateFromOlderVersions(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
var activeScene = SceneManager.GetActiveScene();
|
||||||
|
var activeRuleset = GetRulesetByScene(activeScene, true);
|
||||||
|
|
||||||
|
Undo.RecordObject(activeRuleset, "Hierarchy Ruleset Import");
|
||||||
|
EditorJsonUtility.FromJsonOverwrite(wrapper.RulesetJson, activeRuleset);
|
||||||
|
|
||||||
|
ConvertPathsToObjectRefs(activeRuleset);
|
||||||
|
|
||||||
|
Log("Ruleset successfully imported.");
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void UpdateFromOlderVersions(HierarchyRulesetWrapper wrapper)
|
||||||
|
{
|
||||||
|
if (wrapper.Version <= 1)
|
||||||
|
{
|
||||||
|
// Convert all icon IDs to xxx00 (e.g 5432 -> 543200)
|
||||||
|
wrapper.RulesetJson = Regex.Replace(
|
||||||
|
wrapper.RulesetJson,
|
||||||
|
"\"IconType\":[1-9]\\d*",
|
||||||
|
match => $"{match}00");
|
||||||
|
|
||||||
|
// Convert all background IDs to xxx00 (e.g 5432 -> 543200)
|
||||||
|
wrapper.RulesetJson = Regex.Replace(
|
||||||
|
wrapper.RulesetJson,
|
||||||
|
"\"BackgroundType\":[1-9]\\d*",
|
||||||
|
match => $"{match}00");
|
||||||
|
|
||||||
|
// Replace particular values
|
||||||
|
wrapper.RulesetJson = wrapper.RulesetJson
|
||||||
|
// General
|
||||||
|
.Replace("\"IconType\":100000,", "\"IconType\":125650,") // CmpAssemblyDefinitionAsset
|
||||||
|
.Replace("\"IconType\":101000,", "\"IconType\":125250,") // CmpCsScript
|
||||||
|
.Replace("\"IconType\":102000,", "\"IconType\":125000,") // CmpDefaultAsset
|
||||||
|
.Replace("\"IconType\":111000,", "\"IconType\":125750,") // CmpShader
|
||||||
|
.Replace("\"IconType\":112000,", "\"IconType\":125150,") // CmpTextAsset
|
||||||
|
.Replace("\"IconType\":115000,", "\"IconType\":125550,") // CmpVisualTreeAsset
|
||||||
|
// Miscellaneous
|
||||||
|
.Replace("\"IconType\":181000,", "\"IconType\":117000,") // Animation
|
||||||
|
.Replace("\"IconType\":182000,", "\"IconType\":117350,") // Animator
|
||||||
|
// Rendering
|
||||||
|
.Replace("\"IconType\":293000,", "\"IconType\":169500,") // Light
|
||||||
|
.Replace("\"IconType\":294000,", "\"IconType\":169550,") // LightProbeGroup
|
||||||
|
.Replace("\"IconType\":295000,", "\"IconType\":169560,") // LightProbeProxyVolume
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ConvertPathsToObjectRefs(HierarchyRulesetV2 ruleset)
|
||||||
|
{
|
||||||
|
for (var i = ruleset.Rules.Count - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
var rule = ruleset.Rules[i];
|
||||||
|
if (rule.Type != HierarchyRule.KeyType.Object) continue;
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(rule.Name))
|
||||||
|
{
|
||||||
|
ruleset.Rules.RemoveAt(i);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var gameObject = GameObject.Find(rule.Name);
|
||||||
|
if (gameObject != null)
|
||||||
|
{
|
||||||
|
// Replace
|
||||||
|
rule.GameObject = gameObject;
|
||||||
|
rule.Name = string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Delete
|
||||||
|
ruleset.Rules.RemoveAt(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ImportCustomIcons(string path)
|
||||||
|
{
|
||||||
|
var importDir = Path.GetDirectoryName(path);
|
||||||
|
var importFileName = Path.GetFileNameWithoutExtension(path);
|
||||||
|
var packagePath = $"{importDir}/{importFileName}.unitypackage";
|
||||||
|
|
||||||
|
if (!File.Exists(packagePath))
|
||||||
|
{
|
||||||
|
Log("There is no package with custom icons. Skipping package import.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
AssetDatabase.ImportPackage(packagePath, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5163ed631bd3bed4e90800fb96800cac
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Port/HierarchyRulesetImporter.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
internal sealed class HierarchyRulesetWrapper
|
||||||
|
{
|
||||||
|
#pragma warning disable 414
|
||||||
|
public int Version = HierarchyRulesetV2.VERSION;
|
||||||
|
#pragma warning restore 414
|
||||||
|
|
||||||
|
public string RulesetJson;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: afb932c346aec4c478e65191a53801a8
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Port/HierarchyRulesetWrapper.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0b4b81ad75c9b784783e362a89368bac
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using static Borodar.RainbowHierarchy.HierarchyEditorUtility;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
public static class HierarchyPreferences
|
||||||
|
{
|
||||||
|
private const float PREF_LABEL_WIDTH = 150f;
|
||||||
|
|
||||||
|
private const string EDIT_MODIFIER_PKEY = "Borodar.RainbowHierarchy.EditMod.";
|
||||||
|
private const string EDIT_MODIFIER_HINT = "Modifier key that is used to show configuration dialogue when clicking on an object in the hierarchy.";
|
||||||
|
private const EventModifiers EDIT_MODIFIER_DEFAULT = EventModifiers.Alt;
|
||||||
|
|
||||||
|
private const string DRAG_MODIFIER_PKEY = "Borodar.RainbowHierarchy.DragMod.";
|
||||||
|
private const string DRAG_MODIFIER_HINT = "Modifier key that is used to drag configuration dialogue.";
|
||||||
|
private const EventModifiers DRAG_MODIFIER_DEFAULT = EventModifiers.Shift;
|
||||||
|
|
||||||
|
private const string HIDE_CONFIG_PKEY = "Borodar.RainbowHierarchy.HideConfig.";
|
||||||
|
private const string HIDE_CONFIG_HINT = "Change this setting to show/hide the RainbowHierarchyConf object in the hierarchy window.";
|
||||||
|
private const bool HIDE_CONFIG_DEFAULT = false;
|
||||||
|
|
||||||
|
private const string HIERARCHY_TREE_PKEY = "Borodar.RainbowHierarchy.ShowHierarchyTree.";
|
||||||
|
private const string HIERARCHY_TREE_HINT = "Change this setting to show/hide the \"branches\" in the hierarchy window.";
|
||||||
|
private const bool HIERARCHY_TREE_DEFAULT = true;
|
||||||
|
|
||||||
|
private const string ROW_SHADING_PKEY = "Borodar.RainbowHierarchy.RowShading.";
|
||||||
|
private const string ROW_SHADING_HINT = "Change this setting to enable/disable row shading in the hierarchy window.";
|
||||||
|
private const bool ROW_SHADING_DEFAULT = true;
|
||||||
|
|
||||||
|
private static readonly EditorPrefsModifierKey EDIT_MODIFIER_PREF;
|
||||||
|
private static readonly EditorPrefsModifierKey DRAG_MODIFIER_PREF;
|
||||||
|
private static readonly EditorPrefsBoolean HIDE_CONFIG_PREF;
|
||||||
|
|
||||||
|
private static readonly EditorPrefsBoolean HIERARCHY_TREE_PREF;
|
||||||
|
private static readonly EditorPrefsBoolean ROW_SHADING_PREF;
|
||||||
|
|
||||||
|
private static EventModifiers _editModifier;
|
||||||
|
private static EventModifiers _dragModifier;
|
||||||
|
public static bool HideConfig;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Properties
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static bool ShowHierarchyTree { get; private set; }
|
||||||
|
public static bool DrawRowShading { get; private set; }
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Ctors
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
static HierarchyPreferences()
|
||||||
|
{
|
||||||
|
// General
|
||||||
|
|
||||||
|
var editModifierLabel = new GUIContent("Edit Modifier", EDIT_MODIFIER_HINT);
|
||||||
|
EDIT_MODIFIER_PREF = new EditorPrefsModifierKey(EDIT_MODIFIER_PKEY + ProjectName, EDIT_MODIFIER_DEFAULT, editModifierLabel);
|
||||||
|
EDIT_MODIFIER_PREF.Changed += OnEditModifierChanged;
|
||||||
|
_editModifier = EDIT_MODIFIER_PREF.Value;
|
||||||
|
|
||||||
|
var dragModifierLabel = new GUIContent("Drag Modifier", DRAG_MODIFIER_HINT);
|
||||||
|
DRAG_MODIFIER_PREF = new EditorPrefsModifierKey(DRAG_MODIFIER_PKEY + ProjectName, DRAG_MODIFIER_DEFAULT, dragModifierLabel);
|
||||||
|
DRAG_MODIFIER_PREF.Changed += OnDragModifierChanged;
|
||||||
|
_dragModifier = DRAG_MODIFIER_PREF.Value;
|
||||||
|
|
||||||
|
var hideConfigLabel = new GUIContent("Hide Config", HIDE_CONFIG_HINT);
|
||||||
|
HIDE_CONFIG_PREF = new EditorPrefsBoolean(HIDE_CONFIG_PKEY + ProjectName, HIDE_CONFIG_DEFAULT, hideConfigLabel, PREF_LABEL_WIDTH);
|
||||||
|
HIDE_CONFIG_PREF.Changed += OnHideConfigChanged;
|
||||||
|
HideConfig = HIDE_CONFIG_PREF.Value;
|
||||||
|
|
||||||
|
// Enhancements
|
||||||
|
|
||||||
|
var hierarchyTreeLabel = new GUIContent("Hierarchy Tree", HIERARCHY_TREE_HINT);
|
||||||
|
HIERARCHY_TREE_PREF = new EditorPrefsBoolean(HIERARCHY_TREE_PKEY + ProjectName, HIERARCHY_TREE_DEFAULT, hierarchyTreeLabel, PREF_LABEL_WIDTH);
|
||||||
|
HIERARCHY_TREE_PREF.Changed += OnHierarchyTreeChanged;
|
||||||
|
ShowHierarchyTree = HIERARCHY_TREE_PREF.Value;
|
||||||
|
|
||||||
|
var rowShadingLabel = new GUIContent("Row Shading", ROW_SHADING_HINT);
|
||||||
|
ROW_SHADING_PREF = new EditorPrefsBoolean(ROW_SHADING_PKEY + ProjectName, ROW_SHADING_DEFAULT, rowShadingLabel, PREF_LABEL_WIDTH);
|
||||||
|
ROW_SHADING_PREF.Changed += OnRowShadingChanged;
|
||||||
|
DrawRowShading = ROW_SHADING_PREF.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
[SettingsProvider]
|
||||||
|
[SuppressMessage("ReSharper", "UnusedMember.Global")]
|
||||||
|
public static SettingsProvider CreateSettingProvider()
|
||||||
|
{
|
||||||
|
return new SettingsProvider("Borodar/RainbowHierarchy", SettingsScope.Project)
|
||||||
|
{
|
||||||
|
label = AssetInfo.NAME,
|
||||||
|
guiHandler = OnGUI
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsEditModifierPressed(Event e)
|
||||||
|
{
|
||||||
|
return (e.modifiers & _editModifier) == _editModifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsDragModifierPressed(Event e)
|
||||||
|
{
|
||||||
|
return (e.modifiers & _dragModifier) == _dragModifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Messages
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void OnGUI(string searchContext)
|
||||||
|
{
|
||||||
|
DrawGeneralSection();
|
||||||
|
DrawEnhancementsSection();
|
||||||
|
DrawImportExportSection();
|
||||||
|
|
||||||
|
DrawVersionAtBottom();
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// OnChange
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void OnEditModifierChanged(EventModifiers value)
|
||||||
|
{
|
||||||
|
_editModifier = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void OnDragModifierChanged(EventModifiers value)
|
||||||
|
{
|
||||||
|
_dragModifier = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void OnHideConfigChanged(bool value)
|
||||||
|
{
|
||||||
|
HideConfig = value;
|
||||||
|
UpdateSceneConfigVisibility(!value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void OnHierarchyTreeChanged(bool value)
|
||||||
|
{
|
||||||
|
ShowHierarchyTree = value;
|
||||||
|
EditorApplication.RepaintHierarchyWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void OnRowShadingChanged(bool value)
|
||||||
|
{
|
||||||
|
DrawRowShading = value;
|
||||||
|
EditorApplication.RepaintHierarchyWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void DrawGeneralSection()
|
||||||
|
{
|
||||||
|
DrawHeader("General");
|
||||||
|
|
||||||
|
EDIT_MODIFIER_PREF.Draw();
|
||||||
|
DRAG_MODIFIER_PREF.Draw();
|
||||||
|
TinySeparator();
|
||||||
|
HIDE_CONFIG_PREF.Draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawEnhancementsSection()
|
||||||
|
{
|
||||||
|
DrawHeader("Enhancements");
|
||||||
|
|
||||||
|
HIERARCHY_TREE_PREF.Draw();
|
||||||
|
TinySeparator();
|
||||||
|
ROW_SHADING_PREF.Draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawImportExportSection()
|
||||||
|
{
|
||||||
|
DrawHeader("Import / Export Ruleset (Current Scene)");
|
||||||
|
|
||||||
|
EditorGUILayout.BeginHorizontal();
|
||||||
|
{
|
||||||
|
if (GUILayout.Button("Import")) HierarchyRulesetImporter.Import();;
|
||||||
|
if (GUILayout.Button("Export")) HierarchyRulesetExporter.Export();
|
||||||
|
}
|
||||||
|
EditorGUILayout.EndHorizontal();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawVersionAtBottom()
|
||||||
|
{
|
||||||
|
GUILayout.FlexibleSpace();
|
||||||
|
EditorGUILayout.LabelField("Version " + AssetInfo.VERSION, EditorStyles.centeredGreyMiniLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawHeader(string label)
|
||||||
|
{
|
||||||
|
EditorGUILayout.Separator();
|
||||||
|
EditorGUILayout.LabelField(label, EditorStyles.boldLabel);
|
||||||
|
EditorGUILayout.Separator();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void TinySeparator()
|
||||||
|
{
|
||||||
|
GUILayoutUtility.GetRect(0f, 0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2042b261749a0f445852e9bccb9fc16f
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Prefs/HierarchyPreferences.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aadfdb1af2564164c82e867ffc82322b
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
public class EditorPrefsBoolean : EditorPrefsItem<bool>
|
||||||
|
{
|
||||||
|
private readonly float _labelWidth;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Ctors
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public EditorPrefsBoolean(string key, bool defaultValue, GUIContent label, float labelWidth)
|
||||||
|
: base(key, defaultValue, label)
|
||||||
|
{
|
||||||
|
_labelWidth = labelWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Properties
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public override bool Value
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return EditorPrefs.GetBool(Key, DefaultValue);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (Value == value) return;
|
||||||
|
EditorPrefs.SetBool(Key, value);
|
||||||
|
OnValueChanged(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public override void Draw()
|
||||||
|
{
|
||||||
|
EditorGUIUtility.labelWidth = _labelWidth;
|
||||||
|
Value = EditorGUILayout.Toggle(Label, Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 58b12300e92a4024e80ebdcc971eb99a
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Prefs/Items/EditorPrefsBoolean.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
public abstract class EditorPrefsItem<T>
|
||||||
|
{
|
||||||
|
protected readonly string Key;
|
||||||
|
protected readonly GUIContent Label;
|
||||||
|
protected readonly T DefaultValue;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Properties
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public abstract T Value { get; set; }
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Events
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public event Action<T> Changed;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Ctors
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
protected EditorPrefsItem(string key, T defaultValue, GUIContent label)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(key))
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
Key = key;
|
||||||
|
DefaultValue = defaultValue;
|
||||||
|
Label = label;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public abstract void Draw();
|
||||||
|
|
||||||
|
public static implicit operator T(EditorPrefsItem<T> s)
|
||||||
|
{
|
||||||
|
return s.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Protected
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
protected void OnValueChanged(T value)
|
||||||
|
{
|
||||||
|
Changed?.Invoke(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f9fbb9f2704df024d81d73f8193af9e8
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Prefs/Items/EditorPrefsItem.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
public class EditorPrefsModifierKey : EditorPrefsItem<EventModifiers> {
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Ctors
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public EditorPrefsModifierKey(string key, EventModifiers defaultValue, GUIContent label)
|
||||||
|
: base(key, defaultValue, label) { }
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Properties
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public override EventModifiers Value {
|
||||||
|
get
|
||||||
|
{
|
||||||
|
var index = EditorPrefs.GetInt(Key, (int) DefaultValue);
|
||||||
|
return (Enum.IsDefined(typeof(EventModifiers), index)) ? (EventModifiers) index : DefaultValue;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (Value == value) return;
|
||||||
|
EditorPrefs.SetInt(Key, (int) value);
|
||||||
|
OnValueChanged(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public override void Draw() {
|
||||||
|
Value = (EventModifiers) EditorGUILayout.EnumPopup(Label, Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5499329b412119a45b04357956aeda19
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Prefs/Items/EditorPrefsModifierKey.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ca69afbdf78a7564cae7ca1a53c6fe08
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2017 Chris Foulston
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 609221f9a89122145b14c121a191318e
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/RList/LICENSE
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,110 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy.RList {
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public abstract class ReorderableArray<T> : ICloneable, IList<T>, ICollection<T>, IEnumerable<T> {
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private List<T> array = new List<T>();
|
||||||
|
|
||||||
|
public ReorderableArray()
|
||||||
|
: this(0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReorderableArray(int length) {
|
||||||
|
|
||||||
|
array = new List<T>(length);
|
||||||
|
}
|
||||||
|
|
||||||
|
public T this[int index] {
|
||||||
|
|
||||||
|
get { return array[index]; }
|
||||||
|
set { array[index] = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int Length {
|
||||||
|
|
||||||
|
get { return array.Count; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsReadOnly {
|
||||||
|
|
||||||
|
get { return false; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int Count {
|
||||||
|
|
||||||
|
get { return array.Count; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Clone() {
|
||||||
|
|
||||||
|
return new List<T>(array);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CopyFrom(IEnumerable<T> value) {
|
||||||
|
|
||||||
|
array.Clear();
|
||||||
|
array.AddRange(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Contains(T value) {
|
||||||
|
|
||||||
|
return array.Contains(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int IndexOf(T value) {
|
||||||
|
|
||||||
|
return array.IndexOf(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Insert(int index, T item) {
|
||||||
|
|
||||||
|
array.Insert(index, item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveAt(int index) {
|
||||||
|
|
||||||
|
array.RemoveAt(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Add(T item) {
|
||||||
|
|
||||||
|
array.Add(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Clear() {
|
||||||
|
|
||||||
|
array.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CopyTo(T[] array, int arrayIndex) {
|
||||||
|
|
||||||
|
this.array.CopyTo(array, arrayIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Remove(T item) {
|
||||||
|
|
||||||
|
return array.Remove(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public T[] ToArray() {
|
||||||
|
|
||||||
|
return array.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerator<T> GetEnumerator() {
|
||||||
|
|
||||||
|
return array.GetEnumerator();
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator IEnumerable.GetEnumerator() {
|
||||||
|
|
||||||
|
return array.GetEnumerator();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ff2fb36905dd14a47916cba5057343f0
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/RList/ReorderableArray.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy.RList {
|
||||||
|
|
||||||
|
public class ReorderableAttribute : PropertyAttribute {
|
||||||
|
|
||||||
|
public bool add;
|
||||||
|
public bool remove;
|
||||||
|
public bool draggable;
|
||||||
|
public bool singleLine;
|
||||||
|
public bool paginate;
|
||||||
|
public bool sortable;
|
||||||
|
public int pageSize;
|
||||||
|
public string elementNameProperty;
|
||||||
|
public string elementNameOverride;
|
||||||
|
public string elementIconPath;
|
||||||
|
public Type surrogateType;
|
||||||
|
public string surrogateProperty;
|
||||||
|
|
||||||
|
public ReorderableAttribute()
|
||||||
|
: this(null) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReorderableAttribute(string elementNameProperty)
|
||||||
|
: this(true, true, true, elementNameProperty, null, null) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReorderableAttribute(string elementNameProperty, string elementIconPath)
|
||||||
|
: this(true, true, true, elementNameProperty, null, elementIconPath) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReorderableAttribute(string elementNameProperty, string elementNameOverride, string elementIconPath)
|
||||||
|
: this(true, true, true, elementNameProperty, elementNameOverride, elementIconPath) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReorderableAttribute(bool add, bool remove, bool draggable, string elementNameProperty = null, string elementIconPath = null)
|
||||||
|
: this(add, remove, draggable, elementNameProperty, null, elementIconPath) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReorderableAttribute(bool add, bool remove, bool draggable, string elementNameProperty = null, string elementNameOverride = null, string elementIconPath = null) {
|
||||||
|
|
||||||
|
this.add = add;
|
||||||
|
this.remove = remove;
|
||||||
|
this.draggable = draggable;
|
||||||
|
this.elementNameProperty = elementNameProperty;
|
||||||
|
this.elementNameOverride = elementNameOverride;
|
||||||
|
this.elementIconPath = elementIconPath;
|
||||||
|
|
||||||
|
sortable = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a742bfa155a4d6f429285e9960422f18
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/RList/ReorderableAttribute.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using Object = UnityEngine.Object;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy.RList {
|
||||||
|
|
||||||
|
[CustomPropertyDrawer(typeof(ReorderableAttribute))]
|
||||||
|
public class ReorderableDrawer : PropertyDrawer {
|
||||||
|
|
||||||
|
public const string ARRAY_PROPERTY_NAME = "array";
|
||||||
|
|
||||||
|
private static Dictionary<int, ReorderableList> lists = new Dictionary<int, ReorderableList>();
|
||||||
|
|
||||||
|
[Obsolete("CanCacheInspectorGUI has been deprecated and is no longer used.", false)]
|
||||||
|
public override bool CanCacheInspectorGUI(SerializedProperty property) {
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override float GetPropertyHeight(SerializedProperty property, GUIContent label) {
|
||||||
|
|
||||||
|
ReorderableList list = GetList(property, attribute as ReorderableAttribute, ARRAY_PROPERTY_NAME);
|
||||||
|
|
||||||
|
return list != null ? list.GetHeight() : EditorGUIUtility.singleLineHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {
|
||||||
|
|
||||||
|
ReorderableList list = GetList(property, attribute as ReorderableAttribute, ARRAY_PROPERTY_NAME);
|
||||||
|
|
||||||
|
if (list != null) {
|
||||||
|
|
||||||
|
list.DoList(EditorGUI.IndentedRect(position), label);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
GUI.Label(position, "Array must extend from ReorderableArray", EditorStyles.label);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int GetListId(SerializedProperty property) {
|
||||||
|
|
||||||
|
if (property != null) {
|
||||||
|
|
||||||
|
int h1 = property.serializedObject.targetObject.GetHashCode();
|
||||||
|
int h2 = property.propertyPath.GetHashCode();
|
||||||
|
|
||||||
|
return (((h1 << 5) + h1) ^ h2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ReorderableList GetList(SerializedProperty property, string arrayPropertyName) {
|
||||||
|
|
||||||
|
return GetList(property, null, GetListId(property), arrayPropertyName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ReorderableList GetList(SerializedProperty property, ReorderableAttribute attrib, string arrayPropertyName) {
|
||||||
|
|
||||||
|
return GetList(property, attrib, GetListId(property), arrayPropertyName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ReorderableList GetList(SerializedProperty property, int id, string arrayPropertyName) {
|
||||||
|
|
||||||
|
return GetList(property, null, id, arrayPropertyName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ReorderableList GetList(SerializedProperty property, ReorderableAttribute attrib, int id, string arrayPropertyName) {
|
||||||
|
|
||||||
|
if (property == null) {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
ReorderableList list = null;
|
||||||
|
SerializedProperty array = property.FindPropertyRelative(arrayPropertyName);
|
||||||
|
|
||||||
|
if (array != null && array.isArray) {
|
||||||
|
|
||||||
|
if (!lists.TryGetValue(id, out list)) {
|
||||||
|
|
||||||
|
if (attrib != null) {
|
||||||
|
|
||||||
|
Texture icon = !string.IsNullOrEmpty(attrib.elementIconPath) ? AssetDatabase.GetCachedIcon(attrib.elementIconPath) : null;
|
||||||
|
|
||||||
|
ReorderableList.ElementDisplayType displayType = attrib.singleLine ? ReorderableList.ElementDisplayType.SingleLine : ReorderableList.ElementDisplayType.Auto;
|
||||||
|
|
||||||
|
list = new ReorderableList(array, attrib.add, attrib.remove, attrib.draggable, displayType, attrib.elementNameProperty, attrib.elementNameOverride, icon);
|
||||||
|
list.paginate = attrib.paginate;
|
||||||
|
list.pageSize = attrib.pageSize;
|
||||||
|
list.sortable = attrib.sortable;
|
||||||
|
|
||||||
|
//handle surrogate if any
|
||||||
|
|
||||||
|
if (attrib.surrogateType != null) {
|
||||||
|
|
||||||
|
SurrogateCallback callback = new SurrogateCallback(attrib.surrogateProperty);
|
||||||
|
|
||||||
|
list.surrogate = new ReorderableList.Surrogate(attrib.surrogateType, callback.SetReference);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
list = new ReorderableList(array, true, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
lists.Add(id, list);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
list.List = array;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct SurrogateCallback {
|
||||||
|
|
||||||
|
private string property;
|
||||||
|
|
||||||
|
internal SurrogateCallback(string property) {
|
||||||
|
|
||||||
|
this.property = property;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void SetReference(SerializedProperty element, Object objectReference, ReorderableList list) {
|
||||||
|
|
||||||
|
SerializedProperty prop = !string.IsNullOrEmpty(property) ? element.FindPropertyRelative(property) : null;
|
||||||
|
|
||||||
|
if (prop != null && prop.propertyType == SerializedPropertyType.ObjectReference) {
|
||||||
|
|
||||||
|
prop.objectReferenceValue = objectReference;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7e6c549c0f86e7d4bb4d52b49fd1052c
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/RList/ReorderableDrawer.cs
|
||||||
|
uploadId: 716077
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bc6c2a114d6b2a646a7240a0b7517898
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/RList/ReorderableList.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,353 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEditor.SceneManagement;
|
||||||
|
using UnityEngine;
|
||||||
|
using SiblingIndex = Borodar.RainbowHierarchy.HierarchyEditorUtility.SiblingIndex;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[InitializeOnLoad]
|
||||||
|
public static class RainbowHierarchyGUI
|
||||||
|
{
|
||||||
|
private const float DRAW_OFFSET = 28f;
|
||||||
|
|
||||||
|
private static readonly Color ROW_SHADING_COLOR = new Color(0f, 0f, 0f, 0.03f);
|
||||||
|
private static readonly List<GameObject> RECURSIVE_OBJECTS = new List<GameObject>();
|
||||||
|
private static bool _multiSelection;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Ctor
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
static RainbowHierarchyGUI()
|
||||||
|
{
|
||||||
|
EditorApplication.hierarchyChanged += HierarchyWindowChanged;
|
||||||
|
EditorApplication.hierarchyWindowItemOnGUI += RainbowHierarchyItemOnGUI;
|
||||||
|
HierarchyRulesetV2.OnRulesetChangeCallback += OnRulesetChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Delegates
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void HierarchyWindowChanged()
|
||||||
|
{
|
||||||
|
HierarchyEditorUtility.UpdateSceneConfigVisibility(!HierarchyPreferences.HideConfig);
|
||||||
|
RECURSIVE_OBJECTS.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void OnRulesetChange()
|
||||||
|
{
|
||||||
|
RECURSIVE_OBJECTS.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void RainbowHierarchyItemOnGUI(int instanceId, Rect selectionRect)
|
||||||
|
{
|
||||||
|
var gameObject = (GameObject)EditorUtility.InstanceIDToObject(instanceId);
|
||||||
|
if (gameObject == null) return;
|
||||||
|
|
||||||
|
DrawRowShading(selectionRect);
|
||||||
|
DrawFoldouts(gameObject, selectionRect);
|
||||||
|
ReplaceHierarchyTextures(instanceId, gameObject, selectionRect);
|
||||||
|
DrawEditIcon(gameObject, selectionRect);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// GUI
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void DrawRowShading(Rect selectionRect)
|
||||||
|
{
|
||||||
|
if (!HierarchyPreferences.DrawRowShading) return;
|
||||||
|
|
||||||
|
var isOdd = Mathf.FloorToInt(((selectionRect.y - 4) / 16) % 2) != 0;
|
||||||
|
if (isOdd) return;
|
||||||
|
|
||||||
|
var foldoutRect = new Rect(selectionRect);
|
||||||
|
foldoutRect.width += selectionRect.x + 16f;
|
||||||
|
foldoutRect.height += 1f;
|
||||||
|
|
||||||
|
foldoutRect.x = DRAW_OFFSET;
|
||||||
|
|
||||||
|
// Background
|
||||||
|
EditorGUI.DrawRect(foldoutRect, ROW_SHADING_COLOR);
|
||||||
|
// Top line
|
||||||
|
foldoutRect.height = 1f;
|
||||||
|
EditorGUI.DrawRect(foldoutRect, ROW_SHADING_COLOR);
|
||||||
|
// Bottom line
|
||||||
|
foldoutRect.y += 16f;
|
||||||
|
EditorGUI.DrawRect(foldoutRect, ROW_SHADING_COLOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawFoldouts(GameObject gameObject, Rect selectionRect)
|
||||||
|
{
|
||||||
|
if (!HierarchyPreferences.ShowHierarchyTree || IsShowInSearch(selectionRect)) return;
|
||||||
|
|
||||||
|
const float textureWidth = 128f;
|
||||||
|
|
||||||
|
var fx = Mathf.Max(DRAW_OFFSET, selectionRect.x - textureWidth - 16f);
|
||||||
|
var fw = Mathf.Min(textureWidth, selectionRect.x - 16f - DRAW_OFFSET);
|
||||||
|
var foldoutRect = new Rect(selectionRect) {width = fw, x = fx};
|
||||||
|
|
||||||
|
var tw = foldoutRect.width / textureWidth;
|
||||||
|
var texCoords = new Rect(1 - tw,0,tw,1f);
|
||||||
|
|
||||||
|
GUI.DrawTextureWithTexCoords(foldoutRect, HierarchyEditorUtility.GetFoldoutLevelsIcon(), texCoords);
|
||||||
|
|
||||||
|
var transform = gameObject.transform;
|
||||||
|
if (transform.childCount > 0) return;
|
||||||
|
|
||||||
|
var index = GetSiblingIndex(transform);
|
||||||
|
foldoutRect.width = 16f;
|
||||||
|
|
||||||
|
foldoutRect.x = selectionRect.x - 16f;
|
||||||
|
|
||||||
|
GUI.DrawTexture(foldoutRect, HierarchyEditorUtility.GetFoldoutIcon(index));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ReplaceHierarchyTextures(int instanceId, GameObject gameObject, Rect selectionRect)
|
||||||
|
{
|
||||||
|
if (EditorSceneManager.IsPreviewSceneObject(gameObject)) return;
|
||||||
|
|
||||||
|
var currentScene = gameObject.scene;
|
||||||
|
var ruleset = HierarchyRulesetV2.GetRulesetByScene(currentScene);
|
||||||
|
if (ruleset == null || ruleset.Rules.Count == 0) return;
|
||||||
|
|
||||||
|
var normalItem = ruleset.GetRule(gameObject);
|
||||||
|
var recursiveItem = GetRecursiveItemByObject(gameObject, ruleset);
|
||||||
|
|
||||||
|
if (normalItem != null)
|
||||||
|
{
|
||||||
|
UpdateRecursiveObjectsList(ruleset, normalItem, gameObject);
|
||||||
|
|
||||||
|
if (recursiveItem != null)
|
||||||
|
{
|
||||||
|
DrawItemWithBiggerPriority(instanceId, selectionRect, ruleset, normalItem, recursiveItem);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DrawNormalItem(instanceId, selectionRect, normalItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (recursiveItem != null)
|
||||||
|
{
|
||||||
|
DrawRecursiveItem(instanceId, selectionRect, recursiveItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawEditIcon(GameObject gameObject, Rect selectionRect)
|
||||||
|
{
|
||||||
|
if (!HierarchyPreferences.IsEditModifierPressed(Event.current))
|
||||||
|
{
|
||||||
|
_multiSelection = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (EditorSceneManager.IsPreviewSceneObject(gameObject)) return;
|
||||||
|
|
||||||
|
var isMouseOver = selectionRect.Contains(Event.current.mousePosition);
|
||||||
|
var isSelected = IsSelected(gameObject);
|
||||||
|
_multiSelection = isSelected ? isMouseOver || _multiSelection : !isMouseOver && _multiSelection;
|
||||||
|
|
||||||
|
// if mouse is not over current object icon or selected group
|
||||||
|
if (!isMouseOver && (!isSelected || !_multiSelection)) return;
|
||||||
|
|
||||||
|
var editIcon = HierarchyEditorUtility.GetEditIcon();
|
||||||
|
DrawCustomIcon(editIcon, selectionRect);
|
||||||
|
|
||||||
|
if (GUI.Button(selectionRect, GUIContent.none, GUIStyle.none))
|
||||||
|
{
|
||||||
|
ShowPopupWindow(selectionRect, gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorApplication.RepaintHierarchyWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void DrawItemWithBiggerPriority(int instanceId, Rect selectionRect, HierarchyRulesetV2 conf, HierarchyRule normalRule, HierarchyRule recursiveRule)
|
||||||
|
{
|
||||||
|
if (recursiveRule.Priority > normalRule.Priority)
|
||||||
|
{
|
||||||
|
DrawRecursiveItem(instanceId, selectionRect, recursiveRule);
|
||||||
|
}
|
||||||
|
else if (recursiveRule.Priority == normalRule.Priority)
|
||||||
|
{
|
||||||
|
DrawItemWithGreaterOrdinal(instanceId, selectionRect, conf, normalRule, recursiveRule);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DrawNormalItem(instanceId, selectionRect, normalRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawItemWithGreaterOrdinal(int instanceId, Rect selectionRect, HierarchyRulesetV2 conf, HierarchyRule normalRule, HierarchyRule recursiveRule)
|
||||||
|
{
|
||||||
|
if (recursiveRule.Ordinal > normalRule.Ordinal)
|
||||||
|
{
|
||||||
|
DrawRecursiveItem(instanceId, selectionRect, recursiveRule);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DrawNormalItem(instanceId, selectionRect, normalRule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawNormalItem(int instanceId, Rect selectionRect, HierarchyRule normalRule)
|
||||||
|
{
|
||||||
|
ReplaceIcon(instanceId, normalRule);
|
||||||
|
DrawCustomBackground(normalRule, selectionRect);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawRecursiveItem(int instanceId, Rect selectionRect, HierarchyRule recursiveRule)
|
||||||
|
{
|
||||||
|
if (recursiveRule.IsIconRecursive) ReplaceIcon(instanceId, recursiveRule);
|
||||||
|
if (recursiveRule.IsBackgroundRecursive) DrawCustomBackground(recursiveRule, selectionRect);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ReplaceIcon(int instanceId, HierarchyRule rule)
|
||||||
|
{
|
||||||
|
if (rule == null || !rule.HasIcon()) return;
|
||||||
|
var icon = rule.HasCustomIcon()
|
||||||
|
? rule.IconTexture
|
||||||
|
: HierarchyIconsStorage.GetIcon(rule.IconType);
|
||||||
|
HierarchyWindowAdapter.ApplyIconByInstanceId(instanceId, icon);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawCustomIcon(Texture icon, Rect selectionRect)
|
||||||
|
{
|
||||||
|
var iconRect = new Rect(selectionRect) {width = 16f};
|
||||||
|
GUI.DrawTexture(iconRect, icon);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawCustomBackground(HierarchyRule rule, Rect selectionRect)
|
||||||
|
{
|
||||||
|
if (rule == null || !rule.HasBackground()) return;
|
||||||
|
|
||||||
|
selectionRect.x += 17f;
|
||||||
|
|
||||||
|
var background = rule.HasCustomBackground()
|
||||||
|
? rule.BackgroundTexture
|
||||||
|
: HierarchyBackgroundsStorage.GetBackground(rule.BackgroundType);
|
||||||
|
GUI.DrawTexture(selectionRect, background);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ShowPopupWindow(Rect selectionRect, GameObject currentObject)
|
||||||
|
{
|
||||||
|
var window = HierarchyPopupWindow.GetDraggableWindow();
|
||||||
|
var position = GUIUtility.GUIToScreenPoint(selectionRect.position + new Vector2(0, selectionRect.height + 2));
|
||||||
|
|
||||||
|
if (_multiSelection)
|
||||||
|
{
|
||||||
|
var gameObjects = Selection.gameObjects.ToList();
|
||||||
|
var index = gameObjects.IndexOf(currentObject);
|
||||||
|
window.ShowWithParams(position, gameObjects, index);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.ShowWithParams(position, new List<GameObject> {currentObject}, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static HierarchyRule GetRecursiveItemByObject(GameObject gameObject, HierarchyRulesetV2 ruleset)
|
||||||
|
{
|
||||||
|
for (var i = RECURSIVE_OBJECTS.Count - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
if (RECURSIVE_OBJECTS[i] == null)
|
||||||
|
{
|
||||||
|
RECURSIVE_OBJECTS.RemoveAt(i);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!gameObject.transform.IsChildOf(RECURSIVE_OBJECTS[i].transform))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var parentRule = ruleset.GetRule(RECURSIVE_OBJECTS[i]);
|
||||||
|
if (parentRule == null)
|
||||||
|
{
|
||||||
|
RECURSIVE_OBJECTS.RemoveAt(i);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parentRule.IsRecursive())
|
||||||
|
{
|
||||||
|
return parentRule;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "InvertIf")]
|
||||||
|
private static void UpdateRecursiveObjectsList(HierarchyRulesetV2 conf, HierarchyRule currentRule, GameObject currentObject)
|
||||||
|
{
|
||||||
|
if (currentRule.IsRecursive())
|
||||||
|
{
|
||||||
|
if (!RECURSIVE_OBJECTS.Contains(currentObject))
|
||||||
|
{
|
||||||
|
for (var index = 0; index < RECURSIVE_OBJECTS.Count; index++)
|
||||||
|
{
|
||||||
|
var listObject = RECURSIVE_OBJECTS[index];
|
||||||
|
if (listObject == null) continue;
|
||||||
|
|
||||||
|
var listItem = conf.GetRule(listObject);
|
||||||
|
if (listItem == null) continue;
|
||||||
|
|
||||||
|
if (currentRule.Priority < listItem.Priority)
|
||||||
|
{
|
||||||
|
RECURSIVE_OBJECTS.Insert(index, currentObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentRule.Priority == listItem.Priority)
|
||||||
|
{
|
||||||
|
var currentOrdinal = conf.Rules.IndexOf(currentRule);
|
||||||
|
var listOrdinal = conf.Rules.IndexOf(listItem);
|
||||||
|
|
||||||
|
if (currentOrdinal < listOrdinal)
|
||||||
|
{
|
||||||
|
RECURSIVE_OBJECTS.Insert(index, currentObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RECURSIVE_OBJECTS.Add(currentObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RECURSIVE_OBJECTS.Remove(currentObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool IsSelected(GameObject gameObject)
|
||||||
|
{
|
||||||
|
return Selection.gameObjects.Contains(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool IsShowInSearch(Rect iconRect)
|
||||||
|
{
|
||||||
|
return iconRect.x == 16f;
|
||||||
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "ConvertIfStatementToReturnStatement")]
|
||||||
|
private static SiblingIndex GetSiblingIndex(Transform transform)
|
||||||
|
{
|
||||||
|
var parent = transform.parent;
|
||||||
|
var parentChildCount = (parent != null) ? parent.childCount : transform.gameObject.scene.rootCount;
|
||||||
|
var siblingIndex = transform.GetSiblingIndex();
|
||||||
|
|
||||||
|
if (siblingIndex == 0) return SiblingIndex.First;
|
||||||
|
if (siblingIndex == parentChildCount - 1) return SiblingIndex.Last;
|
||||||
|
|
||||||
|
return SiblingIndex.Middle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e1e9709c7ea6ee64bb8e4a6962b09dbd
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/RainbowHierarchyGUI.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bcc187ba40bab2e4abb458923e06c026
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,222 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[CustomPropertyDrawer(typeof(HierarchyRule))]
|
||||||
|
public class HierarchyRuleDrawer: PropertyDrawer
|
||||||
|
{
|
||||||
|
private const float PADDING = 8f;
|
||||||
|
private const float SPACING = 2f;
|
||||||
|
private const float LINE_HEIGHT = 18f;
|
||||||
|
private const float LABELS_WIDTH = 92f;
|
||||||
|
private const float ICON_WIDTH = 16f;
|
||||||
|
private const float PROPERTY_HEIGHT = 142f;
|
||||||
|
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
var isHidden = property.FindPropertyRelative("IsHidden").boolValue;
|
||||||
|
if (isHidden) return;
|
||||||
|
|
||||||
|
var originalPosition = position;
|
||||||
|
var serializedItem = new SerializedItemWrapper(property);
|
||||||
|
var serializedObject = property.serializedObject;
|
||||||
|
|
||||||
|
DrawLabels(ref position, serializedItem);
|
||||||
|
DrawValues(ref position, originalPosition, serializedItem, serializedObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
var isHidden = property.FindPropertyRelative("IsHidden").boolValue;
|
||||||
|
if (isHidden) return 0;
|
||||||
|
|
||||||
|
var iconType = property.FindPropertyRelative("IconType");
|
||||||
|
var backgroundType = property.FindPropertyRelative("BackgroundType");
|
||||||
|
var hasCustomIcon = (iconType.intValue == (int) HierarchyIcon.Custom);
|
||||||
|
var hasCustomBackground = (backgroundType.intValue == (int) HierarchyBackground.Custom);
|
||||||
|
|
||||||
|
var height = PROPERTY_HEIGHT;
|
||||||
|
if (hasCustomIcon) height += LINE_HEIGHT + SPACING;
|
||||||
|
if (hasCustomBackground) height += LINE_HEIGHT + SPACING;
|
||||||
|
|
||||||
|
return height;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private static void DrawLabels(ref Rect position, SerializedItemWrapper item)
|
||||||
|
{
|
||||||
|
position.y += PADDING;
|
||||||
|
position.width = LABELS_WIDTH;
|
||||||
|
position.height = LINE_HEIGHT;
|
||||||
|
EditorGUI.PropertyField(position, item.ItemType, GUIContent.none);
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + SPACING * 2f;
|
||||||
|
EditorGUI.LabelField(position, "Priority");
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + SPACING * 3f;
|
||||||
|
EditorGUI.LabelField(position, "Icon");
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + SPACING;
|
||||||
|
|
||||||
|
if (item.HasIcon)
|
||||||
|
{
|
||||||
|
position.width = ICON_WIDTH;
|
||||||
|
position.height = ICON_WIDTH;
|
||||||
|
|
||||||
|
var texture = (item.HasCustomIcon)
|
||||||
|
? (Texture2D) item.IconTexture.objectReferenceValue
|
||||||
|
: HierarchyIconsStorage.GetIcon(item.IconType.intValue);
|
||||||
|
|
||||||
|
if (texture != null) GUI.DrawTexture(position, texture);
|
||||||
|
|
||||||
|
position.width = LABELS_WIDTH;
|
||||||
|
position.height = LINE_HEIGHT;
|
||||||
|
}
|
||||||
|
|
||||||
|
position.y += (item.HasCustomIcon) ? 2f * LINE_HEIGHT + PADDING : LINE_HEIGHT + PADDING - SPACING;
|
||||||
|
EditorGUI.LabelField(position, "Background");
|
||||||
|
position.y += LINE_HEIGHT + SPACING;
|
||||||
|
|
||||||
|
if (item.HasBackground)
|
||||||
|
{
|
||||||
|
position.width = ICON_WIDTH * 3f;
|
||||||
|
position.height = ICON_WIDTH;
|
||||||
|
|
||||||
|
var texture = (item.HasCustomBackground)
|
||||||
|
? (Texture2D) item.Background.objectReferenceValue
|
||||||
|
: HierarchyBackgroundsStorage.GetBackground(item.BackgroundType.intValue);
|
||||||
|
|
||||||
|
if (texture != null) GUI.DrawTexture(position, texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawValues(ref Rect position, Rect originalPosition, SerializedItemWrapper item, SerializedObject serializedObject)
|
||||||
|
{
|
||||||
|
EditorGUI.BeginChangeCheck();
|
||||||
|
|
||||||
|
position.x += LABELS_WIDTH + PADDING;
|
||||||
|
position.y = originalPosition.y + PADDING;
|
||||||
|
position.width = originalPosition.width - LABELS_WIDTH - PADDING;
|
||||||
|
|
||||||
|
var property = item.ItemType.intValue == 0 ? item.GameObject : item.Name;
|
||||||
|
EditorGUI.PropertyField(position, property, GUIContent.none);
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + SPACING * 2f;
|
||||||
|
EditorGUI.PropertyField(position, item.Priority, GUIContent.none);
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + SPACING * 3f;
|
||||||
|
DrawIconPopupMenu(position, item.Property, item.IconType.intValue);
|
||||||
|
|
||||||
|
if (item.HasCustomIcon)
|
||||||
|
{
|
||||||
|
position.y += LINE_HEIGHT + SPACING + 1f;
|
||||||
|
EditorGUI.PropertyField(position, item.IconTexture, GUIContent.none);
|
||||||
|
position.y -= SPACING;
|
||||||
|
}
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + SPACING;
|
||||||
|
EditorGUI.PropertyField(position, item.IconRecursive, GUIContent.none);
|
||||||
|
position.x += ICON_WIDTH;
|
||||||
|
EditorGUI.LabelField(position, "Recursive");
|
||||||
|
position.x -= ICON_WIDTH;
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + PADDING;
|
||||||
|
DrawBackgroundPopupMenu(position, item.Property, item.BackgroundType.intValue);
|
||||||
|
|
||||||
|
if (item.HasCustomBackground)
|
||||||
|
{
|
||||||
|
position.y += LINE_HEIGHT + SPACING + 1f;
|
||||||
|
EditorGUI.PropertyField(position, item.Background, GUIContent.none);
|
||||||
|
position.y -= SPACING;
|
||||||
|
}
|
||||||
|
|
||||||
|
position.y += LINE_HEIGHT + SPACING;
|
||||||
|
EditorGUI.PropertyField(position, item.BackgroundRecursive, GUIContent.none);
|
||||||
|
position.x += ICON_WIDTH;
|
||||||
|
EditorGUI.LabelField(position, "Recursive");
|
||||||
|
position.x -= ICON_WIDTH;
|
||||||
|
|
||||||
|
if (EditorGUI.EndChangeCheck()) serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawIconPopupMenu(Rect rect, SerializedProperty property, int iconType)
|
||||||
|
{
|
||||||
|
var menuName = ((HierarchyIcon) iconType).ToString();
|
||||||
|
if (GUI.Button(rect, new GUIContent(menuName), "MiniPopup"))
|
||||||
|
{
|
||||||
|
var screenPoint = GUIUtility.GUIToScreenPoint(rect.position);
|
||||||
|
var window = HierarchyIconsPopup.GetDraggableWindow();
|
||||||
|
window.ShowWithParams(screenPoint, property);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DrawBackgroundPopupMenu(Rect rect, SerializedProperty property, int backgroundType)
|
||||||
|
{
|
||||||
|
var menuName = ((HierarchyBackground) backgroundType).ToString();
|
||||||
|
if (GUI.Button(rect, new GUIContent(menuName), "MiniPopup"))
|
||||||
|
{
|
||||||
|
var screenPoint = GUIUtility.GUIToScreenPoint(rect.position);
|
||||||
|
var window = HierarchyBackgroundsPopup.GetDraggableWindow();
|
||||||
|
window.ShowWithParams(screenPoint, property);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Nested
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private class SerializedItemWrapper
|
||||||
|
{
|
||||||
|
public readonly SerializedProperty Property;
|
||||||
|
|
||||||
|
public readonly SerializedProperty ItemType;
|
||||||
|
public readonly SerializedProperty Name;
|
||||||
|
public readonly SerializedProperty GameObject;
|
||||||
|
|
||||||
|
public readonly SerializedProperty Priority;
|
||||||
|
|
||||||
|
public readonly SerializedProperty IconType;
|
||||||
|
public readonly SerializedProperty IconTexture;
|
||||||
|
public readonly SerializedProperty IconRecursive;
|
||||||
|
|
||||||
|
public readonly SerializedProperty BackgroundType;
|
||||||
|
public readonly SerializedProperty Background;
|
||||||
|
public readonly SerializedProperty BackgroundRecursive;
|
||||||
|
|
||||||
|
public readonly bool HasIcon;
|
||||||
|
public readonly bool HasCustomIcon;
|
||||||
|
public readonly bool HasBackground;
|
||||||
|
public readonly bool HasCustomBackground;
|
||||||
|
|
||||||
|
public SerializedItemWrapper(SerializedProperty property)
|
||||||
|
{
|
||||||
|
Property = property;
|
||||||
|
|
||||||
|
ItemType = property.FindPropertyRelative("Type");
|
||||||
|
Name = property.FindPropertyRelative("Name");
|
||||||
|
GameObject = property.FindPropertyRelative("GameObject");
|
||||||
|
|
||||||
|
Priority = property.FindPropertyRelative("Priority");
|
||||||
|
|
||||||
|
IconType = property.FindPropertyRelative("IconType");
|
||||||
|
IconTexture = property.FindPropertyRelative("IconTexture");
|
||||||
|
IconRecursive = property.FindPropertyRelative("IsIconRecursive");
|
||||||
|
|
||||||
|
BackgroundType = property.FindPropertyRelative("BackgroundType");
|
||||||
|
Background = property.FindPropertyRelative("BackgroundTexture");
|
||||||
|
BackgroundRecursive = property.FindPropertyRelative("IsBackgroundRecursive");
|
||||||
|
|
||||||
|
HasIcon = (IconType.intValue != (int) HierarchyIcon.None);
|
||||||
|
HasCustomIcon = (IconType.intValue == (int) HierarchyIcon.Custom);
|
||||||
|
HasBackground = (BackgroundType.intValue != (int) HierarchyBackground.None);
|
||||||
|
HasCustomBackground = (BackgroundType.intValue == (int) HierarchyBackground.Custom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 760af7340c7200b489d74bd3240977bf
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Ruleset/HierarchyRuleDrawer.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(HierarchyRuleset), true)]
|
||||||
|
public class HierarchyRulesetEditor : Editor
|
||||||
|
{
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
EditorGUILayout.HelpBox
|
||||||
|
(
|
||||||
|
"This ruleset created from the older Rainbow Hierarchy version. Do you want to update it now?",
|
||||||
|
MessageType.Warning
|
||||||
|
);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Update Ruleset"))
|
||||||
|
{
|
||||||
|
HierarchyEditorProxy.UpdateOldRuleset?.Invoke(((HierarchyRuleset) target).gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9164b5f0313f1bc4391c5f9ab0cca57d
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Ruleset/HierarchyRulesetEditor.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,394 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using Borodar.RainbowHierarchy.RList;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using static Borodar.RainbowHierarchy.HierarchyRule;
|
||||||
|
using static UnityEngine.SendMessageOptions;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(HierarchyRulesetV2), true)]
|
||||||
|
public class HierarchyRulesetEditorV2 : Editor
|
||||||
|
{
|
||||||
|
private const string SEARCH_RESULTS_TITLE = "Search Results";
|
||||||
|
private const string PROP_NAME_ITEMS = "Rules";
|
||||||
|
private const string NEGATIVE_LOOKAHEAD = "(?!.*)"; // Regex that matches nothing
|
||||||
|
|
||||||
|
private static readonly Dictionary<HierarchyRulesetV2, List<HierarchyRulesetEditorV2>> EDITORS_BY_CONF =
|
||||||
|
new Dictionary<HierarchyRulesetV2, List<HierarchyRulesetEditorV2>>();
|
||||||
|
|
||||||
|
private SerializedProperty _itemsProperty;
|
||||||
|
private ReorderableList _reorderableList;
|
||||||
|
|
||||||
|
private string _query = string.Empty;
|
||||||
|
private Enum _filter = Filter.All;
|
||||||
|
private bool _matchCase;
|
||||||
|
private bool _useRegex;
|
||||||
|
|
||||||
|
private string _warningMessage;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Properties
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public bool ForceUpdate { get; set; }
|
||||||
|
|
||||||
|
public int SearchTab { get; set; }
|
||||||
|
|
||||||
|
public GameObject GameObject { get; set; }
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Messages
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
protected void OnEnable()
|
||||||
|
{
|
||||||
|
var ruleset = (HierarchyRulesetV2) target;
|
||||||
|
if (EDITORS_BY_CONF.TryGetValue(ruleset, out var editors))
|
||||||
|
{
|
||||||
|
editors.Add(this);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var list = new List<HierarchyRulesetEditorV2> {this};
|
||||||
|
EDITORS_BY_CONF.Add(ruleset, list);
|
||||||
|
}
|
||||||
|
|
||||||
|
_itemsProperty = serializedObject.FindProperty(PROP_NAME_ITEMS);
|
||||||
|
|
||||||
|
_reorderableList = new ReorderableList(_itemsProperty)
|
||||||
|
{
|
||||||
|
label = new GUIContent(string.Empty),
|
||||||
|
elementDisplayType = ReorderableList.ElementDisplayType.SingleLine,
|
||||||
|
headerHeight = 0f,
|
||||||
|
expandable = false,
|
||||||
|
paginate = true,
|
||||||
|
pageSize = 10,
|
||||||
|
};
|
||||||
|
|
||||||
|
_reorderableList.onChangedCallback += (list) => OnRulesetChange();
|
||||||
|
|
||||||
|
// ReSharper disable once DelegateSubtraction
|
||||||
|
Undo.undoRedoPerformed -= OnRulesetChange;
|
||||||
|
Undo.undoRedoPerformed += OnRulesetChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void OnDisable()
|
||||||
|
{
|
||||||
|
var ruleset = (HierarchyRulesetV2) target;
|
||||||
|
if (EDITORS_BY_CONF.TryGetValue(ruleset, out var editors))
|
||||||
|
{
|
||||||
|
editors.Remove(this);
|
||||||
|
if (editors.Count == 0) EDITORS_BY_CONF.Remove(ruleset);
|
||||||
|
}
|
||||||
|
|
||||||
|
ClearHiddenFlags();
|
||||||
|
// ReSharper disable once DelegateSubtraction
|
||||||
|
Undo.undoRedoPerformed -= OnRulesetChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
GUILayout.Space(4f);
|
||||||
|
|
||||||
|
var searchTabBefore = SearchTab;
|
||||||
|
SearchTab = GUILayout.Toolbar(SearchTab, new [] {"Filter by object", "Filter by name"});
|
||||||
|
ForceUpdate |= SearchTab != searchTabBefore;
|
||||||
|
|
||||||
|
EditorGUILayout.BeginVertical("AvatarMappingBox");
|
||||||
|
{
|
||||||
|
GUILayout.Space(6f);
|
||||||
|
|
||||||
|
switch (SearchTab)
|
||||||
|
{
|
||||||
|
case 0: // Object
|
||||||
|
{
|
||||||
|
DrawSearchByFolderPanel(ForceUpdate);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1: // Name
|
||||||
|
{
|
||||||
|
DrawSearchByKeyPanel(ForceUpdate);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException(nameof(SearchTab), SearchTab, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(_warningMessage))
|
||||||
|
{
|
||||||
|
EditorGUILayout.HelpBox(_warningMessage, MessageType.Warning);
|
||||||
|
}
|
||||||
|
|
||||||
|
GUILayout.Space(4f);
|
||||||
|
}
|
||||||
|
EditorGUILayout.EndVertical();
|
||||||
|
|
||||||
|
GUILayout.Space(2f);
|
||||||
|
|
||||||
|
serializedObject.Update();
|
||||||
|
DrawHierarchyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static void ShowInspector(HierarchyRulesetV2 ruleset, GameObject currentObject = null)
|
||||||
|
{
|
||||||
|
Selection.activeObject = ruleset;
|
||||||
|
|
||||||
|
// Workaround with double delay to make sure all Inspectors already enabled
|
||||||
|
EditorApplication.delayCall += () => EditorApplication.delayCall += () =>
|
||||||
|
{
|
||||||
|
if (!EDITORS_BY_CONF.TryGetValue(ruleset, out var editors)) return;
|
||||||
|
|
||||||
|
foreach (var editor in editors)
|
||||||
|
{
|
||||||
|
editor.GameObject = currentObject;
|
||||||
|
editor.ForceUpdate = true;
|
||||||
|
editor.SearchTab = 0;
|
||||||
|
editor.Repaint();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Helpers
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private void DrawSearchByFolderPanel(bool forceUpdate)
|
||||||
|
{
|
||||||
|
var assetBefore = GameObject;
|
||||||
|
GameObject = (GameObject) EditorGUILayout.ObjectField(GameObject, typeof(GameObject), true);
|
||||||
|
|
||||||
|
if (!forceUpdate && GameObject == assetBefore) return;
|
||||||
|
|
||||||
|
if (GameObject == null)
|
||||||
|
{
|
||||||
|
ClearHiddenFlags();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ApplyHiddenFlagsByAsset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DrawSearchByKeyPanel(bool forceUpdate)
|
||||||
|
{
|
||||||
|
EditorGUILayout.BeginHorizontal();
|
||||||
|
var queryChanged = HierarchyEditorUtility.SearchField(ref _query, ref _filter, Filter.All);
|
||||||
|
EditorGUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
EditorGUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
if (!Equals(_filter, Filter.All))
|
||||||
|
{
|
||||||
|
var rect = GUILayoutUtility.GetRect(GUIContent.none, "MiniLabel");
|
||||||
|
rect.x += 2f;
|
||||||
|
rect.y += 1f;
|
||||||
|
rect.width = 55f;
|
||||||
|
GUI.Label(rect, $"➔ {_filter}", "MiniLabel");
|
||||||
|
}
|
||||||
|
|
||||||
|
GUILayout.FlexibleSpace();
|
||||||
|
|
||||||
|
var matchCaseBefore = _matchCase;
|
||||||
|
_matchCase = EditorGUILayout.ToggleLeft("Match case", _matchCase, "MiniLabel", GUILayout.Width(83f));
|
||||||
|
var matchCaseChanged = _matchCase != matchCaseBefore;
|
||||||
|
|
||||||
|
var useRegexBefore = _useRegex;
|
||||||
|
_useRegex = EditorGUILayout.ToggleLeft("Regex", _useRegex, "MiniLabel", GUILayout.Width(58f));
|
||||||
|
var useRegexChanged = _useRegex != useRegexBefore;
|
||||||
|
|
||||||
|
EditorGUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
if (!forceUpdate && !queryChanged && !matchCaseChanged && !useRegexChanged) return;
|
||||||
|
|
||||||
|
_warningMessage = string.Empty;
|
||||||
|
ApplyFilters();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplyFilters()
|
||||||
|
{
|
||||||
|
var isDefaultFilter = Equals(Filter.All, _filter);
|
||||||
|
if (string.IsNullOrEmpty(_query) && isDefaultFilter)
|
||||||
|
{
|
||||||
|
ClearHiddenFlags();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ApplyHiddenFlagsByKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ClearHiddenFlags()
|
||||||
|
{
|
||||||
|
if (_itemsProperty == null) return;
|
||||||
|
|
||||||
|
for (var i = 0; i < _itemsProperty.arraySize; i++)
|
||||||
|
{
|
||||||
|
var item = _itemsProperty.GetArrayElementAtIndex(i);
|
||||||
|
item.FindPropertyRelative("IsHidden").boolValue = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
|
||||||
|
_reorderableList.canAdd = true;
|
||||||
|
_reorderableList.headerHeight = 0f;
|
||||||
|
_reorderableList.label.text = string.Empty;
|
||||||
|
_reorderableList.paginate = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplyHiddenFlagsByAsset()
|
||||||
|
{
|
||||||
|
foreach (var rule in ((HierarchyRulesetV2) target).Rules)
|
||||||
|
{
|
||||||
|
var match = false;
|
||||||
|
switch (rule.Type)
|
||||||
|
{
|
||||||
|
case KeyType.Object:
|
||||||
|
match |= rule.GameObject == GameObject;
|
||||||
|
match |= rule.IsRecursive() && GameObject.transform.IsChildOf(rule.GameObject.transform);
|
||||||
|
break;
|
||||||
|
case KeyType.Name:
|
||||||
|
match |= rule.Name == GameObject.name;
|
||||||
|
if (rule.IsRecursive())
|
||||||
|
{
|
||||||
|
var parent = GameObject.transform.parent;
|
||||||
|
while (parent != null)
|
||||||
|
{
|
||||||
|
match |= rule.Name == parent.name;
|
||||||
|
if (match) break;
|
||||||
|
parent = parent.parent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException();
|
||||||
|
}
|
||||||
|
|
||||||
|
rule.IsHidden = !match;
|
||||||
|
}
|
||||||
|
|
||||||
|
_reorderableList.canAdd = false;
|
||||||
|
_reorderableList.headerHeight = 18f;
|
||||||
|
_reorderableList.label.text = SEARCH_RESULTS_TITLE;
|
||||||
|
_reorderableList.paginate = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplyHiddenFlagsByKey()
|
||||||
|
{
|
||||||
|
var regex = (_useRegex) ? MakeRegexFromQuery() : null;
|
||||||
|
|
||||||
|
for (var i = 0; i < _itemsProperty.arraySize; i++)
|
||||||
|
{
|
||||||
|
var item = _itemsProperty.GetArrayElementAtIndex(i);
|
||||||
|
var isHidden = item.FindPropertyRelative("IsHidden");
|
||||||
|
|
||||||
|
switch (_filter)
|
||||||
|
{
|
||||||
|
case Filter.All:
|
||||||
|
var isObject = KeyHasSameType(item, KeyType.Object);
|
||||||
|
isHidden.boolValue = !NameContainsQuery(item, regex, isObject);
|
||||||
|
break;
|
||||||
|
case Filter.Object:
|
||||||
|
isHidden.boolValue = !KeyHasSameType(item, KeyType.Object) || !NameContainsQuery(item, regex, true);
|
||||||
|
break;
|
||||||
|
case Filter.Name:
|
||||||
|
isHidden.boolValue = !KeyHasSameType(item, KeyType.Name) || !NameContainsQuery(item, regex, false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException(nameof(_filter), _filter, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_itemsProperty.serializedObject.ApplyModifiedProperties();
|
||||||
|
|
||||||
|
_reorderableList.canAdd = false;
|
||||||
|
_reorderableList.headerHeight = 18f;
|
||||||
|
_reorderableList.label = new GUIContent(SEARCH_RESULTS_TITLE);
|
||||||
|
_reorderableList.paginate = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Regex MakeRegexFromQuery()
|
||||||
|
{
|
||||||
|
var options = _matchCase ? RegexOptions.None : RegexOptions.IgnoreCase;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return new Regex(_query, options);
|
||||||
|
}
|
||||||
|
catch (ArgumentException ex)
|
||||||
|
{
|
||||||
|
_warningMessage = ex.Message;
|
||||||
|
return new Regex(NEGATIVE_LOOKAHEAD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool KeyHasSameType(SerializedProperty item, KeyType keyType)
|
||||||
|
{
|
||||||
|
var propType = item.FindPropertyRelative("Type").enumValueIndex;
|
||||||
|
return propType == (int) keyType;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool NameContainsQuery(SerializedProperty item, Regex regex, bool isObject)
|
||||||
|
{
|
||||||
|
var key = KeyToString(item, isObject);
|
||||||
|
|
||||||
|
// Regex search
|
||||||
|
if (_useRegex)
|
||||||
|
{
|
||||||
|
var match = regex.Match(key);
|
||||||
|
return match.Success;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simple search
|
||||||
|
var comparison = _matchCase ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase;
|
||||||
|
return key.IndexOf(_query, comparison) >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string KeyToString(SerializedProperty item, bool isObject)
|
||||||
|
{
|
||||||
|
if (isObject)
|
||||||
|
{
|
||||||
|
var reference = item.FindPropertyRelative("GameObject").objectReferenceValue;
|
||||||
|
return reference != null ? reference.name : string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return item.FindPropertyRelative("Name").stringValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DrawHierarchyList()
|
||||||
|
{
|
||||||
|
EditorGUI.BeginChangeCheck();
|
||||||
|
|
||||||
|
_reorderableList.DoLayoutList();
|
||||||
|
|
||||||
|
// Track changes in reorderable list
|
||||||
|
if (EditorGUI.EndChangeCheck())
|
||||||
|
{
|
||||||
|
OnRulesetChange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnRulesetChange()
|
||||||
|
{
|
||||||
|
((HierarchyRulesetV2) target).SendMessage("OnRulesetChange", DontRequireReceiver);
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Nested
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
private enum Filter
|
||||||
|
{
|
||||||
|
All, Name, Object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 266803d19a0606046912a8e90cd4d473
|
||||||
|
AssetOrigin:
|
||||||
|
serializedVersion: 1
|
||||||
|
productId: 106670
|
||||||
|
packageName: Rainbow Hierarchy 2
|
||||||
|
packageVersion: 2.6.2
|
||||||
|
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Scripts/Editor/Ruleset/HierarchyRulesetEditorV2.cs
|
||||||
|
uploadId: 716077
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 14bb12a5a0bb93949baf55633fae3d8b
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 34a68908649d9a3428ce44fa1b31b9a2
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using StorageHelper = Borodar.RainbowHierarchy.TexturesStorageHelper<Borodar.RainbowHierarchy.HierarchyBackground>;
|
||||||
|
|
||||||
|
namespace Borodar.RainbowHierarchy
|
||||||
|
{
|
||||||
|
public static class HierarchyBackgroundsStorage
|
||||||
|
{
|
||||||
|
private static readonly Dictionary<HierarchyBackground, Texture2D> BACKGROUND_TEXTURES = new Dictionary<HierarchyBackground, Texture2D>();
|
||||||
|
private static readonly Dictionary<HierarchyBackground, Lazy<string>> BACKGROUND_STRINGS = new Dictionary<HierarchyBackground, Lazy<string>>()
|
||||||
|
{
|
||||||
|
{HierarchyBackground.ClrRed, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqElEQVQ4EZWRgQ3DIAwEoZNklOy/QydpqjRPZevyhIhEAj7YfzZQ38uyllK+GNuhNT6DEXF5ttcx6av/Jec91b2oAVCaQ66snrMTQIMnMnbSBLBtahq43zQBTHzcgWgzpi6HHbA9dnOn8xU68sDlRU6vMAsJdsuPI3TkyLKVRZonAAo4xLzXvwFQlHRqOr1IXqICHqRxpPMSVZFVZ2AtP47gBsJG1bVff5VFJEHEsuQUAAAAAElFTkSuQmCC")},
|
||||||
|
{HierarchyBackground.ClrVermilion, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4EZ1QiRGAMAhr3cJtHMD9F3AM34YzXqCnVr1DUkhCaZ7GfkgpbSWWEuuZZ8nADHDYM25XCvj2EtlQ+w+aRINWmYmUTIM4PZ5V4zANUFR3xU4gBwzJaiC9ZrjTIE78tUKzSO7nVtBbKBa+g+BcK6Dz9QbG5xtEcTxzdFWnAQlvWVczfGegxCdT94hPRPbiCu4RdWok0qDKdytUxLOgQ1DKB60fIWpsPsbCAAAAAElFTkSuQmCC")},
|
||||||
|
{HierarchyBackground.ClrOrange, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsUlEQVQ4EZWQAQ7DIAwDYb/ob/axvXbP2FqGozpyQ0ArEiK49iW0vl/bs5Ry9P3tez/Pj5yodcPn3ke/ZKtmYteiXglok8BKRqYRALLSZ8BBJ8Bo0k5hIl+amE5AnEBDWscJ/B+oaVUPk3EChCI9A0WP/0SYlR6NGcyezQkQ0JDCsrBrBLhwo7CmBNg4N8Kw2pQEQNAn4J4tfZr5FaCBf2DmJyAGtJOCh5qA4cNEiI3KD5IJJZo84XQDAAAAAElFTkSuQmCC")},
|
||||||
|
{HierarchyBackground.ClrAmber, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqklEQVQ4EZWRAQ6DMAwD2/1iv+HDe9WesQGrOzkyTisVpFCL2pdE1PfruZVS9lZHq6/Up+lRqed4NBOe+j/ifYa6iuQjAIFZSBHJQwBMSletANXwVAJWAhqmPgnghzsn1okJEEz7DWg+6WUCvxzkcxOugO4rEyi0NyTAu6/AuocAJd/SCvApRiD3TP+CGwnz1eIvpAsm7FRw17MV1KgMbQQdKyDglxqkTuAf96cnzA70DsIAAAAASUVORK5CYII=")},
|
||||||
|
{HierarchyBackground.ClrYellow, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsElEQVQ4EY1TCRKDMAiE/sLf9P/f8BmtTYFIu4BkdAa5ls1KRt737UlEH7G32HF6jV9ELDbENDY764Y1/EMa+ozp8rspTxircwJL8vhFnhnZCRSLJBnoXIjR2kACB608ELPFSADNoKYhnHAkaIDLcruD5RQ0ww7wEwATwrzEoCAgm6Qc4jvIjZw3fP9rVGlZ3tVQwaCCO6cWjBNk5px3an5LVOY7Q4WoU1Cklsn5B48vAIEn/yp7a7UAAAAASUVORK5CYII=")},
|
||||||
|
{HierarchyBackground.ClrLime, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqUlEQVQ4Ea2Qiw3CMAxEE7Zgmy7cqRgDSsmzuOgS1MpIteT4dz47ruvjvpRS3k1fTbevxX8eKDVht1sLkL1pDe/PRwTZ5hm3i4ANXOZYNc+HLwIAXpwnicAtmCqCCKzqZJYe7jRsQOBNmQ0g7jcgyDaBlQxfUPLM+pbg+gZz4YxEtdjYj6gCNkMYGBF4M37mHmD6DWjKTAXn0m9A0qdmyK79AmyZqT9bfgCtoyjL+TMqmQAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrChartreuse, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAArElEQVQ4EZWRgQ3DMAgE7W7RbbpYpu0YSeqCk4+ep64cS8jAw4GTuryfr1LKx2w328hW89Vc9xzq9ocFOA3OnzvVABCEOiaw1H0AQovRAtDFs5Pz7lcAmEz17h6HO5GzuwFAuXvuBECXiwMmAGF5pV3fwLEqxlGDiDcIowb1Kc2AJP5IpCEjQCo8YfrM6zd6g4qyQJcTGBtos8YGS729BgCZNhX2rRmQRkxg2hejsySZiTECtgAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrHarlequin, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAr0lEQVQ4EY1RWxLEIAjDvUSv0+89/F6oT0HTRqRdO0MFAiFo+v6mWUS2bHu2tdpCp/psqNGe7ZN/+A44L2dy2HETjLSLdFU3ged2o2roqxIIFPBgRMEKzAeBBgxGzWEOBAqyAvbDxpqkS3wrizEbwgpKWVlkeJ2eoIgfWUGHNK8QC/2ThYJhyY7vukSVzCTsu54mvFbwDU93wHkbihWUlsFmDAU8yHwQGBsVPrndkBNLLyVSzgXMlAAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrGreen, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAmElEQVQ4EZWRCxKAIAhEtTN4oO7c8fqYkDQELpPNmAjLAzGXrawppauto62z72TvYFHs1S7tQF99tqk/5wjgb2Y2wjwLcJ0KgMia7oS9stawSwCmM3i04IoArhJCIgDSazDbGmDbG0G0huzpVwg7GFWMfNQBHGKUKLHPDPg+Egl2PQOWoSE6IYJqANIgPxcRAN3HTRhlav8N3vMf/ZzaXywAAAAASUVORK5CYII=")},
|
||||||
|
{HierarchyBackground.ClrEmerald, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAnUlEQVQ4EZ1RQQ6AIAwD3+FjPPltH6aClFgcyBaFZLCwtuvAz9u6OOfOFCHFcccuTuQM1FlDHqa0cUUmxtliohTwBlEtSQEVZBQ8BYa6Q5gCmK2dz2j8lCgAB39dZDwFIDnioPzCCBlNq0f8MsILo43wAqJdWtIp8moEjZSZ2kYHQ2SIUkBrYN3nplKgna9Hlk6BL78AsCz2yL27eAFBSiFE/wbSXQAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrSpringGreen, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuElEQVQ4EY1QiRHDMAizu0W2yVqdt2PkcQFHOSHXbXNHwFgPuC6v51pKOSxOi/2KjbLXHMB4Ph7286/2dP/1jAvuRw0BBzSgpKZ2woQrBJjsBHZiAe43J0FASSoIkaEPAVZWMZA1D2+ggE9nNUorDON1hcRhjNcVK6gbAalUlJ1DwDxCje6TLfW1bCFwebAV10rCOUxmK/w7QXoDJs0mUExfATN9z8EdhLECK090gsu4qCEwIf1s1zfz0iebR6oUSwAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrAquamarine, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAm0lEQVQ4Ea2QgQ2AIAwEwS3cxnWdyzFUkEdKPgVJjZoUHmmvT/28rYtzLqQ4Upxl32mHlkCO3EGHKS34Ygqf1ctFANZiNOIvCoB/QluBXgAgM501wxmctQBwaC65smgNfnyCTuywbsfiAAWWIg2qM2D7Oml4ZgfDxM4lmtYZfHagG5iB/AQusg60DhEOrEXs9r8ZoDs/gbuwbnIuS1cjyK4dccAAAAAASUVORK5CYII=")},
|
||||||
|
{HierarchyBackground.ClrCyan, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtUlEQVQ4EY2RixHEIAhE9bpIN+m/jZRx+RyQwDwxOpcZZHWXFWJdtm0tpZwSh8T+xBdZsYfyzik+P7Lod90p1hqoBVlX3GBU0Ja3O6253KCl+o6c50XWzauBqCj0Ys15hEqDIAUEZrXgzpgGHZmK89b0NBjdykJqDNOAwlE3+Txegc5qlPduzvNuBBfNcu4gXkEJksQ0ZAd6HiPYhso/sJnxJ45upVfWxAgUzfB0hFmhc+zA8A9ikycD6t24QAAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrSkyBlue, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsElEQVQ4EY2Qiw3DMAhE7W7Rbbpwp+oYbZIa1EPPH5pEQjnguAPX+/P1KKXsLbYWH8S74VWI4/xbI+k7BNqfGOVSkThHApawSYyZGUpg7qwr3MxNJHDVkbzuhNGPTuyxbmJVG5BkmE5jr8slQGUjjHk39EuMc0hgRTirdSdYQtfsBNanDdg8c49+dgK3CfKwpdczAQ5l2DfOBC6fIwF/EFjFCX+UnCMBmyU3cChBnfALCzcmyTdoAdUAAAAASUVORK5CYII=")},
|
||||||
|
{HierarchyBackground.ClrAzure, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAs0lEQVQ4EaWRgRGDMAhFk27RbVys03aMVi2QEl+ISb2rdyjC5/E1+f54LimlVWKTeCNekp8FNdtNRHplid2y+U11flnuAC2y6aLZUxfuDriyPcI6BxRcAZrGHegwh0af02kIoIMjH6HKwkzAuZQ7D2zNHBCHf4zV+b9OwSh0wK3RUV0ZEwdonUOExZnmnYCm0b0QX5paaU5hvrV0idFK/Ynqn83OwLfAJa0DdtTaiIC6OfgAbicnnDm2y8cAAAAASUVORK5CYII=")},
|
||||||
|
{HierarchyBackground.ClrCerulean, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAr0lEQVQ4EY2SgRHCMAwDE7ZgGwZg/wUYA0qJfHXu42Jw79w6liLZTfr1/ri11rYR7xEvxHPk34Kc7TJIevqI3bLfL/H8Ud5dQEWCTvr33V2g4h7FbI8LVEeIIs0FBFRGYKfGpwDBk9NRoMkyghYEM4FoMk+hslmi5FnOETJX1tnBaQQSs5wdiDPvQQQyAXZgHB8hAnGdCS73ICUBYKfKl1Mou0Jw/gPVqA7OkkaT/gE58CRsKSA1HwAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrBlue, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAArElEQVQ4EZWQAQ6AIAhFtdt0i+5/ku5QaUDSPojL2lj4+TzQvK77llK6KArFCXFQHgV6ykKm6KuRGGkKyFEx0LyvKoAmmqHeGLAeSQHUkJGAOTajLkMUwKbpqUDMCEA6eEzqh7xvwC4sYo6EbsjfDRAmuQKALCmcux4jKIDFtrb8RlfwunlEQ5448JbvIzJ5eu0Gl230Ctzs12u+4U96FDB0fRTMFT68XVk2vgEQ1iRfQ76zdwAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrIndigo, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAq0lEQVQ4EY2S0Q2EMAxDWyZhlNvh9v9mCEAcDkr1GgoXpEKIHcdG1O+8fEopO8521jrr4HjfOft0knTV6/H3fkSGC9yASBy8a2l1AeEZF5FzUGCw5LUl152DTIzIaQ4sz+u+C2QEm2EEqrOmLvuqmwMCGuAmCrDfOSDAgVhzkdWMkBEhR3WLEDc9vdOBcdzBDXhSQF8z7T8wOwAzZRfB1BJT/AadgzibiWRiP5amKH4XBiZzAAAAAElFTkSuQmCC")},
|
||||||
|
{HierarchyBackground.ClrViolet, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAArklEQVQ4EZWSAQ7DIAhFdXfZPXq5nXWH2FonzJ88xSWsCQXh+0Db+rg/j1LK2e3q9h72grdYZnXVbM956y976tf99W6mFsAXie1BJ0Bir0s4qccCsGDKda0GnGA6ggTyFCq3800T7Iq7XJiMgEzXoCGAHUOnUWTe4koAi6HTADDvMQGZCVbNdImkU/grNv10BArTMB3BaSDwPpAOP9h0BAozE0xfYe24rgUn2OL2AUS9JrOiCXynAAAAAElFTkSuQmCC")},
|
||||||
|
{HierarchyBackground.ClrPurple, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAArElEQVQ4EY2Qiw3DMAhE7Y6UCbp0huoM+Tg+5ItOJqRYIoA5Hjh1XX7fUsrZbe92DL+JR6wGHe389ASndasW5T+mJwAJIDwRTO9NTwAatUjQX0+ATkfTnBPk7gmYn8CGN289BECYeYLTEIDVdD0nHKuoxmICoobRF7pKABQK0UlhNwoKeBVGRQKyE3VLMBsBKGQgTkMACkrXGJOeDjT3T8xu4EDcwBWCi3mzdgHb3ST1vqEGMwAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrMagenta, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuElEQVQ4EZWSgRHDIAhFsSt1ge4/RBZpGwso6ZNorvUO/crnBXOW7b49ROStsWu8ejyxmo6wfORM7zedbBSN6qpNtp8NeixfA5ATs2I7y+ASgFzwK1AIIJ2acILNc1yBpitNsMOiA6ddVa5yAWBrK6+dn3wBYGtTY6dmH39iZZK61/rCDtwTHWh2qKGxAYb0FwbA+X6tss8NSUzuYLCvNuzMNTtgEb/Ec2rzHE+ZZJqyzuC/X2IGygdrCCcSvgMbtAAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrFuchsia, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAArklEQVQ4EZ2QARLDIAgEtS/Li/OrvqJJU4/MMSeUpFNnkBNhEftzWZfW2j7sPWwTew39zZiDmu0xNqx+Ot8PV7OIeZ2AOS0D4z3PRwVgwq2vANUIGjddAarO+gfQ0x8oXRMrGOL+B1p8VZDuOII9J93mgDaCLkfIpWckjcYXKBmp8UxgjOMPPKZ01SyG17jpATCPzUlBo5Ar5XAEJCidBbeeACX/CuMI1uSf7tb0A2xIJvWEOFUAAAAAAElFTkSuQmCC")},
|
||||||
|
{HierarchyBackground.ClrRose, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuElEQVQ4EZWRAQ7CMAwDW37DL/gW7+UZMEYd5s5yGgkqZXNS55Jp/XG931pr24j3iJfEc2gP3KNG33YZCU4fsYf6ZqeexSTQ0wiAjgLEQJ06CvWDAJ/o+YoATyfAJ3q+AsCzE+CGaoNUrwDVBqleAdKkY0WthyZAL/xzNNcNQhOA5BeIeqDnX8AUpSNfneThBm5OxsOgG8TWBOgFvJ77gJkT4E3VBrORggA0aFO1gXqCQQCB/7xjyAdN/ienW2LnbwAAAABJRU5ErkJggg==")},
|
||||||
|
{HierarchyBackground.ClrCrimson, new Lazy<string>(()=> "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAs0lEQVQ4EYWS0Q3DIAxEIat0kf53/w26RZNQ2+iiM+6lkQzHYT8wSn8/Xs/W2mFxWuwUH9O/Ajles282+NfndI3jUlmseR2AnFaB6z7WQwGQ8HdWANUC+6EVQJ3Mb+A6vQHTOVHB3Lc3mKlcfFdQ9rY2S+M6ZbcafJBr2UItnU5pDY/IZE9d1wCufvoPmM4axT6zHxo38AXTWTOA/dAAOJvpXHSrARjp/HxVBSgtqETlRwtfnlAndOonlR0AAAAASUVORK5CYII=")},
|
||||||
|
};
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Public
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
public static Texture2D GetBackground(int type)
|
||||||
|
{
|
||||||
|
return GetBackground((HierarchyBackground) type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Texture2D GetBackground(HierarchyBackground type)
|
||||||
|
{
|
||||||
|
return StorageHelper.GetTexture(type, FilterMode.Bilinear, BACKGROUND_STRINGS, BACKGROUND_TEXTURES);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user