Ejemplo n.º 1
0
    private static void SetupDeviceAtlasNames()
    {
        deviceAtlasNames = new Dictionary <RSAtlasHelper.Device, List <string> >();

        RSAtlasHelper.Device[]    devices           = { RSAtlasHelper.Device.Standalone, RSAtlasHelper.Device.Tablet, RSAtlasHelper.Device.Phone };
        RSAtlasHelper.AtlasType[] baseTypeForDevice = { RSAtlasHelper.AtlasType.HD, RSAtlasHelper.AtlasType.HD, RSAtlasHelper.AtlasType.SD };

        for (int i = 0; i < devices.Length; ++i)
        {
            var device    = devices[i];
            var atlasType = baseTypeForDevice[i];
            var dirInfo   = new DirectoryInfo(string.Format("Assets/GameContent/Textures/Atlases/{0}/{1}/",
                                                            RSAtlasHelper.DeviceToDirectoryName(device),
                                                            RSAtlasHelper.AtlasTypeToDirectoryName(atlasType)));
            if (dirInfo == null || !dirInfo.Exists)
            {
                continue;
            }
            var atlasDirs = dirInfo.GetDirectories();
            deviceAtlasNames[device] = new List <string>();
            foreach (var atlasDir in atlasDirs)
            {
                deviceAtlasNames[device].Add(atlasDir.Name);
            }
        }
    }
Ejemplo n.º 2
0
 private void DrawAtlasHeader(string atlasName, RSAtlasHelper.Device device)
 {
     GUILayout.BeginHorizontal();
     {
         GUILayout.Space(16.0f);
         GUILayout.Label(atlasName);
         if (GUILayout.Button("Refresh", GUILayout.Width(80f)))
         {
             RSAtlasHelper.CreateAtlases(atlasName, device);
         }
         if (GUILayout.Button("Set to HD", GUILayout.Width(80f)))
         {
             RSAtlasHelper.RefreshAtlasReference(atlasName, device, RSAtlasHelper.AtlasType.HD);
         }
         if (GUILayout.Button("Set to NULL", GUILayout.Width(80f)))
         {
             RSAtlasHelper.RefreshAtlasReference(atlasName, device, RSAtlasHelper.AtlasType.Ref);
         }
         if (GUILayout.Button("Set to SD", GUILayout.Width(80f)))
         {
             RSAtlasHelper.RefreshAtlasReference(atlasName, device, RSAtlasHelper.AtlasType.SD);
         }
     }
     GUILayout.EndHorizontal();
 }
Ejemplo n.º 3
0
    private void DrawAtlasesInfo(RSAtlasHelper.Device device)
    {
        GUILayout.BeginVertical();
        {
            List <string> atlasNames = new List <string>();
            if (_deviceToAtlasInfo.ContainsKey(device))
            {
                foreach (AtlasInfo atlasInfo in _deviceToAtlasInfo[device])
                {
                    atlasNames.Add(atlasInfo.atlasName);
                }
            }

            GUILayout.BeginHorizontal();
            {
                GUILayout.Label(string.Format("Atlases ({0}):", device), EditorStyles.boldLabel);
                if (GUILayout.Button("Set to HD", GUILayout.Width(80f)))
                {
                    RSAtlasHelper.RefreshAtlasesReferences(atlasNames, device, RSAtlasHelper.AtlasType.HD);
                    AssetDatabase.SaveAssets();
                    Repaint();
                }
                if (GUILayout.Button("Set to NULL", GUILayout.Width(80f)))
                {
                    RSAtlasHelper.RefreshAtlasesReferences(atlasNames, device, RSAtlasHelper.AtlasType.Ref);
                    AssetDatabase.SaveAssets();
                    Repaint();
                }
                if (GUILayout.Button("Set to SD", GUILayout.Width(80f)))
                {
                    RSAtlasHelper.RefreshAtlasesReferences(atlasNames, device, RSAtlasHelper.AtlasType.SD);
                    AssetDatabase.SaveAssets();
                    Repaint();
                }
            }
            GUILayout.EndHorizontal();

            if (_deviceToAtlasInfo.ContainsKey(device))
            {
                foreach (AtlasInfo atlasInfo in _deviceToAtlasInfo[device])
                {
                    DrawAtlasInfo(atlasInfo);
                }
            }
        }
        GUILayout.EndVertical();
    }
Ejemplo n.º 4
0
    private static void SetupDeviceToAtlasInfo()
    {
        _deviceToAtlasInfo = new Dictionary <RSAtlasHelper.Device, List <AtlasInfo> >();

        RSAtlasHelper.Device[] devices = { RSAtlasHelper.Device.Tablet, RSAtlasHelper.Device.Phone };

        for (int i = 0; i < devices.Length; ++i)
        {
            var device  = devices[i];
            var dirInfo = new DirectoryInfo(string.Format("Assets/Resources/Atlases/{0}/", device));
            if (dirInfo == null || !dirInfo.Exists)
            {
                continue;
            }
            var fis        = dirInfo.GetFiles("*.prefab");
            var atlasNames = new List <string>();
            foreach (var fi in fis)
            {
                atlasNames.Add(fi.Name.Split('@')[0]);
            }

            _deviceToAtlasInfo[device] = new List <AtlasInfo>();
            foreach (var atlasName in atlasNames)
            {
                var atlasInfo = new AtlasInfo();
                atlasInfo.atlasName = atlasName;
                if (device == RSAtlasHelper.Device.Tablet)
                {
                    atlasInfo.hdAtlas = RSAtlasHelper.GetAtlas(atlasName, device, RSAtlasHelper.AtlasType.HD);
                }
                atlasInfo.refAtlas = RSAtlasHelper.GetAtlas(atlasName, device, RSAtlasHelper.AtlasType.Ref);
                atlasInfo.sdAtlas  = RSAtlasHelper.GetAtlas(atlasName, device, RSAtlasHelper.AtlasType.SD);
                _deviceToAtlasInfo[device].Add(atlasInfo);
            }
        }
    }