示例#1
0
    static private void ChangeSpriteView(int index)
    {//Inspector变更为SpriteList选择状态
        Texture2D tex        = null;
        string    SpriteName = null;

        if ((m_projTreeView == null) || (m_spriteListView == null) || (m_inspector == null) || (index < 0))
        {
            return;
        }

        //获取小图纹理
        ListCtrlItem deleteItem = m_spriteListView.Items[m_spriteListView.LastSelectItem];

        SpriteName = deleteItem.tooltip;
        tex        = UIAtlasEditorModel.GetInstance().GetSpriteImageTexture(SpriteName);
        if (tex == null)
        {
            return;
        }

        ClearProjectView();

        //更新Inspector视图至小图属性
        m_inspector.onInspector = OnSpriteInspector;

        //更新当前小图的宽、高、缩放比例信息
        UpdateSpriteSize(tex);

        //更新预览区域
        UpdatePreViewWnd(tex);

        RequestRepaint();
    }
示例#2
0
 public void AddItem(ListCtrlItem item)
 {
     items.Add(item);
     lastSelectItem = -1;
     //Add by liteng for MoveAtlas At 2014/1/4
     m_SelectItems.Clear();
 }
示例#3
0
    static void DeleteSpriteImage(object command)
    {//删除小图
        if ((m_spriteListView == null) || (m_spriteListView.LastSelectItem < 0))
        {
            return;
        }

        List <string> deleteSpriteName = new List <string>();

        foreach (var index in m_spriteListView.SelectItems)
        {
            ListCtrlItem deleteItem = m_spriteListView.Items[index];
            deleteSpriteName.Add(deleteItem.tooltip);
        }

        foreach (var item in deleteSpriteName)
        {
            AtlasDeleteSpriteImageCommand cmd = new AtlasDeleteSpriteImageCommand();
            cmd.m_SpriteName = item;
            EditorCommandManager.GetInstance().Add(cmd);

            RegisterUndo("Delete SpriteImage");
        }

        m_bIsOperateSaved = false;

        RequestRepaint();
    }
    static void RebuildUnUsedResourcesListView()
    {
        ListViewCtrl unUsedResListView = s_root.FindControl("_UnUsedResList") as ListViewCtrl;

        if (unUsedResListView == null)
        {
            return;
        }

        unUsedResListView.ClearItems();

        List <U3DAssetInfo> unUsedAssets = ResourceManageToolModel.GetInstance().UnUsedAssetList;

        foreach (var asset in unUsedAssets)
        {
            ListCtrlItem newItem = new ListCtrlItem();
            newItem.name          = Path.GetFileName(asset.path);
            newItem.image         = asset.icon;
            newItem.userObj       = asset.guid;
            newItem.color         = Color.white;
            newItem.onSelectColor = Color.red;
            unUsedResListView.AddItem(newItem);
        }

        RequestRepaint();
    }
示例#5
0
    static private void AddProjectItem(string projectName)
    {//添加ProjectList Item
        if ((m_projTreeView == null) || (projectName == null))
        {
            return;
        }

        ListCtrlItem newItem = new ListCtrlItem();

        newItem.name          = projectName;
        newItem.color         = Color.white;
        newItem.onSelectColor = Color.blue;
        m_projTreeView.AddItem(newItem);

        //m_bIsOperateSaved = false;
    }
示例#6
0
    static private void AddSpriteItem(string spriteName)
    {//添加SpriteList Item
        if ((m_spriteListView == null) || (spriteName == null))
        {
            return;
        }

        ListCtrlItem newItem = new ListCtrlItem();

        newItem.name          = Path.GetFileName(spriteName);
        newItem.image         = UIAtlasEditorModel.GetInstance().GetSpriteZoomTexture(spriteName);
        newItem.tooltip       = spriteName;
        newItem.color         = Color.white;
        newItem.onSelectColor = Color.blue;
        m_spriteListView.AddItem(newItem);

        //m_bIsOperateSaved = false;
    }
示例#7
0
    static private void RemoveSpriteItem(string spriteName)
    {//删除SpriteList Item
        if (m_spriteListView == null)
        {
            return;
        }

        for (int i = 0; i < m_spriteListView.GetItemCount(); i++)
        {
            if (m_spriteListView.Items[i].tooltip == spriteName)
            {
                ListCtrlItem deleteItem = m_spriteListView.Items[i];

                //从List中移除小图
                m_spriteListView.RemoveItem(deleteItem);

                m_bIsOperateSaved = false;
            }
        }
    }
示例#8
0
    void FixSearchResultAndList(string searchName, List <AtlasInfoForSearchSprite> atlasInfoTbl)
    {
        if (null == atlasInfoTbl)
        {
            return;
        }

        ListViewCtrl searchList = _GetControl <ListViewCtrl>(m_SearchResultListName);

        if (null == searchList)
        {
            return;
        }

        searchList.ClearItems();

        m_SearchResultInfo                  = new SearchResultInfo();
        m_SearchResultInfo.SearchName       = searchName;
        m_SearchResultInfo.SearchSpriteInfo = new List <SearchSpriteInfo>();

        for (int index = 0; index < atlasInfoTbl.Count; index++)
        {
            foreach (var item in atlasInfoTbl[index].SpriteInfo)
            {
                SearchSpriteInfo newInfo = new SearchSpriteInfo();
                newInfo.AtlasPath    = atlasInfoTbl[index].AtlasPath;
                newInfo.AtlasTexture = atlasInfoTbl[index].AtlasTexture;
                newInfo.SpriteName   = item.Key;
                newInfo.SpriteRect   = item.Value;

                m_SearchResultInfo.SearchSpriteInfo.Add(newInfo);

                ListCtrlItem newItem = new ListCtrlItem();
                newItem.name          = item.Key + "  " + newInfo.AtlasPath;
                newItem.color         = Color.white;
                newItem.onSelectColor = Color.blue;
                searchList.AddItem(newItem);
            }
        }
    }
