예제 #1
0
        public static bool CanOpenWindow2()
        {
            Object obj = Selection.activeObject;

            if (obj == null || !(obj is Texture))
            {
                return(false);
            }
            string path = AssetDatabase.GetAssetPath(obj);

            return(SpriteAtlasWnd.IsInAtlasPath(path));
        }
예제 #2
0
        void OnGUI()
        {
            //try
            //{
            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label("图集文件:", GUILayout.Width(70));
            texture = EditorGUILayout.ObjectField(texture, typeof(Texture2D), false, GUILayout.Width(200)) as Texture2D;
            GUILayout.EndHorizontal();

            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label("选择尺寸类型:", GUILayout.Width(100));
            m_typeIndex = EditorGUILayout.Popup(m_typeIndex, SpriteAtlasClipUtility.typeList, GUILayout.Width(120));
            clipType    = SpriteAtlasClipUtility.typeList[m_typeIndex];
            GUILayout.EndHorizontal();

            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label("请输入切片尺寸:", GUILayout.Width(110));
            GUILayout.EndHorizontal();

            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label("width:", GUILayout.Width(70));
            m_input_w = EditorGUILayout.TextField(m_input_w, GUILayout.Width(80));
            GUILayout.EndHorizontal();

            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label("height:", GUILayout.Width(70));
            m_input_h = EditorGUILayout.TextField(m_input_h, GUILayout.Width(80));
            GUILayout.EndHorizontal();

            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            if (GUILayout.Button("生成切片", GUILayout.Width(80)))
            {
                if (texture == null)
                {
                    Debug.Log("没有选择图集文件");
                }
                else
                {
                    //Debug.Log("aaa");
                    //Debug.Log(select_index);
                    //Debug.Log(_typeExts[select_index]);
                    //Debug.Log(_typeNames[select_index]);

                    float  width  = float.Parse(m_input_w);
                    float  height = float.Parse(m_input_h);
                    string path   = AssetDatabase.GetAssetPath(texture);
                    SpriteAtlasClipUtility.ClipAtlas(path, width, height, clipType);

                    SpriteAtlasWnd.GenAsset_OneFile(path);       //重新生成图集Asset

                    Debug.Log("切片完成:" + path + " --> " + width + ", " + height + ", " + clipType);
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.Space(15);
            GUILayout.BeginVertical();
            GUILayout.Label("手动修改切片后一定要记得保存记录!", GUILayout.ExpandHeight(false));
            if (GUILayout.Button("保存修改记录", GUILayout.Width(80)))
            {
                if (texture == null)
                {
                    Debug.Log("没有选择图集文件");
                }
                else
                {
                    string path = AssetDatabase.GetAssetPath(texture);
                    Debug.Log("开始保存记录:" + path);
                    SpriteAtlasClipUtility.SaveJsonData(path);
                    TypeReadJson();
                }
            }
            GUILayout.EndVertical();
            //}
            //catch (System.Exception e)
            //{
            //    Debug.LogException(e);
            //}
        }