protected override IEnumerator Unload() { while (FightLogicExecutor.isValid) { yield return(null); } FightMap current = FightMap.current; if (null != current) { current.Release(); FightMap.current = null; } if (FightSpellEffectFactory.isReady) { yield return(FightSpellEffectFactory.Unload()); } if (FightObjectFactory.isReady) { yield return(FightObjectFactory.Unload()); } if (FightUIFactory.isReady) { yield return(FightUIFactory.Unload()); } VisualEffectFactory.Dispose(); yield return(RuntimeData.UnloadTextCollectionAsync("Fight")); yield return(_003C_003En__0()); DragNDropListener.instance.CancelSnapDrag(); instance = null; }