private void InitAll() { for (int i = 0; i < SwitchList.Count; i++) { SwitchEffectNode n = SwitchList[i]; n.res = AssetBundleManager.GetAssets(AssetType.Asset_Prefab, n.guid, true); if (null != n.res && n.res.IsValid()) { AssetBundleManager.SaveMemory(n.res); n.effect = n.res.InstanceMainRes <Effect.EffectNode>(); SwitchList[i] = n; if (n.effect) { n.effect.transform.SetParent(transform); n.effect.transform.localPosition = Vector3.zero; n.effect.isStaticEffect = false; n.effect.PlayOnAwake = false; n.effect.Init(); } else { Debug.LogWarning("SwitchEffectWithHeroDistance有非特效结点,请[--策划--]检查皮肤预制体:" + transform.parent.name); } } else { Debug.LogWarning("SwitchEffectWithHeroDistance有特效加载失败,原因可能是预制体为空或者预制体加载失败,请[--策划--]检查皮肤预制体:" + transform.parent.name); } } }
public void Clear() { for (int i = 0; i < SwitchList.Count; i++) { SwitchEffectNode n = SwitchList[i]; AssetBundleManager.DeleteAssets(ref n.res, true); } }
public void ResetLayer() { if (null != SwitchList && SwitchList.Count > 0) { for (int i = 0; i < SwitchList.Count; i++) { SwitchEffectNode n = SwitchList[i]; if (n.effect) { GameUtil.SetLayer(LayerMask.NameToLayer(Config.LayerLightingEffectOnly), n.effect.gameObject, true); } } } }
public void DisableAll() { if (!bInit) { return; } for (int i = 0; i < SwitchList.Count; i++) { SwitchEffectNode n = SwitchList[i]; if (n.effect) { n.effect.StopEffect(); } } OldDistanceLevel = -1; }