/// <summary> /// 摧毁指定的组件 /// </summary> /// <param name="instance">需要清除的Blood</param> public static void Destroy(GfxBlood instance) { if (Movie.GetSingleton <GfxBloodMovie>() == null) { return; } if (null == instance) { return; } int id = instance.ID; if (instance.movieNode.isValid) { UnUsedMovieNodeList.Enqueue(instance.movieNode); } if (GfxBloodMovie.Instance != null) { GfxBloodMovie.Instance.RemoveMovieAS3(instance.Instance); } instance.Clear(); if (m_BloodMap.ContainsKey(id)) { m_BloodMap[id] = null; m_BloodMap.Remove(id); } instance = null; }
/// <summary> /// 清除所有的组件 /// </summary> public static void DestroyALL() { if (Movie.GetSingleton <GfxBloodMovie>() == null) { return; } ClearCache(); if (null != m_BloodMap) { foreach (KeyValuePair <int, GfxBlood> var in m_BloodMap) { GfxBlood gba = var.Value; if (GfxBloodMovie.Instance != null) { GfxBloodMovie.Instance.RemoveMovieAS3(gba.Instance); } gba.Clear(); } CurrentColIndex = 0; CurrentRowIndex = 0; UnUsedMovieNodeList.Clear(); m_BloodMap.Clear(); } if (null != BossBlood) { if (GfxDynamicMovie.Instance != null) { GfxDynamicMovie.Instance.RemoveMovieAS3(BossBlood.Instance); } BossBlood.Clear(); BossBlood = null; CurrentBossBlodHostID = -1; } BossBloodEntityTable.Clear(); BossBloodProityList.Clear(); //GFxWarPauseMenu.BoolEvent -= ChangeBloodSetting; }