public SceneBase CreateReflectiveObjects(Observer.ISceneObserver obs) { SceneBase scene = new ReflectiveObjects(); scene.RegisterObserver(obs); return(scene); }
public SequentialCommandExecutor(IModHelper helper) { Helper = helper; helper.Events.GameLoop.UpdateTicked += onUpdateTick; helper.Events.Display.Rendered += onRendered; IEnumerable <Command> objs = ReflectiveObjects.GetEachObjectsOfSubtype <Command>(); foreach (var obj in objs) { try { dynamic changedObj = Convert.ChangeType(obj, obj.GetType()); var nameMember = obj.GetType().GetField(nameof(Command.name)); string name = (string)nameMember.GetValue(null); m_commandCache[name] = obj; } catch (Exception) { ModEntry.m_instance.Monitor.Log($"Command Class {obj.GetType().Name} does not have a name member for config, use class name instead.", LogLevel.Debug); m_commandCache[obj.GetType().Name] = obj; } } m_commandCache.ContainsKey("Craft"); }