public void Clear() { foreach (LightingEffectResHandleInstance instance in m_AllInstanceNode) { GameObject temp = instance.effectPrefab; if (!ResNode.isNullOrEmpty(prefabResNode)) { prefabResNode.DestroyInstanceRes(ref temp); } instance.Clear(); } m_CacheList.Clear(); m_AllInstanceNode.Clear(); effectConfig = null; prefabResNode = null; ReferenceCount = 0; isValid = false; stage = loadingStage.Stage_Invalid; currCacheTime = 0.0f; }
public void OnLoadFinish(Transform CacheParent, ResNode effectPrefabRes) { AssetBundleManager.SaveMemory(effectPrefabRes); prefabResNode = effectPrefabRes; stage = loadingStage.Stage_Finish; Init(CacheParent); foreach (LightingEffectResHandleInstance instance in m_AllInstanceNode) { LightingEffectResHandleInstance.FillInstance(currCahceTransform, this, instance); if (instance.isCached) { Quaternion qtn = Quaternion.identity; if (prefabResNode != null) { qtn = prefabResNode.GetResRotation(); } instance.OnCache(currCahceTransform, currCachePos, qtn); } } }