示例#9
0
 public int IndexOfItem(ListCtrlItem item)
 {
     return(items.IndexOf(item));
 }
示例#10
0
    static void RebuildListViewAndTimeLineView()
    {
        var clip = SpecialEffectAnimClipEditorModel.GetInstance().CurrentClip;

        //更新ListView
        ListViewCtrl listView = GetListViewCtrl();

        listView.ClearItems();

        var previewAnimClip = clip.PreviewAnimClip;

        {
            ListCtrlItem item = new ListCtrlItem();
            if (previewAnimClip != null)
            {
                item.name = previewAnimClip.name;
            }
            else
            {
                item.name = "空动作";
            }
            item.image = UnityInternalIconCache.GetInstance().GetCacheIcon("UnityEditor.AnimationWindow");
            listView.AddItem(item);
        }


        foreach (var item in clip.Clip.itemList)
        {
            ListCtrlItem listItem = new ListCtrlItem();
            listItem.name = item.obj.name;
            if (item as SpecialEffectAnimClipAudioItem != null)
            {
                listItem.image = UnityInternalIconCache.GetInstance().GetCacheIcon("SceneViewAudio");
            }
            else if (item as SpecialEffectAnimClipEffectItem != null)
            {
                listItem.image = UnityInternalIconCache.GetInstance().GetCacheIcon("AvatarPivot");
            }
            listView.AddItem(listItem);
        }


        //更新TimeLineView
        TimeLineViewCtrl timeLineView = GetTimeLineViewCtrl();

        timeLineView.Items.Clear();

        {
            TimeLineItem item = new TimeLineItem();
            item.startTime = 0.0f;
            if (previewAnimClip != null)
            {
                item.length = previewAnimClip.length;
            }
            else
            {
                item.length = 0.0f;
            }
            timeLineView.Items.Add(item);
        }

        foreach (var item in clip.Clip.itemList)
        {
            TimeLineItem timeLineItem = new TimeLineItem();
            timeLineItem.startTime = item.StartTime;
            timeLineItem.length    = item.Length;
            timeLineView.Items.Add(timeLineItem);
        }

        UpdatePreviewLength();
    }
示例#11
0
    static void OnSpriteInspector(EditorControl c, object target)
    {//小图属性窗口显示
        int    w, h;
        string oldStr     = null;
        string SpriteName = null;

        if ((m_spriteListView == null) || (m_spriteListView.LastSelectItem < 0))
        {
            return;
        }

        ListCtrlItem deleteItem = m_spriteListView.Items[m_spriteListView.LastSelectItem];

        SpriteName = deleteItem.tooltip;

        GUILayout.Space(20f);

        GUILayout.BeginHorizontal();
        GUILayout.Label("宽高比", GUILayout.Width(60f));
        GUILayout.TextField(m_aspecet.ToString(), GUILayout.Width(150));
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("宽度", GUILayout.Width(60f));
        GUI.SetNextControlName("宽度");
        oldStr           = m_spriteWidthStr;
        m_spriteWidthStr = GUILayout.TextField(m_spriteWidthStr, GUILayout.Width(150));
        if ((GUI.GetNameOfFocusedControl() == "宽度") && (oldStr != m_spriteWidthStr))
        {
            int.TryParse(m_spriteWidthStr, out w);
            h = (int)(w / m_aspecet);
            m_spriteHeightStr = h.ToString();
        }
        GUILayout.Label("pix", GUILayout.Width(50f));
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("高度", GUILayout.Width(60f));
        GUI.SetNextControlName("高度");
        oldStr            = m_spriteHeightStr;
        m_spriteHeightStr = GUILayout.TextField(m_spriteHeightStr, GUILayout.Width(150));
        if ((GUI.GetNameOfFocusedControl() == "高度") && (oldStr != m_spriteHeightStr))
        {
            int.TryParse(m_spriteHeightStr, out h);
            w = (int)(h * m_aspecet);
            m_spriteWidthStr = w.ToString();
        }
        GUILayout.Label("pix", GUILayout.Width(50f));
        GUILayout.EndHorizontal();

        if (Event.current.keyCode == KeyCode.Return && Event.current.type == EventType.Used)
        {
            if (GUI.GetNameOfFocusedControl() == "高度" || GUI.GetNameOfFocusedControl() == "宽度")
            {
                AtlasSpriteImage      spriteImage = null;
                AtlasImageZoomCommand cmd         = null;
                Texture2D             tex         = null;

                int.TryParse(m_spriteWidthStr, out w);
                int.TryParse(m_spriteHeightStr, out h);

                cmd = new AtlasImageZoomCommand();
                UIAtlasEditorModel.GetInstance().GetSpriteImage(SpriteName, out spriteImage);
                tex = UIAtlasEditorModel.GetInstance().GetSpriteTexture(SpriteName);
                if (tex == null)
                {
                    return;
                }

                cmd.m_oldScaleFactor = spriteImage.ZoomScale;
                cmd.m_newScaleFactor = (float)w / (float)tex.width;
                cmd.m_SpriteName     = SpriteName;
                EditorCommandManager.GetInstance().Add(cmd);

                m_bIsOperateSaved = false;

                RegisterUndo("Zoom Image");
            }
        }

        //RequestRepaint();
    }