public void Add(ISimulationItem item) { if (!items.Contains(item) && item is SimulationItem) { items.Add(item); ((SimulationItem)item).parent = this; } }
public static IDrawElement GetDrawingInstance(ISimulationItem simulationItem) { var type = simulationItem.GetType(); if (cache.ContainsKey(type)) { return(cache[type](simulationItem)); } foreach (var key in elements.Keys) { if (type.GetInterfaces().Contains(key)) { var action = elements[key]; cache.Add(type, action); return(action(simulationItem)); } } return(null); }
private void AddToInProgress(ISimulationItem item) { item.SimulationState = SimulationState.InProgress; item.DoAtStart(Timer); }
private void HandleFinishedItems(ISimulationItem item) { item.SimulationState = SimulationState.Finished; item.DoAtEnd(ListMachineStatus, Timer); }
protected abstract void InternalPaint(ISimulationItem simulationItem, Graphics g);
public DrawElementBase(ISimulationItem simulationItem) { SimulationItem = simulationItem; }
public SimulationItem(ISimulationItem parent = null) { this.parent = parent; }