DirectOutputR1
DirectOutput framework R1 for virtual pinball cabinets.
Go to:
Overview 
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
DigitalToy.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 DirectOutput.Cab.Out;
6 using System.Xml.Serialization;
7 using System.ComponentModel;
8 
9 namespace DirectOutput.Cab.Toys.Basic
10 {
18  {
19 
24  public override void Init(Cabinet Cabinet)
25  {
26  InitOutput(Cabinet);
27  }
28 
29  private void InitOutput(Cabinet Cabinet)
30  {
31  if (Cabinet.Outputs.Contains(OutputName))
32  {
33  _Output = Cabinet.Outputs[OutputName];
34  }
35  else
36  {
37  _Output = null;
38  }
39  }
40 
41  private IOutput _Output;
42 
46  public string OutputName { get; set; }
47 
48  private bool _State;
53  [XmlIgnoreAttribute]
54  public bool State
55  {
56  get { return _State; }
57  protected set
58  {
59  _State = value;
60  if (_Output != null)
61  {
62  _Output.Value = (State ? (byte)255 : (byte)0);
63  }
64  }
65  }
66 
71  public void SetState(bool State)
72  {
73  this.State = State;
74  }
75 
79  public override void Reset()
80  {
81  this.State = false;
82  }
83  }
84 }