public void BackupMeshColor(GameObject targetObj, bool bRecursively) { if (targetObj == null) { return; } m_SavedMeshColor = bRecursively ? SAVE_TYPE.RECURSIVELY : SAVE_TYPE.ONE; if (m_SavedMeshColor == SAVE_TYPE.RECURSIVELY) { m_MeshColorMeshFilters = targetObj.GetComponentsInChildren <MeshFilter>(true); m_MeshColorSaveValues = new Vector4[m_MeshColorMeshFilters.Length]; if (m_MeshColorMeshFilters == null || m_MeshColorMeshFilters.Length < 0) { return; } for (int arrayIndex = 0; arrayIndex < m_MeshColorMeshFilters.Length; arrayIndex++) { m_MeshColorSaveValues[arrayIndex] = GetMeshColor(m_MeshColorMeshFilters[arrayIndex]); } } else { m_MeshColorMeshFilter = targetObj.GetComponent <MeshFilter>(); m_MeshColorSaveValue = GetMeshColor(m_MeshColorMeshFilter); } }
public void BackupMaterialColor(GameObject targetObj, bool bRecursively) { if (targetObj == null) { return; } if (bRecursively) { m_SavedMaterialColor = SAVE_TYPE.RECURSIVELY; } else { m_SavedMaterialColor = SAVE_TYPE.ONE; } Transform targetTrans = targetObj.transform; if (m_SavedMaterialColor == SAVE_TYPE.RECURSIVELY) { // Recursively m_MaterialColorRenderers = targetTrans.GetComponentsInChildren <Renderer>(true); m_MaterialColorColorNames = new string[m_MaterialColorRenderers.Length]; m_MaterialColorSaveValues = new Vector4[m_MaterialColorRenderers.Length]; for (int n = 0; n < m_MaterialColorRenderers.Length; n++) { Renderer ren = m_MaterialColorRenderers[n]; m_MaterialColorColorNames[n] = GetMaterialColorName(ren.sharedMaterial); if (m_MaterialColorColorNames[n] != null) { m_MaterialColorSaveValues[n] = ren.material.GetColor(m_MaterialColorColorNames[n]); } } } else { // this Only m_MaterialColorRenderer = targetTrans.renderer; if (m_MaterialColorRenderer != null) { m_MaterialColorColorName = GetMaterialColorName(m_MaterialColorRenderer.sharedMaterial); if (m_MaterialColorColorName != null) { m_MaterialColorSaveValue = m_MaterialColorRenderer.material.GetColor(m_MaterialColorColorName); } } } }
public void BackupMaterialColor(GameObject targetObj, bool bRecursively) { if (targetObj == null) return; if (bRecursively) m_SavedMaterialColor = SAVE_TYPE.RECURSIVELY; else m_SavedMaterialColor = SAVE_TYPE.ONE; Transform targetTrans = targetObj.transform; if (m_SavedMaterialColor == SAVE_TYPE.RECURSIVELY) { // Recursively m_MaterialColorRenderers = targetTrans.GetComponentsInChildren<Renderer>(true); m_MaterialColorColorNames = new string[m_MaterialColorRenderers.Length]; m_MaterialColorSaveValues = new Vector4[m_MaterialColorRenderers.Length]; for (int n = 0; n < m_MaterialColorRenderers.Length; n++) { Renderer ren = m_MaterialColorRenderers[n]; m_MaterialColorColorNames[n] = GetMaterialColorName(ren.sharedMaterial); if (m_MaterialColorColorNames[n] != null) m_MaterialColorSaveValues[n] = ren.material.GetColor(m_MaterialColorColorNames[n]); } } else { // this Only m_MaterialColorRenderer = targetTrans.GetComponent<Renderer>(); if (m_MaterialColorRenderer != null) { m_MaterialColorColorName = GetMaterialColorName(m_MaterialColorRenderer.sharedMaterial); if (m_MaterialColorColorName != null) m_MaterialColorSaveValue = m_MaterialColorRenderer.material.GetColor(m_MaterialColorColorName); } } }
public void BackupMeshColor(GameObject targetObj, bool bRecursively) { if (targetObj == null) return; if (bRecursively) m_SavedMeshColor = SAVE_TYPE.RECURSIVELY; else m_SavedMeshColor = SAVE_TYPE.ONE; if (m_SavedMeshColor == SAVE_TYPE.RECURSIVELY) { // Recursively m_MeshColorMeshFilters = targetObj.GetComponentsInChildren<MeshFilter>(true); m_MeshColorSaveValues = new Vector4[m_MeshColorMeshFilters.Length]; if (m_MeshColorMeshFilters == null || m_MeshColorMeshFilters.Length < 0) return; for (int arrayIndex = 0; arrayIndex < m_MeshColorMeshFilters.Length; arrayIndex++) m_MeshColorSaveValues[arrayIndex] = GetMeshColor(m_MeshColorMeshFilters[arrayIndex]); } else { // this Only m_MeshColorMeshFilter = targetObj.GetComponent<MeshFilter>(); m_MeshColorSaveValue = GetMeshColor(m_MeshColorMeshFilter); } }