Пример #1
0
 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);
        }
Пример #3
0
 private void AddToInProgress(ISimulationItem item)
 {
     item.SimulationState = SimulationState.InProgress;
     item.DoAtStart(Timer);
 }
Пример #4
0
 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;
 }
Пример #7
0
 public SimulationItem(ISimulationItem parent = null)
 {
     this.parent = parent;
 }