From b82da95b5181ac8bbae38efb13e950d5e88a4caa Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 23 Oct 2020 13:08:43 +0800 Subject: =?UTF-8?q?*=E7=A7=BB=E5=8A=A8amplify=20shader=20editor=E5=88=B0th?= =?UTF-8?q?ird=20party=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/MfxObjectMaterialUpdater.cs | 79 ---------------------- 1 file changed, 79 deletions(-) delete mode 100644 Assets/MaterializeFX/Scripts/MfxObjectMaterialUpdater.cs (limited to 'Assets/MaterializeFX/Scripts/MfxObjectMaterialUpdater.cs') diff --git a/Assets/MaterializeFX/Scripts/MfxObjectMaterialUpdater.cs b/Assets/MaterializeFX/Scripts/MfxObjectMaterialUpdater.cs deleted file mode 100644 index c828afd4..00000000 --- a/Assets/MaterializeFX/Scripts/MfxObjectMaterialUpdater.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using Object = UnityEngine.Object; - -namespace Assets.MaterializeFX.Scripts -{ - internal sealed class MfxObjectMaterialUpdater - { - private readonly Renderer[] _renderers; - private readonly Dictionary _rendererToOriginalMaterialsMap = new Dictionary(); - private readonly List _mfxMaterials = new List(); - - public MfxObjectMaterialUpdater(GameObject targetObject, bool modifyChildren, bool replaceMaterials, Material mfxMaterialTemplate) - { - _renderers = modifyChildren ? targetObject.GetComponentsInChildren() : targetObject.GetComponents(); - - if (!replaceMaterials) - { - foreach (var renderer in _renderers) - foreach (var material in renderer.sharedMaterials) - _mfxMaterials.Add(material); - return; - } - - Replace(mfxMaterialTemplate); - } - - public void SetFloat(string propertyName, float value) - { - foreach (var mfxMaterial in _mfxMaterials) - mfxMaterial.SetFloat(propertyName, value); - } - - public void SetInt(string propertyName, int value) - { - foreach (var mfxMaterial in _mfxMaterials) - mfxMaterial.SetInt(propertyName, value); - } - - public void SetVector(string propertyName, Vector3 value) - { - foreach (var mfxMaterial in _mfxMaterials) - mfxMaterial.SetVector(propertyName, value); - } - - public void Replace(Material mfxMaterialTemplate) - { - _rendererToOriginalMaterialsMap.Clear(); - _mfxMaterials.Clear(); - - foreach (var renderer in _renderers) - { - var rendererSharedMaterials = renderer.sharedMaterials; - - _rendererToOriginalMaterialsMap[renderer] = rendererSharedMaterials; - var newMaterials = MfxMaterialUtil.ReplaceMaterialsToMfx(mfxMaterialTemplate, rendererSharedMaterials, false); - renderer.sharedMaterials = newMaterials.ToArray(); - _mfxMaterials.AddRange(newMaterials); - } - } - - public void Revert() - { - // ReSharper disable once ForCanBeConvertedToForeach - for (int i = 0; i < _renderers.Length; i++) - { - if (_rendererToOriginalMaterialsMap.ContainsKey(_renderers[i])) - _renderers[i].materials = _rendererToOriginalMaterialsMap[_renderers[i]]; - } - - _rendererToOriginalMaterialsMap.Clear(); - - foreach (var mfxMaterial in _mfxMaterials) - Object.DestroyImmediate(mfxMaterial); - - _mfxMaterials.Clear(); - } - } -} \ No newline at end of file -- cgit v1.1-26-g67d0