예제 #1
0
    void ClearPreview()
    {
        MainViewCtrl spriteView = _GetControl <MainViewCtrl>(m_SpriteViewName);

        if (null == spriteView)
        {
            return;
        }

        MainViewCtrl atlasView = _GetControl <MainViewCtrl>(m_AtlasViewName);

        if (null == atlasView)
        {
            return;
        }

        LabelCtrl spriteInfo = _GetControl <LabelCtrl>(m_SpriteInfoLabel);

        if (null == spriteInfo)
        {
            return;
        }

        LabelCtrl atlasInfo = _GetControl <LabelCtrl>(m_AtlasInfoLabel);

        if (null == atlasInfo)
        {
            return;
        }

        UniversalEditorUtility.DestoryChildren(spriteView.GetBindingTarget());
        UniversalEditorUtility.DestoryChildren(atlasView.GetBindingTarget());

        spriteInfo.Caption = "";
        atlasInfo.Caption  = "";
    }
예제 #2
0
    static private void UpdatePreViewWnd(Texture2D tex)
    {//更新MainView显示
        if (tex == null)
        {
            return;
        }

        float aspect = (float)tex.width / (float)tex.height;
        float w1     = 10.0f;
        float h1     = w1 / aspect;

        //更新预览窗口
        GameObject.DestroyImmediate(m_previewObj);
        m_previewObj = _GenTexturePreviewObject(w1, h1, tex);
        if (m_previewObj == null)
        {
            return;
        }

        m_previewObj.transform.parent        = m_preview.GetBindingTarget().transform;
        m_previewObj.transform.localPosition = Vector3.zero;

        RequestRepaint();
    }
예제 #3
0
    void OnSelectListItem(EditorControl c, int index)
    {
        if (
            (m_SearchResultInfo == null) ||
            (m_SearchResultInfo.SearchSpriteInfo == null)
            )
        {
            return;
        }

        ListViewCtrl searchList = c as ListViewCtrl;

        if (null == searchList)
        {
            return;
        }

        MainViewCtrl spriteView = _GetControl <MainViewCtrl>(m_SpriteViewName);

        if (null == spriteView)
        {
            return;
        }

        MainViewCtrl atlasView = _GetControl <MainViewCtrl>(m_AtlasViewName);

        if (null == atlasView)
        {
            return;
        }

        LabelCtrl spriteInfo = _GetControl <LabelCtrl>(m_SpriteInfoLabel);

        if (null == spriteInfo)
        {
            return;
        }

        LabelCtrl atlasInfo = _GetControl <LabelCtrl>(m_AtlasInfoLabel);

        if (null == atlasInfo)
        {
            return;
        }

        SearchSpriteInfo info = m_SearchResultInfo.SearchSpriteInfo[index];

        Texture atlasTex = info.AtlasTexture;

        //获取Sprite在Atlas中的位置
        Rect spriteUVRect = info.SpriteRect;
        //m_SearchResultInfo.GetSpirteUVRect(index);
        Rect spriteUVRectReal = UtilityForNGUI.ConvertToTexCoords(spriteUVRect, atlasTex.width, atlasTex.height);

        float aspect = (float)atlasTex.width / (float)atlasTex.height;
        float w1     = 10.0f;
        float h1     = w1 / aspect;

        float aspect2 = (float)spriteUVRect.width / (float)spriteUVRect.height;
        float w2      = 3.0f;
        float h2      = w2 / aspect2;

        //创建预览Object
        GameObject spritePreviewObj = _GenTexturePreviewObject(w2, h2, atlasTex, spriteUVRectReal);
        GameObject atlasPreviewObj  = _GenTexturePreviewObject(w1, h1, atlasTex, new Rect(0, 0, 1, 1));

        //将预览Object绑定至MainView的主相机之下
        UniversalEditorUtility.DestoryChildren(spriteView.GetBindingTarget());
        spritePreviewObj.transform.parent        = spriteView.GetBindingTarget().transform;
        spritePreviewObj.transform.localPosition = Vector3.zero;

        UniversalEditorUtility.DestoryChildren(atlasView.GetBindingTarget());
        atlasPreviewObj.transform.parent        = atlasView.GetBindingTarget().transform;
        atlasPreviewObj.transform.localPosition = Vector3.zero;

        //更新预览信息
        string atlasName = Path.GetFileNameWithoutExtension(info.AtlasPath);

        spriteInfo.Caption = "Sprite: " + info.SpriteName + " , " + spriteUVRect.width + " * " + spriteUVRect.height;
        atlasInfo.Caption  = "Atlas: " + atlasName + " , " + info.AtlasTexture.width + " * " + info.AtlasTexture.height;
        //spriteView.mainViewUVRect = spriteUVRect;

        RequestRepaint();
    }