diff --git a/Assets/Devel/Editor/Data/RainbowFoldersSettings.asset b/Assets/Devel/Editor/Data/RainbowFoldersSettings.asset index dcd683e..0d8a186 100644 --- a/Assets/Devel/Editor/Data/RainbowFoldersSettings.asset +++ b/Assets/Devel/Editor/Data/RainbowFoldersSettings.asset @@ -176,3 +176,23 @@ MonoBehaviour: Key: Assets/Devel/Examples/Colors/12. Magenta SmallIcon: {fileID: 2800000, guid: f14480b09218f3047a15b5ded872de28, type: 3} LargeIcon: {fileID: 2800000, guid: 38dec0c9e1ada504d98f8a0f4959a215, type: 3} + - Type: 1 + Key: Assets/Devel/Examples/Platforms/Android + SmallIcon: {fileID: 2800000, guid: 6858fce162a9b4744baedb1357e0b690, type: 3} + LargeIcon: {fileID: 2800000, guid: c1e5c2a549b1b8048a04987738bb9c52, type: 3} + - Type: 1 + Key: Assets/Devel/Examples/Platforms/iOS + SmallIcon: {fileID: 2800000, guid: 25e93be6802c63c408e62e4bdfa4e91f, type: 3} + LargeIcon: {fileID: 2800000, guid: 6888916ad986e2944a731fd320e5f566, type: 3} + - Type: 1 + Key: Assets/Devel/Examples/Platforms/Windows + SmallIcon: {fileID: 2800000, guid: 277aff0709e51d2418b61f0c82cb277f, type: 3} + LargeIcon: {fileID: 2800000, guid: c34025bbb220b844a8e633a414c63632, type: 3} + - Type: 1 + Key: Assets/Devel/Examples/Platforms/Mac + SmallIcon: {fileID: 2800000, guid: 54a92a89ce169714a9a00aebb271cdd6, type: 3} + LargeIcon: {fileID: 2800000, guid: 80ea8e29a9c225e4291234d6ba25a868, type: 3} + - Type: 1 + Key: Assets/Devel/Examples/Platforms/WebGL + SmallIcon: {fileID: 2800000, guid: b8e8a328d6527a14783473666c1f8a08, type: 3} + LargeIcon: {fileID: 2800000, guid: 010e6d817952d434197d318f48b2f16a, type: 3} diff --git a/Assets/Devel/Examples/Platforms.meta b/Assets/Devel/Examples/Platforms.meta new file mode 100644 index 0000000..26d1f25 --- /dev/null +++ b/Assets/Devel/Examples/Platforms.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0ea21e96af33ddb428bc7c6e7e23a290 +folderAsset: yes +timeCreated: 1482626120 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/Android.meta b/Assets/Devel/Examples/Platforms/Android.meta new file mode 100644 index 0000000..81509d8 --- /dev/null +++ b/Assets/Devel/Examples/Platforms/Android.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1f4785939259b904d8fc5b59615f4e94 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/Android/stub.file b/Assets/Devel/Examples/Platforms/Android/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Devel/Examples/Platforms/Android/stub.file.meta b/Assets/Devel/Examples/Platforms/Android/stub.file.meta new file mode 100644 index 0000000..96bae79 --- /dev/null +++ b/Assets/Devel/Examples/Platforms/Android/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 090a3079f9ea61a428e4118769dbabe4 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/Mac.meta b/Assets/Devel/Examples/Platforms/Mac.meta new file mode 100644 index 0000000..e48a3ff --- /dev/null +++ b/Assets/Devel/Examples/Platforms/Mac.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bdd5cdf9230f6ea4b9b43a4bda1cd5e8 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/Mac/stub.file b/Assets/Devel/Examples/Platforms/Mac/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Devel/Examples/Platforms/Mac/stub.file.meta b/Assets/Devel/Examples/Platforms/Mac/stub.file.meta new file mode 100644 index 0000000..6c8e522 --- /dev/null +++ b/Assets/Devel/Examples/Platforms/Mac/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8bcbda759754c8c4aa28ddcc5f971bf3 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/WebGL.meta b/Assets/Devel/Examples/Platforms/WebGL.meta new file mode 100644 index 0000000..ef550a3 --- /dev/null +++ b/Assets/Devel/Examples/Platforms/WebGL.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2a07be3c715294a439015ed839590610 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/WebGL/stub.file b/Assets/Devel/Examples/Platforms/WebGL/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Devel/Examples/Platforms/WebGL/stub.file.meta b/Assets/Devel/Examples/Platforms/WebGL/stub.file.meta new file mode 100644 index 0000000..04d91b9 --- /dev/null +++ b/Assets/Devel/Examples/Platforms/WebGL/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0847eb650e6d06544ac3dcc90c8474dd +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/Windows.meta b/Assets/Devel/Examples/Platforms/Windows.meta new file mode 100644 index 0000000..769d3fd --- /dev/null +++ b/Assets/Devel/Examples/Platforms/Windows.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 775059cf5f450cc4a9689e48d9b79e47 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/Windows/stub.file b/Assets/Devel/Examples/Platforms/Windows/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Devel/Examples/Platforms/Windows/stub.file.meta b/Assets/Devel/Examples/Platforms/Windows/stub.file.meta new file mode 100644 index 0000000..2a3090d --- /dev/null +++ b/Assets/Devel/Examples/Platforms/Windows/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1f7b8cdf0ab2bfe41a64e55bb09d1635 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/iOS.meta b/Assets/Devel/Examples/Platforms/iOS.meta new file mode 100644 index 0000000..86f062e --- /dev/null +++ b/Assets/Devel/Examples/Platforms/iOS.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b798a70149127ba4389eac3c662446ff +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Devel/Examples/Platforms/iOS/stub.file b/Assets/Devel/Examples/Platforms/iOS/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Devel/Examples/Platforms/iOS/stub.file.meta b/Assets/Devel/Examples/Platforms/iOS/stub.file.meta new file mode 100644 index 0000000..61bcb92 --- /dev/null +++ b/Assets/Devel/Examples/Platforms/iOS/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e0ed85377e266c439f24641af4590f8 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Data/FolderPlatformsStorage.asset b/Assets/RainbowFolders/Editor/Data/FolderPlatformsStorage.asset new file mode 100644 index 0000000..d064e5a --- /dev/null +++ b/Assets/RainbowFolders/Editor/Data/FolderPlatformsStorage.asset @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 372d6f116aea7bc42982a74242d63567, type: 3} + m_Name: FolderPlatformsStorage + m_EditorClassIdentifier: + PlatformFolderIcons: + - Platform: 0 + SmallIcon: {fileID: 2800000, guid: 6858fce162a9b4744baedb1357e0b690, type: 3} + LargeIcon: {fileID: 2800000, guid: c1e5c2a549b1b8048a04987738bb9c52, type: 3} + - Platform: 1 + SmallIcon: {fileID: 2800000, guid: 25e93be6802c63c408e62e4bdfa4e91f, type: 3} + LargeIcon: {fileID: 2800000, guid: 6888916ad986e2944a731fd320e5f566, type: 3} + - Platform: 2 + SmallIcon: {fileID: 2800000, guid: 54a92a89ce169714a9a00aebb271cdd6, type: 3} + LargeIcon: {fileID: 2800000, guid: 80ea8e29a9c225e4291234d6ba25a868, type: 3} + - Platform: 3 + SmallIcon: {fileID: 2800000, guid: b8e8a328d6527a14783473666c1f8a08, type: 3} + LargeIcon: {fileID: 2800000, guid: 010e6d817952d434197d318f48b2f16a, type: 3} + - Platform: 4 + SmallIcon: {fileID: 2800000, guid: 277aff0709e51d2418b61f0c82cb277f, type: 3} + LargeIcon: {fileID: 2800000, guid: c34025bbb220b844a8e633a414c63632, type: 3} diff --git a/Assets/RainbowFolders/Editor/Data/FolderPlatformsStorage.asset.meta b/Assets/RainbowFolders/Editor/Data/FolderPlatformsStorage.asset.meta new file mode 100644 index 0000000..98b8cf7 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Data/FolderPlatformsStorage.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c8106d2b4027a642a1c24788b494412 +timeCreated: 1483479066 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Data/RainbowFoldersSettings.asset b/Assets/RainbowFolders/Editor/Data/RainbowFoldersSettings.asset index 0bfd4a5..5fca3be 100644 --- a/Assets/RainbowFolders/Editor/Data/RainbowFoldersSettings.asset +++ b/Assets/RainbowFolders/Editor/Data/RainbowFoldersSettings.asset @@ -12,34 +12,30 @@ MonoBehaviour: m_Name: RainbowFoldersSettings m_EditorClassIdentifier: Folders: + - Type: 0 + Key: Audio + SmallIcon: {fileID: 2800000, guid: 4372cfb8a7d3b5b4d9b899147b193270, type: 3} + LargeIcon: {fileID: 2800000, guid: 65e13c9890ffa26478506eda78683d5c, type: 3} + - Type: 0 + Key: Editor + SmallIcon: {fileID: 2800000, guid: ec2951dbd8c22234c8fdf92529d860fd, type: 3} + LargeIcon: {fileID: 2800000, guid: ad4412933c34d994a9a6daafb8202f4a, type: 3} + - Type: 0 + Key: Data + SmallIcon: {fileID: 2800000, guid: 97efd597cd18c564aadb45280476b23a, type: 3} + LargeIcon: {fileID: 2800000, guid: 650a564eae901434e86dcb456fcc046a, type: 3} - Type: 1 Key: Assets/Editor Default Resources SmallIcon: {fileID: 2800000, guid: 97efd597cd18c564aadb45280476b23a, type: 3} LargeIcon: {fileID: 2800000, guid: 650a564eae901434e86dcb456fcc046a, type: 3} - - Type: 0 - Key: Prefabs - SmallIcon: {fileID: 2800000, guid: 483d693b3f9d5704b89409016b40bc74, type: 3} - LargeIcon: {fileID: 2800000, guid: fac7470563f79024ebc244b39080448d, type: 3} - - Type: 0 - Key: Scenes - SmallIcon: {fileID: 2800000, guid: 40ff06f7c381dcf4391ca8342d04260c, type: 3} - LargeIcon: {fileID: 2800000, guid: f9d86cd8e960f584a9aa5a8ee61c4115, type: 3} - - Type: 0 - Key: Scripts - SmallIcon: {fileID: 2800000, guid: ed89c5b2588683046989a2a138f3b343, type: 3} - LargeIcon: {fileID: 2800000, guid: 9fca1a811da70484494d9e10d46e0636, type: 3} - Type: 0 Key: Extensions SmallIcon: {fileID: 2800000, guid: 0a498e8f7fbcbef4db91d2d411e3f70f, type: 3} LargeIcon: {fileID: 2800000, guid: b88339035f924f94eab1e64bac79149f, type: 3} - Type: 0 - Key: Plugins - SmallIcon: {fileID: 2800000, guid: 8f45cff1df9688244b1fa6e2da91e05f, type: 3} - LargeIcon: {fileID: 2800000, guid: 15c3471930a7ff44aa9a30bc21a5ea06, type: 3} - - Type: 0 - Key: Textures - SmallIcon: {fileID: 2800000, guid: 27bb0c12d809b1e4fb2851723d50cde6, type: 3} - LargeIcon: {fileID: 2800000, guid: f61940b61bdca1843bed2dbc93de9038, type: 3} + Key: Fonts + SmallIcon: {fileID: 2800000, guid: 163b4b589845fee47ac105cdfb911b77, type: 3} + LargeIcon: {fileID: 2800000, guid: 87a78956e37a460439f1871712ce87fc, type: 3} - Type: 0 Key: Icons SmallIcon: {fileID: 2800000, guid: 27bb0c12d809b1e4fb2851723d50cde6, type: 3} @@ -49,29 +45,37 @@ MonoBehaviour: SmallIcon: {fileID: 2800000, guid: 0508340b76cfbdd43826ca620f578abd, type: 3} LargeIcon: {fileID: 2800000, guid: a4decc2460e61e44b9ccd3d2d248738b, type: 3} - Type: 0 - Key: Audio - SmallIcon: {fileID: 2800000, guid: 4372cfb8a7d3b5b4d9b899147b193270, type: 3} - LargeIcon: {fileID: 2800000, guid: 65e13c9890ffa26478506eda78683d5c, type: 3} + Key: Meshes + SmallIcon: {fileID: 2800000, guid: 268edea26d8cd504da659cc71a1d8549, type: 3} + LargeIcon: {fileID: 2800000, guid: e69e4447e8078c441b3a955855f4f080, type: 3} + - Type: 0 + Key: Plugins + SmallIcon: {fileID: 2800000, guid: 8f45cff1df9688244b1fa6e2da91e05f, type: 3} + LargeIcon: {fileID: 2800000, guid: 15c3471930a7ff44aa9a30bc21a5ea06, type: 3} + - Type: 0 + Key: Prefabs + SmallIcon: {fileID: 2800000, guid: 483d693b3f9d5704b89409016b40bc74, type: 3} + LargeIcon: {fileID: 2800000, guid: fac7470563f79024ebc244b39080448d, type: 3} - Type: 0 Key: Project SmallIcon: {fileID: 2800000, guid: 36e0a02c0316e0b40bd7ffc8eb437a7f, type: 3} LargeIcon: {fileID: 2800000, guid: ce20e3678b7748244854c06fcd7d7d00, type: 3} - Type: 0 - Key: Fonts - SmallIcon: {fileID: 2800000, guid: 163b4b589845fee47ac105cdfb911b77, type: 3} - LargeIcon: {fileID: 2800000, guid: 87a78956e37a460439f1871712ce87fc, type: 3} - - Type: 0 - Key: Editor - SmallIcon: {fileID: 2800000, guid: ec2951dbd8c22234c8fdf92529d860fd, type: 3} - LargeIcon: {fileID: 2800000, guid: ad4412933c34d994a9a6daafb8202f4a, type: 3} + Key: RainbowFolders + SmallIcon: {fileID: 2800000, guid: 8d50cf779e5b4f54a831bdefc32b044c, type: 3} + LargeIcon: {fileID: 2800000, guid: 5c32cf9ad519d0c4aacb16805c45eab3, type: 3} - Type: 0 Key: Resources SmallIcon: {fileID: 2800000, guid: 97efd597cd18c564aadb45280476b23a, type: 3} LargeIcon: {fileID: 2800000, guid: 650a564eae901434e86dcb456fcc046a, type: 3} - Type: 0 - Key: Data - SmallIcon: {fileID: 2800000, guid: 97efd597cd18c564aadb45280476b23a, type: 3} - LargeIcon: {fileID: 2800000, guid: 650a564eae901434e86dcb456fcc046a, type: 3} + Key: Scenes + SmallIcon: {fileID: 2800000, guid: 40ff06f7c381dcf4391ca8342d04260c, type: 3} + LargeIcon: {fileID: 2800000, guid: f9d86cd8e960f584a9aa5a8ee61c4115, type: 3} + - Type: 0 + Key: Scripts + SmallIcon: {fileID: 2800000, guid: ed89c5b2588683046989a2a138f3b343, type: 3} + LargeIcon: {fileID: 2800000, guid: 9fca1a811da70484494d9e10d46e0636, type: 3} - Type: 0 Key: Shaders SmallIcon: {fileID: 2800000, guid: 015a543b4163bfa498964b0db1004815, type: 3} @@ -81,10 +85,26 @@ MonoBehaviour: SmallIcon: {fileID: 2800000, guid: c75be7d9cde129149bb04f51d452d85a, type: 3} LargeIcon: {fileID: 2800000, guid: 4716b9cfe49343c499142d04bb004e0b, type: 3} - Type: 0 - Key: Meshes - SmallIcon: {fileID: 2800000, guid: 268edea26d8cd504da659cc71a1d8549, type: 3} - LargeIcon: {fileID: 2800000, guid: e69e4447e8078c441b3a955855f4f080, type: 3} + Key: Textures + SmallIcon: {fileID: 2800000, guid: 27bb0c12d809b1e4fb2851723d50cde6, type: 3} + LargeIcon: {fileID: 2800000, guid: f61940b61bdca1843bed2dbc93de9038, type: 3} - Type: 0 - Key: RainbowFolders - SmallIcon: {fileID: 2800000, guid: 8d50cf779e5b4f54a831bdefc32b044c, type: 3} - LargeIcon: {fileID: 2800000, guid: 5c32cf9ad519d0c4aacb16805c45eab3, type: 3} + Key: Android + SmallIcon: {fileID: 2800000, guid: 6858fce162a9b4744baedb1357e0b690, type: 3} + LargeIcon: {fileID: 2800000, guid: c1e5c2a549b1b8048a04987738bb9c52, type: 3} + - Type: 0 + Key: iOS + SmallIcon: {fileID: 2800000, guid: 25e93be6802c63c408e62e4bdfa4e91f, type: 3} + LargeIcon: {fileID: 2800000, guid: 6888916ad986e2944a731fd320e5f566, type: 3} + - Type: 0 + Key: Windows + SmallIcon: {fileID: 2800000, guid: 277aff0709e51d2418b61f0c82cb277f, type: 3} + LargeIcon: {fileID: 2800000, guid: c34025bbb220b844a8e633a414c63632, type: 3} + - Type: 0 + Key: Mac + SmallIcon: {fileID: 2800000, guid: 54a92a89ce169714a9a00aebb271cdd6, type: 3} + LargeIcon: {fileID: 2800000, guid: 80ea8e29a9c225e4291234d6ba25a868, type: 3} + - Type: 0 + Key: WebGL + SmallIcon: {fileID: 2800000, guid: b8e8a328d6527a14783473666c1f8a08, type: 3} + LargeIcon: {fileID: 2800000, guid: 010e6d817952d434197d318f48b2f16a, type: 3} diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms.meta new file mode 100644 index 0000000..ecff85c --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1d86ff2c8bb671b419b23f5982c30452 +folderAsset: yes +timeCreated: 1482626251 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_16.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_16.png new file mode 100644 index 0000000..f804d01 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_16.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_16.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_16.png.meta new file mode 100644 index 0000000..ec5f3b7 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_16.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 6858fce162a9b4744baedb1357e0b690 +timeCreated: 1482606023 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_64.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_64.png new file mode 100644 index 0000000..cc4c92e Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_64.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_64.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_64.png.meta new file mode 100644 index 0000000..67af15f --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/android_icon_64.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: c1e5c2a549b1b8048a04987738bb9c52 +timeCreated: 1482601001 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_16.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_16.png new file mode 100644 index 0000000..9bac317 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_16.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_16.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_16.png.meta new file mode 100644 index 0000000..ef04943 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_16.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 25e93be6802c63c408e62e4bdfa4e91f +timeCreated: 1482616768 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_64.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_64.png new file mode 100644 index 0000000..5d34699 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_64.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_64.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_64.png.meta new file mode 100644 index 0000000..a2f63b5 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/ios_icon_64.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 6888916ad986e2944a731fd320e5f566 +timeCreated: 1482611704 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_16.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_16.png new file mode 100644 index 0000000..33fc4c0 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_16.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_16.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_16.png.meta new file mode 100644 index 0000000..2e7e52e --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_16.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 54a92a89ce169714a9a00aebb271cdd6 +timeCreated: 1482630105 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_64.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_64.png new file mode 100644 index 0000000..8b01456 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_64.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_64.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_64.png.meta new file mode 100644 index 0000000..57c628a --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/mac_icon_64.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 80ea8e29a9c225e4291234d6ba25a868 +timeCreated: 1482629551 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_16.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_16.png new file mode 100644 index 0000000..726fca9 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_16.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_16.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_16.png.meta new file mode 100644 index 0000000..e5d6561 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_16.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: b8e8a328d6527a14783473666c1f8a08 +timeCreated: 1482634858 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_64.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_64.png new file mode 100644 index 0000000..8c71944 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_64.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_64.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_64.png.meta new file mode 100644 index 0000000..082f40e --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/webgl_icon_64.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 010e6d817952d434197d318f48b2f16a +timeCreated: 1482633724 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_16.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_16.png new file mode 100644 index 0000000..1408478 Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_16.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_16.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_16.png.meta new file mode 100644 index 0000000..6d9b4fd --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_16.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 277aff0709e51d2418b61f0c82cb277f +timeCreated: 1482626054 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_64.png b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_64.png new file mode 100644 index 0000000..af78c9c Binary files /dev/null and b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_64.png differ diff --git a/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_64.png.meta b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_64.png.meta new file mode 100644 index 0000000..f5a1e69 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Icons/Types/Platforms/win_icon_64.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: c34025bbb220b844a8e633a414c63632 +timeCreated: 1482623679 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Helpers/RainbowFoldersEditorUtility.cs b/Assets/RainbowFolders/Editor/Scripts/Helpers/RainbowFoldersEditorUtility.cs index 468e37e..465729f 100644 --- a/Assets/RainbowFolders/Editor/Scripts/Helpers/RainbowFoldersEditorUtility.cs +++ b/Assets/RainbowFolders/Editor/Scripts/Helpers/RainbowFoldersEditorUtility.cs @@ -15,6 +15,7 @@ using System; using System.Diagnostics.CodeAnalysis; using System.IO; +using System.Linq; using UnityEditor; using UnityEngine; @@ -122,10 +123,27 @@ public static Texture2D GetAssetLogo() return GetTexture(ref _assetLogo, "rainbow_logo_64.png"); } + //--------------------------------------------------------------------- + // Windows + //--------------------------------------------------------------------- + + public static EditorWindow GetProjectWindow() + { + return GetWindowByName("UnityEditor.ProjectWindow") + ?? GetWindowByName("UnityEditor.ObjectBrowser") + ?? GetWindowByName("UnityEditor.ProjectBrowser"); + } + //--------------------------------------------------------------------- // Helpers //--------------------------------------------------------------------- + private static EditorWindow GetWindowByName(string pName) + { + var objectList = Resources.FindObjectsOfTypeAll(typeof(EditorWindow)); + return (from obj in objectList where obj.GetType().ToString() == pName select ((EditorWindow)obj)).FirstOrDefault(); + } + private static Texture2D GetEditIconSmall() { return GetTexture(ref _editIconSmall, "icon_edit_16.png"); diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms.meta b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms.meta new file mode 100644 index 0000000..7d0c078 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2a4802d7706ef944dbc6174b6b13cf45 +folderAsset: yes +timeCreated: 1471261623 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatform.cs b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatform.cs new file mode 100644 index 0000000..1e270fb --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatform.cs @@ -0,0 +1,27 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +using System; +using UnityEngine; + +namespace Borodar.RainbowFolders.Editor +{ + [Serializable] + public class FolderPlatform + { + public FolderPlatformName Platform; + public Texture2D SmallIcon; + public Texture2D LargeIcon; + } +} \ No newline at end of file diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatform.cs.meta b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatform.cs.meta new file mode 100644 index 0000000..7a5e857 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatform.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c1237bde1cc2c7e4caa2fb01b33cc0fa +timeCreated: 1471261623 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformDrawer.cs b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformDrawer.cs new file mode 100644 index 0000000..d240b9b --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformDrawer.cs @@ -0,0 +1,78 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +using UnityEngine; +using UnityEditor; + +namespace Borodar.RainbowFolders.Editor +{ + [CustomPropertyDrawer(typeof(FolderPlatform))] + public class FolderPlatformDrawer : PropertyDrawer + { + private const float PADDING = 8f; + private const float LINE_HEIGHT = 16f; + private const float LABELS_WIDTH = 100f; + private const float PREVIEW_SIZE_SMALL = 16f; + private const float PREVIEW_SIZE_LARGE = 64f; + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + var originalPosition = position; + + var folderType = property.FindPropertyRelative("Platform"); + var smallIcon = property.FindPropertyRelative("SmallIcon"); + var largeIcon = property.FindPropertyRelative("LargeIcon"); + + // Labels + + position.y += PADDING; + position.width = LABELS_WIDTH; + position.height = LINE_HEIGHT; + + EditorGUI.LabelField(position, "Folder Color"); + position.y += LINE_HEIGHT; + EditorGUI.LabelField(position, "Small Icon"); + position.y += LINE_HEIGHT; + EditorGUI.LabelField(position, "Large Icon"); + + // Values + + position.x += LABELS_WIDTH; + position.y = originalPosition.y + PADDING; + position.width = originalPosition.width - LABELS_WIDTH - PREVIEW_SIZE_LARGE - PADDING; + + EditorGUI.PropertyField(position, folderType, GUIContent.none); + position.y += LINE_HEIGHT; + EditorGUI.PropertyField(position, smallIcon, GUIContent.none); + position.y += LINE_HEIGHT; + EditorGUI.PropertyField(position, largeIcon, GUIContent.none); + + // Preview + + position.x += position.width + PADDING; + position.y = originalPosition.y; + position.width = position.height = PREVIEW_SIZE_LARGE; + GUI.DrawTexture(position, (Texture2D)largeIcon.objectReferenceValue ?? RainbowFoldersEditorUtility.GetDefaultFolderIcon()); + + position.y += PREVIEW_SIZE_LARGE - PREVIEW_SIZE_SMALL - 4f; + position.width = position.height = PREVIEW_SIZE_SMALL; + GUI.DrawTexture(position, (Texture2D)smallIcon.objectReferenceValue ?? RainbowFoldersEditorUtility.GetDefaultFolderIcon()); + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return PREVIEW_SIZE_LARGE; + } + } +} \ No newline at end of file diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformDrawer.cs.meta b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformDrawer.cs.meta new file mode 100644 index 0000000..e4db4a3 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformDrawer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 560b3369766136d499d4071d1bc94e4f +timeCreated: 1471261623 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformName.cs b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformName.cs new file mode 100644 index 0000000..6a7335d --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformName.cs @@ -0,0 +1,25 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +namespace Borodar.RainbowFolders.Editor +{ + public enum FolderPlatformName + { + Android = 0, + iOS = 1, + Mac = 2, + WebGL = 3, + Windows = 4 + } +} diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformName.cs.meta b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformName.cs.meta new file mode 100644 index 0000000..d393510 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformName.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cfab7899befb8fd41ad64883003467a8 +timeCreated: 1471261623 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorage.cs b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorage.cs new file mode 100644 index 0000000..06bdb87 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorage.cs @@ -0,0 +1,57 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +using UnityEngine; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using EditorUtility = Borodar.RainbowFolders.Editor.RainbowFoldersEditorUtility; + +namespace Borodar.RainbowFolders.Editor +{ + public class FolderPlatformsStorage : ScriptableObject + { + private const string RELATIVE_PATH = "Editor/Data/FolderPlatformsStorage.asset"; + + public List PlatformFolderIcons; + + //--------------------------------------------------------------------- + // Instance + //--------------------------------------------------------------------- + + private static FolderPlatformsStorage _instance; + + [SuppressMessage("ReSharper", "ConvertIfStatementToNullCoalescingExpression")] + public static FolderPlatformsStorage Instance + { + get + { + if (_instance == null) + _instance = EditorUtility.LoadFromAsset(RELATIVE_PATH); + + return _instance; + } + } + + //--------------------------------------------------------------------- + // Public + //--------------------------------------------------------------------- + + public FolderIconPair GetIconsByType(FolderPlatformName platform) + { + var colorFolder = PlatformFolderIcons.Single(x => x.Platform == platform); + return new FolderIconPair { SmallIcon = colorFolder.SmallIcon, LargeIcon = colorFolder.LargeIcon }; + } + } +} diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorage.cs.meta b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorage.cs.meta new file mode 100644 index 0000000..bfed951 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorage.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 372d6f116aea7bc42982a74242d63567 +timeCreated: 1471261623 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorageEditor.cs b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorageEditor.cs new file mode 100644 index 0000000..77edeb8 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorageEditor.cs @@ -0,0 +1,44 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +using Borodar.ReorderableList; +using UnityEditor; +using UnityEngine; + +namespace Borodar.RainbowFolders.Editor +{ + [CustomEditor(typeof(FolderPlatformsStorage))] + public class FolderPlatformsStorageEditor : UnityEditor.Editor + { + private const string PROP_NAME_FOLDERS = "PlatformFolderIcons"; + + private SerializedProperty _foldersProperty; + + protected void OnEnable() + { + _foldersProperty = serializedObject.FindProperty(PROP_NAME_FOLDERS); + } + + public override void OnInspectorGUI() + { + GUI.enabled = false; + EditorGUILayout.HelpBox("This is internal file for RainbowFolders. Do not edit.", MessageType.Warning); + + serializedObject.Update(); + ReorderableListGUI.Title("Internal storage of folder types icons"); + ReorderableListGUI.ListField(_foldersProperty); + serializedObject.ApplyModifiedProperties(); + } + } +} \ No newline at end of file diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorageEditor.cs.meta b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorageEditor.cs.meta new file mode 100644 index 0000000..f1248a2 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/Platforms/FolderPlatformsStorageEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 01099210b0c261b4d918dbe06316bfc1 +timeCreated: 1471261623 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersContextMenu.cs b/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersContextMenu.cs new file mode 100644 index 0000000..bc7086a --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersContextMenu.cs @@ -0,0 +1,289 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +using System.Linq; +using Borodar.RainbowFolders.Editor.Settings; +using UnityEditor; +using UnityEngine; + +namespace Borodar.RainbowFolders.Editor +{ + public static class RainbowFoldersContextMenu + { + private const string MENU_BASE = "Assets/Rainbow Folders/"; + + // Items + private const string ITEM_CUSTOM = MENU_BASE + "Apply Custom"; + private const string ITEM_DEFAULT = MENU_BASE + "Revert to Default"; + private const string ITEM_SETTINGS = MENU_BASE + "Settings"; + + // Sub-menus + private const string MENU_COLOR = MENU_BASE + "Color/"; + private const string MENU_TAG = MENU_BASE + "Tag/"; + private const string MENU_TYPE = MENU_BASE + "Type/"; + private const string MENU_PLATFORM = MENU_BASE + "Platform/"; + + // Colors + private const string COLOR_RED = MENU_COLOR + "Red"; + private const string COLOR_VERMILION = MENU_COLOR + "Vermilion"; + private const string COLOR_ORANGE = MENU_COLOR + "Orange"; + private const string COLOR_YELLOW_ORANGE = MENU_COLOR + "Yellow-Orange"; + private const string COLOR_YELLOW = MENU_COLOR + "Yellow"; + private const string COLOR_LIME = MENU_COLOR + "Lime"; + private const string COLOR_GREEN = MENU_COLOR + "Green"; + private const string COLOR_BONDI_BLUE = MENU_COLOR + "Bondi Blue"; + private const string COLOR_BLUE = MENU_COLOR + "Blue"; + private const string COLOR_INDIGO = MENU_COLOR + "Indigo"; + private const string COLOR_VIOLET = MENU_COLOR + "Violet"; + private const string COLOR_MAGENTA = MENU_COLOR + "Magenta"; + + // Tags + private const string TAG_RED = MENU_TAG + "Red"; + private const string TAG_VERMILION = MENU_TAG + "Vermilion"; + private const string TAG_ORANGE = MENU_TAG + "Orange"; + private const string TAG_YELLOW_ORANGE = MENU_TAG + "Yellow-Orange"; + private const string TAG_YELLOW = MENU_TAG + "Yellow"; + private const string TAG_LIME = MENU_TAG + "Lime"; + private const string TAG_GREEN = MENU_TAG + "Green"; + private const string TAG_CYAN = MENU_TAG + "Cyan"; + private const string TAG_BLUE = MENU_TAG + "Blue"; + private const string TAG_DARK_BLUE = MENU_TAG + "Dark Blue"; + private const string TAG_VIOLET = MENU_TAG + "Violet"; + private const string TAG_MAGENTA = MENU_TAG + "Magenta"; + + // Types + private const string TYPE_PREFABS = MENU_TYPE + "Prefabs"; + private const string TYPE_SCENES = MENU_TYPE + "Scenes"; + private const string TYPE_SCRIPTS = MENU_TYPE + "Scripts"; + private const string TYPE_EXTENSIONS = MENU_TYPE + "Extensions"; + private const string TYPE_PLUGINS = MENU_TYPE + "Plugins"; + private const string TYPE_TEXTURES = MENU_TYPE + "Textures"; + private const string TYPE_MATERIALS = MENU_TYPE + "Materials"; + private const string TYPE_AUDIO = MENU_TYPE + "Audio"; + private const string TYPE_BRACKETS = MENU_TYPE + "Brackets"; + private const string TYPE_FONTS = MENU_TYPE + "Fonts"; + private const string TYPE_EDITOR = MENU_TYPE + "Editor"; + private const string TYPE_RESOURCES = MENU_TYPE + "Resources"; + private const string TYPE_SHADERS = MENU_TYPE + "Shaders"; + private const string TYPE_TERRAINS = MENU_TYPE + "Terrains"; + private const string TYPE_MESHES = MENU_TYPE + "Meshes"; + private const string TYPE_RAINBOW = MENU_TYPE + "Rainbow"; + + // Platforms + + private const string PLATFORM_ANDROID = MENU_PLATFORM + "Android"; + private const string PLATFORM_IOS = MENU_PLATFORM + "iOS"; + private const string PLATFORM_MAC = MENU_PLATFORM + "Mac"; + private const string PLATFORM_WEBGL = MENU_PLATFORM + "WebGL"; + private const string PLATFORM_WINDOWS = MENU_PLATFORM + "Windows"; + + //--------------------------------------------------------------------- + // Menu Items + //--------------------------------------------------------------------- + + [MenuItem(ITEM_CUSTOM, false, 0)] + public static void ApplyCustom() + { + var window = RainbowFoldersPopup.GetDraggableWindow(); + var position = RainbowFoldersEditorUtility.GetProjectWindow().position.position + new Vector2(10f, 30f); + var paths = Selection.assetGUIDs.Select(AssetDatabase.GUIDToAssetPath).Where(AssetDatabase.IsValidFolder).ToList(); + window.ShowWithParams(position, paths.ToList(), 0); + } + + [MenuItem(ITEM_DEFAULT, false, 0)] + public static void RevertToDefault() + { + RevertSelectedFoldersToDefault(); + } + + [MenuItem(ITEM_SETTINGS, false, 2000)] + public static void OpenSettings() + { + Selection.activeObject = RainbowFoldersSettings.Instance; + } + + [MenuItem(ITEM_CUSTOM, true)] + [MenuItem(ITEM_DEFAULT, true)] + public static bool IsValidFolder() + { + var hasValidFolder = false; + + foreach (var guid in Selection.assetGUIDs) + { + var path = AssetDatabase.GUIDToAssetPath(guid); + hasValidFolder |= AssetDatabase.IsValidFolder(path); + } + + return hasValidFolder; + } + + // Colors + + [MenuItem(COLOR_RED)] + public static void Red() { Colorize(FolderColorName.Red); } + [MenuItem(COLOR_VERMILION)] + public static void Vermilion() { Colorize(FolderColorName.Vermilion); } + [MenuItem(COLOR_ORANGE)] + public static void Orange() { Colorize(FolderColorName.Orange); } + [MenuItem(COLOR_YELLOW_ORANGE)] + public static void YellowOrange() { Colorize(FolderColorName.YellowOrange); } + [MenuItem(COLOR_YELLOW)] + public static void Yellow() { Colorize(FolderColorName.Yellow); } + [MenuItem(COLOR_LIME)] + public static void Lime() { Colorize(FolderColorName.Lime); } + [MenuItem(COLOR_GREEN)] + public static void Green() { Colorize(FolderColorName.Green); } + [MenuItem(COLOR_BONDI_BLUE)] + public static void BondiBlue() { Colorize(FolderColorName.BondiBlue); } + [MenuItem(COLOR_BLUE)] + public static void Blue() { Colorize(FolderColorName.Blue); } + [MenuItem(COLOR_INDIGO)] + public static void Indigo() { Colorize(FolderColorName.Indigo); } + [MenuItem(COLOR_VIOLET)] + public static void Violet() { Colorize(FolderColorName.Violet); } + [MenuItem(COLOR_MAGENTA)] + public static void Magenta() { Colorize(FolderColorName.Magenta); } + + // Tags + + [MenuItem(TAG_RED)] + public static void TagRed() { AssignTag(FolderTagName.Red); } + [MenuItem(TAG_VERMILION)] + public static void TagVermilion() { AssignTag(FolderTagName.Vermilion); } + [MenuItem(TAG_ORANGE)] + public static void TagOrange() { AssignTag(FolderTagName.Orange); } + [MenuItem(TAG_YELLOW_ORANGE)] + public static void TagYellowOrange() { AssignTag(FolderTagName.YellowOrange); } + [MenuItem(TAG_YELLOW)] + public static void TagYellow() { AssignTag(FolderTagName.Yellow); } + [MenuItem(TAG_LIME)] + public static void TagLime() { AssignTag(FolderTagName.Lime); } + [MenuItem(TAG_GREEN)] + public static void TagGreen() { AssignTag(FolderTagName.Green); } + [MenuItem(TAG_CYAN)] + public static void TagCyan() { AssignTag(FolderTagName.Cyan); } + [MenuItem(TAG_BLUE)] + public static void TagBlue() { AssignTag(FolderTagName.Blue); } + [MenuItem(TAG_DARK_BLUE)] + public static void TagDarkBlue() { AssignTag(FolderTagName.DarkBlue); } + [MenuItem(TAG_VIOLET)] + public static void TagViolet() { AssignTag(FolderTagName.Violet); } + [MenuItem(TAG_MAGENTA)] + public static void TagMagenta() { AssignTag(FolderTagName.Magenta); } + + // Types + + [MenuItem(TYPE_AUDIO)] + public static void TypeAudio() { AssingType(FolderTypeName.Audio); } + [MenuItem(TYPE_BRACKETS)] + public static void TypeBrackets() { AssingType(FolderTypeName.Brackets); } + [MenuItem(TYPE_EDITOR)] + public static void TypeEditor() { AssingType(FolderTypeName.Editor); } + [MenuItem(TYPE_EXTENSIONS)] + public static void TypeExtensions() { AssingType(FolderTypeName.Extensions); } + [MenuItem(TYPE_FONTS)] + public static void TypeFonts() { AssingType(FolderTypeName.Fonts); } + [MenuItem(TYPE_MATERIALS)] + public static void TypeMaterials() { AssingType(FolderTypeName.Materials); } + [MenuItem(TYPE_MESHES)] + public static void TypeMeshes() { AssingType(FolderTypeName.Meshes); } + [MenuItem(TYPE_PLUGINS)] + public static void TypePlugins() { AssingType(FolderTypeName.Plugins); } + [MenuItem(TYPE_PREFABS)] + public static void TypePrefabs() { AssingType(FolderTypeName.Prefabs); } + [MenuItem(TYPE_RAINBOW)] + public static void TypeRainbow() { AssingType(FolderTypeName.Rainbow); } + [MenuItem(TYPE_RESOURCES)] + public static void TypeResources() { AssingType(FolderTypeName.Resources); } + [MenuItem(TYPE_SCENES)] + public static void TypeScenes() { AssingType(FolderTypeName.Scenes); } + [MenuItem(TYPE_SCRIPTS)] + public static void TypeScripts() { AssingType(FolderTypeName.Scripts); } + [MenuItem(TYPE_SHADERS)] + public static void TypeShaders() { AssingType(FolderTypeName.Shaders); } + [MenuItem(TYPE_TERRAINS)] + public static void TypeTerrains() { AssingType(FolderTypeName.Terrains); } + [MenuItem(TYPE_TEXTURES)] + public static void TypeTextures() { AssingType(FolderTypeName.Textures); } + + // Platforms + [MenuItem(PLATFORM_ANDROID)] + public static void PlatformAndroid() { AssingPlatform(FolderPlatformName.Android); } + [MenuItem(PLATFORM_IOS)] + public static void PlatformiOS() { AssingPlatform(FolderPlatformName.iOS); } + [MenuItem(PLATFORM_MAC)] + public static void PlatformMac() { AssingPlatform(FolderPlatformName.Mac); } + [MenuItem(PLATFORM_WEBGL)] + public static void PlatformWebGL() { AssingPlatform(FolderPlatformName.WebGL); } + [MenuItem(PLATFORM_WINDOWS)] + public static void PlatformWindows() { AssingPlatform(FolderPlatformName.Windows); } + + //--------------------------------------------------------------------- + // Helpers + //--------------------------------------------------------------------- + + private static void Colorize(FolderColorName color) + { + var icons = FolderColorsStorage.Instance.GetIconsByColor(color); + ChangeSelectedFoldersIcons(icons); + } + + private static void AssignTag(FolderTagName tag) + { + var icons = FolderTagsStorage.Instance.GetIconsByTag(tag); + ChangeSelectedFoldersIcons(icons); + } + + private static void AssingType(FolderTypeName type) + { + var icons = FolderTypesStorage.Instance.GetIconsByType(type); + ChangeSelectedFoldersIcons(icons); + } + + private static void AssingPlatform(FolderPlatformName platform) + { + var icons = FolderPlatformsStorage.Instance.GetIconsByType(platform); + ChangeSelectedFoldersIcons(icons); + } + + private static void ChangeSelectedFoldersIcons(FolderIconPair icons) + { + Selection.assetGUIDs.ToList().ForEach( + assetGuid => + { + var assetPath = AssetDatabase.GUIDToAssetPath(assetGuid); + if (!AssetDatabase.IsValidFolder(assetPath)) return; + + var folder = AssetDatabase.LoadAssetAtPath(assetPath); + var path = AssetDatabase.GetAssetPath(folder); + RainbowFoldersSettings.Instance.ChangeFolderIconsByPath(path, icons); + } + ); + } + + private static void RevertSelectedFoldersToDefault() + { + Selection.assetGUIDs.ToList().ForEach( + assetGuid => + { + var assetPath = AssetDatabase.GUIDToAssetPath(assetGuid); + if (AssetDatabase.IsValidFolder(assetPath)) + { + RainbowFoldersSettings.Instance.RemoveAllByPath(assetPath); + } + } + ); + } + } +} \ No newline at end of file diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersContextMenu.cs.meta b/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersContextMenu.cs.meta new file mode 100644 index 0000000..7983550 --- /dev/null +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersContextMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 14946a7158edd91458306b5a3443053f +timeCreated: 1453924772 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersPresetsMenu.cs b/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersPresetsMenu.cs index ef238b9..938c9d8 100644 --- a/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersPresetsMenu.cs +++ b/Assets/RainbowFolders/Editor/Scripts/Menu/RainbowFoldersPresetsMenu.cs @@ -23,6 +23,7 @@ public static class RainbowFoldersPresetsMenu private const string MENU_COLORIZE = "Colors/"; private const string MENU_TAG = "Tags/"; private const string MENU_TYPE = "Types/"; + private const string MENU_PLATFORM = "Platforms/"; // Colors private static readonly GUIContent COLOR_RED = new GUIContent(MENU_COLORIZE + "Red"); @@ -69,7 +70,14 @@ public static class RainbowFoldersPresetsMenu private static readonly GUIContent TYPE_SHADERS = new GUIContent(MENU_TYPE + "Shaders"); private static readonly GUIContent TYPE_TERRAINS = new GUIContent(MENU_TYPE + "Terrains"); private static readonly GUIContent TYPE_TEXTURES = new GUIContent(MENU_TYPE + "Textures"); - + + // Platforms + private static readonly GUIContent PLATFORM_ANDROID = new GUIContent(MENU_PLATFORM + "Android"); + private static readonly GUIContent PLATFORM_IOS = new GUIContent(MENU_PLATFORM + "iOS"); + private static readonly GUIContent PLATFORM_MAC = new GUIContent(MENU_PLATFORM + "Mac"); + private static readonly GUIContent PLATFORM_WEBGL = new GUIContent(MENU_PLATFORM + "WebGL"); + private static readonly GUIContent PLATFORM_WINDOWS = new GUIContent(MENU_PLATFORM + "Windows"); + //--------------------------------------------------------------------- // Public //--------------------------------------------------------------------- @@ -124,6 +132,13 @@ public static void ShowDropDown(Rect position, RainbowFolder folder) menu.AddItem(TYPE_TERRAINS, false, TerrainsCallback, folder); menu.AddItem(TYPE_TEXTURES, false, TexturesCallback, folder); + //Platfroms + menu.AddItem(PLATFORM_ANDROID, false, AndroidCallback, folder); + menu.AddItem(PLATFORM_IOS, false, IosCallback, folder); + menu.AddItem(PLATFORM_MAC, false, MacCallback, folder); + menu.AddItem(PLATFORM_WEBGL, false, WebGLCallback, folder); + menu.AddItem(PLATFORM_WINDOWS, false, WindowsCallback, folder); + menu.DropDown(position); } @@ -152,6 +167,13 @@ private static void AssingType(FolderTypeName type, RainbowFolder folder) folder.LargeIcon = icons.LargeIcon; } + private static void AssingPlatform(FolderPlatformName platform, RainbowFolder folder) + { + var icons = FolderPlatformsStorage.Instance.GetIconsByType(platform); + folder.SmallIcon = icons.SmallIcon; + folder.LargeIcon = icons.LargeIcon; + } + //--------------------------------------------------------------------- // Callbacks //--------------------------------------------------------------------- @@ -281,5 +303,22 @@ private static void MeshesCallback(object folder) private static void RainbowCallback(object folder) { AssingType(FolderTypeName.Rainbow, folder as RainbowFolder); } + + // Platfroms + + private static void AndroidCallback(object folder) + { AssingPlatform(FolderPlatformName.Android, folder as RainbowFolder); } + + private static void IosCallback(object folder) + { AssingPlatform(FolderPlatformName.iOS, folder as RainbowFolder); } + + private static void MacCallback(object folder) + { AssingPlatform(FolderPlatformName.Mac, folder as RainbowFolder); } + + private static void WebGLCallback(object folder) + { AssingPlatform(FolderPlatformName.WebGL, folder as RainbowFolder); } + + private static void WindowsCallback(object folder) + { AssingPlatform(FolderPlatformName.Windows, folder as RainbowFolder); } } } \ No newline at end of file diff --git a/Assets/RainbowFolders/Editor/Scripts/RainbowFoldersBrowserIcons.cs b/Assets/RainbowFolders/Editor/Scripts/RainbowFoldersBrowserIcons.cs index 4f297fe..19548c7 100644 --- a/Assets/RainbowFolders/Editor/Scripts/RainbowFoldersBrowserIcons.cs +++ b/Assets/RainbowFolders/Editor/Scripts/RainbowFoldersBrowserIcons.cs @@ -12,6 +12,7 @@ * the License. */ +using System.Collections.Generic; using System.Linq; using Borodar.RainbowFolders.Editor.Settings; using UnityEditor; @@ -89,18 +90,14 @@ private static void DrawEditIcon(string guid, Rect rect) if (_multiSelection) { - var assetGUIDs = Selection.assetGUIDs; - var size = assetGUIDs.Length; - - var paths = new string[size]; - for (var i = 0; i < size; i++) paths[i] = AssetDatabase.GUIDToAssetPath(assetGUIDs[i]); - var index = ArrayUtility.IndexOf(paths, path); + var paths = Selection.assetGUIDs.Select(AssetDatabase.GUIDToAssetPath).Where(AssetDatabase.IsValidFolder).ToList(); + var index = paths.IndexOf(path); window.ShowWithParams(position, paths, index); } else { - window.ShowWithParams(position, new[] {path}, 0); + window.ShowWithParams(position, new List {path}, 0); } } diff --git a/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersPopup.cs b/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersPopup.cs index e1b9f76..8889856 100644 --- a/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersPopup.cs +++ b/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersPopup.cs @@ -12,6 +12,7 @@ * the License. */ +using System.Collections.Generic; using System.IO; using Borodar.RainbowFolders.Editor.Settings; using UnityEditor; @@ -38,7 +39,7 @@ public class RainbowFoldersPopup : DraggablePopupWindow private static readonly Rect WINDOW_RECT = new Rect(Vector2.zero, WINDOW_SIZE); private static readonly Rect BACKGROUND_RECT = new Rect(Vector2.one, WINDOW_SIZE - new Vector2(2f, 2f)); - private string[] _paths; + private List _paths; private RainbowFoldersSettings _settings; private RainbowFolder[] _existingFolders; private RainbowFolder _currentFolder; @@ -52,12 +53,12 @@ public static RainbowFoldersPopup GetDraggableWindow() return GetDraggableWindow(); } - public void ShowWithParams(Vector2 position, string[] paths, int pathIndex) + public void ShowWithParams(Vector2 position, List paths, int pathIndex) { _paths = paths; _settings = RainbowFoldersSettings.Instance; - var size = paths.Length; + var size = paths.Count; _existingFolders = new RainbowFolder[size]; _currentFolder = new RainbowFolder(KeyType.Path, paths[pathIndex]); @@ -109,7 +110,7 @@ public override void OnGUI() rect.width = WINDOW_RECT.width - LABELS_WIDTH - PREVIEW_SIZE_LARGE - 2f * PADDING; GUI.enabled = false; - if (_paths.Length == 1) + if (_paths.Count == 1) _currentFolder.Key = (_currentFolder.Type == KeyType.Path) ? _paths[0] : Path.GetFileName(_paths[0]); else _currentFolder.Key = "---"; diff --git a/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersWelcome.cs b/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersWelcome.cs index 8e8e2de..e996fec 100644 --- a/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersWelcome.cs +++ b/Assets/RainbowFolders/Editor/Scripts/Windows/RainbowFoldersWelcome.cs @@ -92,20 +92,9 @@ public override void OnGUI() private static Vector2 CalcWindowPosition() { - return GetProjectWindow().position.position + new Vector2(10f, 30f); + return RainbowFoldersEditorUtility.GetProjectWindow().position.position + new Vector2(10f, 30f); } - private static EditorWindow GetProjectWindow() - { - return GetWindowByName("UnityEditor.ProjectWindow") - ?? GetWindowByName("UnityEditor.ObjectBrowser") - ?? GetWindowByName("UnityEditor.ProjectBrowser"); - } - - private static EditorWindow GetWindowByName(string pName) - { - var objectList = Resources.FindObjectsOfTypeAll(typeof(EditorWindow)); - return (from obj in objectList where obj.GetType().ToString() == pName select ((EditorWindow) obj)).FirstOrDefault(); - } + } } \ No newline at end of file diff --git a/Assets/RainbowFolders/Editor/Textures/icon_delete_16.png.meta b/Assets/RainbowFolders/Editor/Textures/icon_delete_16.png.meta index 011e80b..452b01d 100644 --- a/Assets/RainbowFolders/Editor/Textures/icon_delete_16.png.meta +++ b/Assets/RainbowFolders/Editor/Textures/icon_delete_16.png.meta @@ -4,12 +4,12 @@ timeCreated: 1480866571 licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + serializedVersion: 2 mipmaps: mipMapMode: 0 enableMipMap: 0 - sRGBTexture: 0 - linearTexture: 0 + linearTexture: 1 + correctGamma: 0 fadeOut: 0 borderMipMap: 0 mipMapFadeDistanceStart: 1 @@ -21,10 +21,12 @@ TextureImporter: normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 - generateCubemap: 6 + generateCubemap: 0 cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: 1 + textureFormat: -3 maxTextureSize: 2048 textureSettings: filterMode: 0 @@ -33,7 +35,9 @@ TextureImporter: wrapMode: 1 nPOTScale: 0 lightmap: 0 + rGBM: 0 compressionQuality: 50 + allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 @@ -41,57 +45,10 @@ TextureImporter: spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaUsage: 1 alphaIsTransparency: 1 - spriteTessellationDetail: -1 textureType: 2 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: iPhone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Android - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + buildTargetSettings: [] spriteSheet: - serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/Assets/RainbowFolders/Editor/Textures/icon_edit_16.png.meta b/Assets/RainbowFolders/Editor/Textures/icon_edit_16.png.meta index ab5f96e..1013d0e 100644 --- a/Assets/RainbowFolders/Editor/Textures/icon_edit_16.png.meta +++ b/Assets/RainbowFolders/Editor/Textures/icon_edit_16.png.meta @@ -4,12 +4,12 @@ timeCreated: 1480440318 licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + serializedVersion: 2 mipmaps: mipMapMode: 0 enableMipMap: 0 - sRGBTexture: 0 linearTexture: 1 + correctGamma: 0 fadeOut: 0 borderMipMap: 0 mipMapFadeDistanceStart: 1 @@ -21,8 +21,10 @@ TextureImporter: normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 - generateCubemap: 6 + generateCubemap: 0 cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -3 maxTextureSize: 2048 @@ -33,7 +35,9 @@ TextureImporter: wrapMode: 1 nPOTScale: 0 lightmap: 0 + rGBM: 0 compressionQuality: 50 + allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 @@ -41,57 +45,10 @@ TextureImporter: spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaUsage: 1 alphaIsTransparency: 1 - spriteTessellationDetail: -1 textureType: 2 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Android - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: iPhone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + buildTargetSettings: [] spriteSheet: - serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/Assets/RainbowFolders/Editor/Textures/icon_edit_64.png.meta b/Assets/RainbowFolders/Editor/Textures/icon_edit_64.png.meta index 4aa7942..7d9b1d5 100644 --- a/Assets/RainbowFolders/Editor/Textures/icon_edit_64.png.meta +++ b/Assets/RainbowFolders/Editor/Textures/icon_edit_64.png.meta @@ -4,12 +4,12 @@ timeCreated: 1480449364 licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + serializedVersion: 2 mipmaps: mipMapMode: 0 enableMipMap: 0 - sRGBTexture: 0 linearTexture: 1 + correctGamma: 0 fadeOut: 0 borderMipMap: 0 mipMapFadeDistanceStart: 1 @@ -21,8 +21,10 @@ TextureImporter: normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 - generateCubemap: 6 + generateCubemap: 0 cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -3 maxTextureSize: 2048 @@ -33,7 +35,9 @@ TextureImporter: wrapMode: 1 nPOTScale: 0 lightmap: 0 + rGBM: 0 compressionQuality: 50 + allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 @@ -41,57 +45,10 @@ TextureImporter: spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaUsage: 1 alphaIsTransparency: 1 - spriteTessellationDetail: -1 textureType: 2 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Android - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: iPhone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + buildTargetSettings: [] spriteSheet: - serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/Assets/RainbowFolders/Editor/Textures/icon_presets_16.png.meta b/Assets/RainbowFolders/Editor/Textures/icon_presets_16.png.meta index bf1a868..b09c189 100644 --- a/Assets/RainbowFolders/Editor/Textures/icon_presets_16.png.meta +++ b/Assets/RainbowFolders/Editor/Textures/icon_presets_16.png.meta @@ -4,12 +4,12 @@ timeCreated: 1480896864 licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + serializedVersion: 2 mipmaps: mipMapMode: 0 enableMipMap: 0 - sRGBTexture: 0 - linearTexture: 0 + linearTexture: 1 + correctGamma: 0 fadeOut: 0 borderMipMap: 0 mipMapFadeDistanceStart: 1 @@ -21,10 +21,12 @@ TextureImporter: normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 - generateCubemap: 6 + generateCubemap: 0 cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: 1 + textureFormat: -3 maxTextureSize: 2048 textureSettings: filterMode: 0 @@ -33,7 +35,9 @@ TextureImporter: wrapMode: 1 nPOTScale: 0 lightmap: 0 + rGBM: 0 compressionQuality: 50 + allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 @@ -41,57 +45,10 @@ TextureImporter: spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaUsage: 1 alphaIsTransparency: 1 - spriteTessellationDetail: -1 textureType: 2 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: iPhone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Android - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + buildTargetSettings: [] spriteSheet: - serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/Assets/RainbowFolders/Editor/Textures/icon_settings_16.png.meta b/Assets/RainbowFolders/Editor/Textures/icon_settings_16.png.meta index 0620bb6..caa2597 100644 --- a/Assets/RainbowFolders/Editor/Textures/icon_settings_16.png.meta +++ b/Assets/RainbowFolders/Editor/Textures/icon_settings_16.png.meta @@ -4,12 +4,12 @@ timeCreated: 1480898387 licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + serializedVersion: 2 mipmaps: mipMapMode: 0 enableMipMap: 0 - sRGBTexture: 0 - linearTexture: 0 + linearTexture: 1 + correctGamma: 0 fadeOut: 0 borderMipMap: 0 mipMapFadeDistanceStart: 1 @@ -21,10 +21,12 @@ TextureImporter: normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 - generateCubemap: 6 + generateCubemap: 0 cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: 1 + textureFormat: -3 maxTextureSize: 2048 textureSettings: filterMode: 0 @@ -33,7 +35,9 @@ TextureImporter: wrapMode: 1 nPOTScale: 0 lightmap: 0 + rGBM: 0 compressionQuality: 50 + allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 @@ -41,57 +45,10 @@ TextureImporter: spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaUsage: 1 alphaIsTransparency: 1 - spriteTessellationDetail: -1 textureType: 2 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Android - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: iPhone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + buildTargetSettings: [] spriteSheet: - serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/Assets/RainbowFolders/Editor/Textures/rainbow_logo_64.png.meta b/Assets/RainbowFolders/Editor/Textures/rainbow_logo_64.png.meta index 53ff002..0701c11 100644 --- a/Assets/RainbowFolders/Editor/Textures/rainbow_logo_64.png.meta +++ b/Assets/RainbowFolders/Editor/Textures/rainbow_logo_64.png.meta @@ -4,12 +4,12 @@ timeCreated: 1455315680 licenseType: Free TextureImporter: fileIDToRecycleName: {} - serializedVersion: 4 + serializedVersion: 2 mipmaps: mipMapMode: 0 enableMipMap: 0 - sRGBTexture: 0 linearTexture: 1 + correctGamma: 0 fadeOut: 0 borderMipMap: 0 mipMapFadeDistanceStart: 1 @@ -21,8 +21,10 @@ TextureImporter: normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 - generateCubemap: 6 + generateCubemap: 0 cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -3 maxTextureSize: 2048 @@ -33,7 +35,9 @@ TextureImporter: wrapMode: 1 nPOTScale: 0 lightmap: 0 + rGBM: 0 compressionQuality: 50 + allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 @@ -41,57 +45,10 @@ TextureImporter: spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaUsage: 1 alphaIsTransparency: 1 - spriteTessellationDetail: -1 textureType: 2 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: iPhone - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: Android - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + buildTargetSettings: [] spriteSheet: - serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/Assets/RainbowFolders/Examples/Android.meta b/Assets/RainbowFolders/Examples/Android.meta new file mode 100644 index 0000000..04bc060 --- /dev/null +++ b/Assets/RainbowFolders/Examples/Android.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ea3686aef567c4e4db58786066beb627 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/Android/stub.file b/Assets/RainbowFolders/Examples/Android/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/RainbowFolders/Examples/Android/stub.file.meta b/Assets/RainbowFolders/Examples/Android/stub.file.meta new file mode 100644 index 0000000..0f601e2 --- /dev/null +++ b/Assets/RainbowFolders/Examples/Android/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f901a60a7998d0947b8abc20797d4982 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/Mac.meta b/Assets/RainbowFolders/Examples/Mac.meta new file mode 100644 index 0000000..f36df7f --- /dev/null +++ b/Assets/RainbowFolders/Examples/Mac.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f603e4a4f29b831408dca1e136d1e937 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/Mac/stub.file b/Assets/RainbowFolders/Examples/Mac/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/RainbowFolders/Examples/Mac/stub.file.meta b/Assets/RainbowFolders/Examples/Mac/stub.file.meta new file mode 100644 index 0000000..7fb47be --- /dev/null +++ b/Assets/RainbowFolders/Examples/Mac/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22623a7501608ea4ca88816f5c2f2423 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/WebGL.meta b/Assets/RainbowFolders/Examples/WebGL.meta new file mode 100644 index 0000000..4509a00 --- /dev/null +++ b/Assets/RainbowFolders/Examples/WebGL.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 07794ed73e79fc54b9d2e230460aa94e +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/WebGL/stub.file b/Assets/RainbowFolders/Examples/WebGL/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/RainbowFolders/Examples/WebGL/stub.file.meta b/Assets/RainbowFolders/Examples/WebGL/stub.file.meta new file mode 100644 index 0000000..c49647d --- /dev/null +++ b/Assets/RainbowFolders/Examples/WebGL/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e81de03a8bac0bd4babf40f5a5f50c12 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/Windows.meta b/Assets/RainbowFolders/Examples/Windows.meta new file mode 100644 index 0000000..6a80fc0 --- /dev/null +++ b/Assets/RainbowFolders/Examples/Windows.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b44e27b851e945841a6f7658781945a0 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/Windows/stub.file b/Assets/RainbowFolders/Examples/Windows/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/RainbowFolders/Examples/Windows/stub.file.meta b/Assets/RainbowFolders/Examples/Windows/stub.file.meta new file mode 100644 index 0000000..e9643da --- /dev/null +++ b/Assets/RainbowFolders/Examples/Windows/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22ec621644d4ae74cb7d61a7a7e1c279 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/iOS.meta b/Assets/RainbowFolders/Examples/iOS.meta new file mode 100644 index 0000000..b03c34c --- /dev/null +++ b/Assets/RainbowFolders/Examples/iOS.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9e1c416b5e8127045be7ac7bb72de446 +folderAsset: yes +timeCreated: 1482600933 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/Examples/iOS/stub.file b/Assets/RainbowFolders/Examples/iOS/stub.file new file mode 100644 index 0000000..e69de29 diff --git a/Assets/RainbowFolders/Examples/iOS/stub.file.meta b/Assets/RainbowFolders/Examples/iOS/stub.file.meta new file mode 100644 index 0000000..d939dc3 --- /dev/null +++ b/Assets/RainbowFolders/Examples/iOS/stub.file.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 067703fad06be3447937fc4327730811 +timeCreated: 1456142802 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RainbowFolders/QuickStart.pdf b/Assets/RainbowFolders/QuickStart.pdf index af22b79..10309e8 100644 Binary files a/Assets/RainbowFolders/QuickStart.pdf and b/Assets/RainbowFolders/QuickStart.pdf differ diff --git a/CHANGELOG.md b/CHANGELOG.md index a0e390e..7f53e36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,25 @@ --- +## v0.5.1 + ++ Added back the context menu, according to numerous requests ++ New platform icons (`Android`, `iOS`, `Mac`, `WebGL`, `Windows`) ++ Minor bugfixes + +--- + +## v0.5.0 + ++ Improved workflow: change icons with alt-click on a folder, right in the project view. ++ Added possibility to change icons for multiple folders at once ++ Added option to move "Rainbow Folders" wherever you want in your project ++ Got rid of the "Editor Default Resources" folder. ++ Fixed the "Scripts" icon appearance for the dark theme ++ Minor bugfixes + +--- + ## v0.3.0 + Apply color "tags" for folders from context menu diff --git a/README.md b/README.md index 6bdec43..52ff8f0 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,23 @@ There is reorderable list with all defined "folder" configurations. You can modi ![Configuration dialog](https://raw.githubusercontent.com/PhannGor/phanngor.github.io/master/stuff/rainbowfolders/images/v05/11.png) +## Context menu + +All the above functionality is also available via the context menu. + +![Configuration dialog](https://raw.githubusercontent.com/PhannGor/phanngor.github.io/master/stuff/rainbowfolders/images/v05/14.png) + +**Right-click** on any folder in project view and select **Rainbow Folders → Apply Custom** to open configuration dialogue. + +The **Rainbow Folders → Revert to Default** item will reset corresponding folder icon to the default one. + +With **Color, Tag, Type** and **Platform** sub-items you can easily apply custom icons from few dozen of presets, right from the context menu. + +Select **Rainbow Folders → Settings** to view all existing assignments in the inspector. + ## Folder Location -The “Rainbow Folders” asset doesn’t require to be in the root of you project, you can freely move it wherever you want. Then just go to **Edit -> Preferences -> Rainbow Folders** and update the folder location: +The “Rainbow Folders” asset doesn’t require to be in the root of you project, you can freely move it wherever you want. Then just go to **Edit → Preferences → Rainbow Folders** and update the folder location: ![Configuration dialog](https://raw.githubusercontent.com/PhannGor/phanngor.github.io/master/stuff/rainbowfolders/images/v05/12.png) diff --git a/unity3d-rainbow-folders.sln.DotSettings b/unity3d-rainbow-folders.sln.DotSettings new file mode 100644 index 0000000..2e4d250 --- /dev/null +++ b/unity3d-rainbow-folders.sln.DotSettings @@ -0,0 +1,3 @@ + + GL + OS \ No newline at end of file