public void RestoreMaterialColor() { if (this.m_SavedMaterialColor == NcEffectInitBackup.SAVE_TYPE.NONE) { return; } if (this.m_SavedMaterialColor == NcEffectInitBackup.SAVE_TYPE.RECURSIVELY) { for (int i = 0; i < this.m_MaterialColorRenderers.Length; i++) { if (this.m_MaterialColorRenderers[i] != null && this.m_MaterialColorColorNames[i] != null) { this.m_MaterialColorRenderers[i].material.SetColor(this.m_MaterialColorColorNames[i], this.m_MaterialColorSaveValues[i]); } } } else if (this.m_MaterialColorRenderers != null) { this.m_MaterialColorColorName = NcEffectInitBackup.GetMaterialColorName(this.m_MaterialColorRenderer.sharedMaterial); if (this.m_MaterialColorColorName != null) { this.m_MaterialColorRenderer.material.SetColor(this.m_MaterialColorColorName, this.m_MaterialColorSaveValue); } } }
public void BackupMaterialColor(GameObject targetObj, bool bRecursively) { if (targetObj == null) { return; } if (bRecursively) { this.m_SavedMaterialColor = NcEffectInitBackup.SAVE_TYPE.RECURSIVELY; } else { this.m_SavedMaterialColor = NcEffectInitBackup.SAVE_TYPE.ONE; } Transform transform = targetObj.transform; if (this.m_SavedMaterialColor == NcEffectInitBackup.SAVE_TYPE.RECURSIVELY) { this.m_MaterialColorRenderers = transform.GetComponentsInChildren <Renderer>(true); this.m_MaterialColorColorNames = new string[this.m_MaterialColorRenderers.Length]; this.m_MaterialColorSaveValues = new Vector4[this.m_MaterialColorRenderers.Length]; for (int i = 0; i < this.m_MaterialColorRenderers.Length; i++) { Renderer renderer = this.m_MaterialColorRenderers[i]; this.m_MaterialColorColorNames[i] = NcEffectInitBackup.GetMaterialColorName(renderer.sharedMaterial); if (this.m_MaterialColorColorNames[i] != null) { this.m_MaterialColorSaveValues[i] = renderer.material.GetColor(this.m_MaterialColorColorNames[i]); } } } else { this.m_MaterialColorRenderer = transform.GetComponent <Renderer>(); if (this.m_MaterialColorRenderer != null) { this.m_MaterialColorColorName = NcEffectInitBackup.GetMaterialColorName(this.m_MaterialColorRenderer.sharedMaterial); if (this.m_MaterialColorColorName != null) { this.m_MaterialColorSaveValue = this.m_MaterialColorRenderer.material.GetColor(this.m_MaterialColorColorName); } } } }