// 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(); } } }