private static IEnumerable<MudObject> _enumerateVisibleTree(MudObject C) { if (C != null) { yield return C; if (C is Container) foreach (var list in (C as Container).Lists) { if (list.Key == RelativeLocations.In && C.GetBooleanProperty("openable?") && !C.GetBooleanProperty("open?")) continue; foreach (var item in list.Value) foreach (var sub in _enumerateVisibleTree(item)) yield return sub; } } }
private static IEnumerable <MudObject> _enumerateVisibleTree(MudObject C) { if (C != null) { yield return(C); if (C is Container) { foreach (var list in (C as Container).Lists) { if (list.Key == RelativeLocations.In && C.GetBooleanProperty("openable?") && !C.GetBooleanProperty("open?")) { continue; } foreach (var item in list.Value) { foreach (var sub in _enumerateVisibleTree(item)) { yield return(sub); } } } } } }
public static bool IsHeavy(MudObject Object) { return Object.GetBooleanProperty("heavy?"); }