| | |
| | | using UnityEditor; |
| | | |
| | | [CreateAssetMenu(menuName = "Config/SpriteSettingConfig")] |
| | | public class SpriteSettingConfig : ScriptableObject |
| | | { |
| | | public SpriteSetting[] spriteSettings; |
| | | |
| | | [System.Serializable] |
| | | public class SpriteSetting |
| | | { |
| | | public string folderName; |
| | | public SpriteMeshType meshType = SpriteMeshType.Tight; |
| | | public TextureImporterAlphaSource alphaSource = TextureImporterAlphaSource.FromInput; |
| | | public PlatformSetting[] platformSettings; |
| | | public class SpriteSettingConfig : ScriptableObject
|
| | | {
|
| | | public SpriteSetting[] spriteSettings;
|
| | |
|
| | | [System.Serializable]
|
| | | public class SpriteSetting
|
| | | {
|
| | | public string folderName;
|
| | | public SpriteMeshType meshType = SpriteMeshType.Tight;
|
| | | public TextureImporterAlphaSource alphaSource = TextureImporterAlphaSource.FromInput;
|
| | | public PlatformSetting[] platformSettings;
|
| | | } |
| | | |
| | | [System.Serializable] |
| | | public class PlatformSetting |
| | | { |
| | | public string name; |
| | | public int maxTextureSize = 2048; |
| | | public TextureImporterFormat textureFormat = TextureImporterFormat.RGBA32; |
| | | public int compressionQuality = 1; |
| | | [System.Serializable]
|
| | | public class PlatformSetting
|
| | | {
|
| | | public string name;
|
| | | public int maxTextureSize = 2048;
|
| | | public TextureImporterFormat textureFormat = TextureImporterFormat.RGBA32;
|
| | | public int compressionQuality = 1;
|
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | public static class SpriteSettingUtility |
| | | { |
| | | public static bool Equal(this SpriteSettingConfig.SpriteSetting _spriteSetting, TextureImporter _textureImporter) |
| | | { |
| | | if (_spriteSetting.alphaSource != _textureImporter.alphaSource) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | foreach (var platformSetting in _spriteSetting.platformSettings) |
| | | { |
| | | var nowPlatformSetting = _textureImporter.GetPlatformTextureSettings(platformSetting.name); |
| | | if (nowPlatformSetting == null) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | if (platformSetting.maxTextureSize != nowPlatformSetting.maxTextureSize) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if (platformSetting.textureFormat != nowPlatformSetting.format) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if (platformSetting.compressionQuality != nowPlatformSetting.compressionQuality) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | public static class SpriteSettingUtility
|
| | | {
|
| | | public static bool Equal(this SpriteSettingConfig.SpriteSetting _spriteSetting, TextureImporter _textureImporter)
|
| | | {
|
| | | if (_spriteSetting.alphaSource != _textureImporter.alphaSource)
|
| | | {
|
| | | return false;
|
| | | }
|
| | |
|
| | | foreach (var platformSetting in _spriteSetting.platformSettings)
|
| | | {
|
| | | var nowPlatformSetting = _textureImporter.GetPlatformTextureSettings(platformSetting.name);
|
| | | if (nowPlatformSetting == null)
|
| | | {
|
| | | continue;
|
| | | }
|
| | |
|
| | | if (platformSetting.maxTextureSize != nowPlatformSetting.maxTextureSize)
|
| | | {
|
| | | return false;
|
| | | }
|
| | |
|
| | | if (platformSetting.textureFormat != nowPlatformSetting.format)
|
| | | {
|
| | | return false;
|
| | | }
|
| | |
|
| | | if (platformSetting.compressionQuality != nowPlatformSetting.compressionQuality)
|
| | | {
|
| | | return false;
|
| | | }
|
| | | }
|
| | |
|
| | | return true;
|
| | | }
|
| | |
|
| | | } |