// Show Window
        //------------------------------------------------------------------
        public static object ShowDialog(apEditor editor, apTextureData targetTextureData, FUNC_SELECT_TEXTUREASSET_RESULT funcResult)
        {
            CloseDialog();

            if (editor == null || editor._portrait == null || editor._portrait._controller == null)
            {
                return(null);
            }

            EditorWindow curWindow = EditorWindow.GetWindow(typeof(apDialog_SelectTextureAsset), true, "Select Texture2D", true);
            apDialog_SelectTextureAsset curTool = curWindow as apDialog_SelectTextureAsset;

            object loadKey = new object();

            if (curTool != null && curTool != s_window)
            {
                int width  = 500;
                int height = 600;
                s_window          = curTool;
                s_window.position = new Rect((editor.position.xMin + editor.position.xMax) / 2 - (width / 2),
                                             (editor.position.yMin + editor.position.yMax) / 2 - (height / 2),
                                             width, height);
                s_window.Init(editor, targetTextureData, loadKey, funcResult);

                return(loadKey);
            }
            else
            {
                return(null);
            }
        }
 private static void CloseDialog()
 {
     if (s_window != null)
     {
         try
         {
             s_window.Close();
         }
         catch (Exception ex)
         {
             Debug.LogError("Close Exception : " + ex);
         }
         s_window = null;
     }
 }