// Update is called once per frame
    void Update()
    {
        if (!WindowVisible())
        {
            return;
        }
        if (VCEditor.SelectedDecal != null)
        {
            HideWindow();
        }
        if (m_PathInput.text.Length > 0)
        {
            string s = m_PathInput.text.Replace("\\", "/");
            if (m_PathInput.text != s)
            {
                m_PathInput.text = s;
            }
        }
        if (m_LastPath.Length < 4)
        {
            if (m_TmpDecal != null)
            {
                m_TmpDecal.Destroy();
                m_TmpDecal = null;
            }
        }
        if (m_LastPath != m_PathInput.text)
        {
            m_LastPath = m_PathInput.text;
            if (m_TmpDecal != null)
            {
                m_TmpDecal.Destroy();
                m_TmpDecal = null;
            }
            Texture2D tmptex = VCUtils.LoadTextureFromFile(m_PathInput.text);
            if (tmptex != null)
            {
                m_TmpDecal = new VCDecalAsset();
                m_TmpDecal.Import(tmptex.EncodeToPNG());
                Texture2D.Destroy(tmptex);
            }
        }

        if (m_TmpDecal != null && m_TmpDecal.m_Tex != null)
        {
            m_UIDLabel.text          = m_TmpDecal.GUIDString;
            m_DecalUIMat.mainTexture = m_TmpDecal.m_Tex;
            m_DecalUITex.gameObject.SetActive(true);
            if (VCEAssetMgr.GetDecal(m_TmpDecal.m_Guid) != null)
            {
                m_ErrorLabel.text = "The same decal image already exist".ToLocalizationString() + " !";
            }
            else if (m_TmpDecal.m_Tex.width > 512 || m_TmpDecal.m_Tex.height > 512)
            {
                m_ErrorLabel.text = "Decal size must smaller than 512px".ToLocalizationString() + " !";
            }
            else
            {
                m_ErrorLabel.text = "";
            }
        }
        else
        {
            m_UIDLabel.text = "0000000000000000";
            m_DecalUITex.gameObject.SetActive(false);
            m_DecalUIMat.mainTexture = null;
            m_ErrorLabel.text        = "Please specify a decal image".ToLocalizationString() + " (*.png)";
        }
        m_CreateBtnGO.SetActive(m_ErrorLabel.text.Trim().Length < 1);
    }
 void UpdateTextures()
 {
     if (m_DiffusePathUI.text.Length > 0)
     {
         string s = m_DiffusePathUI.text.Replace("\\", "/");
         if (m_DiffusePathUI.text != s)
         {
             m_DiffusePathUI.text = s;
         }
     }
     if (m_BumpPathUI.text.Length > 0)
     {
         string s = m_BumpPathUI.text.Replace("\\", "/");
         if (m_BumpPathUI.text != s)
         {
             m_BumpPathUI.text = s;
         }
     }
     if (!m_DiffusePathUI.selected)
     {
         lastDiffPath         = "";
         m_DiffusePathUI.text = "";
     }
     if (!m_BumpPathUI.selected)
     {
         lastBumpPath      = "";
         m_BumpPathUI.text = "";
     }
     if (lastDiffPath != m_DiffusePathUI.text)
     {
         lastDiffPath = m_DiffusePathUI.text;
         if (lastDiffPath.Length > 0)
         {
             loadedDiff = false;
             if (m_DiffuseTex != null)
             {
                 Texture2D.Destroy(m_DiffuseTex);
             }
             m_DiffuseTex = VCUtils.LoadTextureFromFile(m_DiffusePathUI.text);
             if (m_DiffuseTex == null)
             {
                 m_DiffuseTex = Texture2D.Instantiate(Resources.Load(VCMaterial.s_BlankDiffuseRes) as Texture2D) as Texture2D;
                 if (!loadedBump)
                 {
                     m_BumpTex             = Texture2D.Instantiate(Resources.Load(VCMaterial.s_BlankBumpRes) as Texture2D) as Texture2D;
                     m_BumpMat.mainTexture = m_BumpTex;
                 }
             }
             else
             {
                 loadedDiff = true;
                 if (!loadedBump)
                 {
                     m_BumpTex             = Texture2D.Instantiate(Resources.Load(VCMaterial.s_BlankBumpRes_) as Texture2D) as Texture2D;
                     m_BumpMat.mainTexture = m_BumpTex;
                 }
             }
             m_DiffuseMat.mainTexture     = m_DiffuseTex;
             m_TempMaterial.m_DiffuseData = m_DiffuseTex.EncodeToPNG();
             m_TempMaterial.m_BumpData    = m_BumpTex.EncodeToPNG();
             m_TempMaterial.CalcGUID();
         }
     }
     if (lastBumpPath != m_BumpPathUI.text)
     {
         lastBumpPath = m_BumpPathUI.text;
         if (lastBumpPath.Length > 0)
         {
             loadedBump = false;
             if (m_BumpTex != null)
             {
                 Texture2D.Destroy(m_BumpTex);
             }
             m_BumpTex = VCUtils.LoadTextureFromFile(m_BumpPathUI.text);
             if (m_BumpTex == null)
             {
                 if (loadedDiff)
                 {
                     m_BumpTex = Texture2D.Instantiate(Resources.Load(VCMaterial.s_BlankBumpRes_) as Texture2D) as Texture2D;
                 }
                 else
                 {
                     m_BumpTex = Texture2D.Instantiate(Resources.Load(VCMaterial.s_BlankBumpRes) as Texture2D) as Texture2D;
                 }
             }
             else
             {
                 loadedBump = true;
             }
             m_BumpMat.mainTexture        = m_BumpTex;
             m_TempMaterial.m_DiffuseData = m_DiffuseTex.EncodeToPNG();
             m_TempMaterial.m_BumpData    = m_BumpTex.EncodeToPNG();
             m_TempMaterial.CalcGUID();
         }
     }
 }