DirectOutputR1
DirectOutput framework R1 for virtual pinball cabinets.
Go to:
Overview 
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
TableElement.cs
Go to the documentation of this file.
1 using System;
2 using System.ComponentModel;
3 using System.Xml.Serialization;
4 using DirectOutput.FX;
5 
6 namespace DirectOutput.Table
7 {
8 
12  public class TableElement
13  {
14 
15 
16 
17 
18  #region TableElementType
19  private TableElementTypeEnum _TableElementType = TableElementTypeEnum.Lamp;
23  public TableElementTypeEnum TableElementType
24  {
25  get { return _TableElementType; }
26  set
27  {
28  if (_TableElementType != value)
29  {
30  _TableElementType = value;
31 
32  }
33  }
34  }
35  #endregion
36 
37  #region Number
38  private int _Number = 0;
42  public int Number
43  {
44  get { return _Number; }
45  set
46  {
47  if (_Number != value)
48  {
49 
50  _Number = value;
51 
52  }
53  }
54  }
55 
56  #endregion
57 
58  #region Name
59  private string _Name = "";
64  public string Name
65  {
66  get { return _Name; }
67  set
68  {
69  if (_Name != value)
70  {
71  _Name = value;
72  if (NameChanged != null)
73  {
74  NameChanged(this, new EventArgs());
75 
76  }
77  }
78  }
79  }
83  public event EventHandler<EventArgs> NameChanged;
84  #endregion
85 
86  #region Value
87  private int _Value = -1;
92  [XmlIgnoreAttribute]
93  public int Value
94  {
95  get { return _Value; }
96  set
97  {
98  if (_Value != value)
99  {
100  _Value = value;
101  if (ValueChanged != null)
102  {
103  ValueChanged(this, new TableElementValueChangedEventArgs(this));
104 
105  }
106  }
107  }
108  }
112  public event EventHandler<TableElementValueChangedEventArgs> ValueChanged;
113 
114 
115  void TableElement_ValueChanged(object sender, TableElementValueChangedEventArgs e)
116  {
117 
118  AssignedEffects.Trigger(GetTableElementData());
119  }
120  #endregion
121 
122 
123  private AssignedEffectList _TableElementEffectList;
124 
125 
129  public AssignedEffectList AssignedEffects
130  {
131  get { return _TableElementEffectList; }
132  set
133  {
134  if (_TableElementEffectList != value)
135  {
136  _TableElementEffectList = value;
137 
138  }
139  }
140  }
141 
146  public TableElementData GetTableElementData()
147  {
148  return new TableElementData(this);
149  }
150 
151 
152  #region Constructor
153 
154 
155 
156  public TableElement()
157  {
158  AssignedEffects = new AssignedEffectList();
159  ValueChanged += new EventHandler<TableElementValueChangedEventArgs>(TableElement_ValueChanged);
160  }
161 
162 
169  public TableElement(TableElementTypeEnum TableElementType, int Number, int Value)
170  : this()
171  {
172  this.TableElementType = TableElementType;
173  this.Number = Number;
174  this.Value = Value;
175 
176  }
177  #endregion
178 
179  }
180 }