DirectOutputR1
DirectOutput framework R1 for virtual pinball cabinets.
Go to:
Overview 
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
OutputControllerBase.cs
Go to the documentation of this file.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Xml.Serialization;
6 using DirectOutput.General.Generic;
7 
8 namespace DirectOutput.Cab.Out
9 {
10 
16  public abstract class OutputControllerBase : NamedItemBase, IOutputController
17  {
18 
19 
20 
21 
22 
23 
24  private OutputList _Outputs=null;
29  [XmlIgnore]
30  public virtual OutputList Outputs
31  {
32  get { return _Outputs; }
33  set
34  {
35  if (_Outputs != null)
36  {
37  _Outputs.OutputValueChanged -= new OutputList.OutputValueChangedEventHandler(Outputs_OutputValueChanged);
38  }
39 
40  _Outputs = value;
41 
42  if (_Outputs != null)
43  {
44  _Outputs.OutputValueChanged += new OutputList.OutputValueChangedEventHandler(Outputs_OutputValueChanged);
45 
46  }
47 
48  }
49  }
50 
51  private void Outputs_OutputValueChanged(object sender, OutputEventArgs e)
52  {
53  OnOutputValueChanged(e.Output);
54  }
55 
61  public virtual void OnOutputValueChanged(IOutput Output)
62  {
63 
64  }
65 
66 
67 
68 
69 
70 
71 
77  public abstract void Init(Cabinet Cabinet);
78 
83  public abstract void Finish();
84 
89  public abstract void Update();
90 
91  }
92 }