using System; using System.Collections.Generic; using System.Diagnostics; using System.Xml; namespace DMX2 { public class UniversDMX { public static int maxid=1; public UniversDMX () { Nom = "Univers DMX n°" + maxid++.ToString (); for (int i = 0; i<_dimmers.Length; i++) { _dimmers[i].fonctionTransfert = FTransfer.lineaire; _dimmers[i].param1 = 100; } } Dimmer[] _dimmers = new Dimmer[512]; bool[] allumageForce = new bool[512]; public bool[] AllumageForce { get { return allumageForce; } } public string Nom; public enum FTransfer { lineaire, log, exp } public struct Dimmer { public Circuit circuitAssocié; public FTransfer fonctionTransfert; public float param1; // Paramètres pour fonction de transfert public float param2; } public Dimmer[] Dimmers { get { return _dimmers; } } public void CalculUnivers(byte[] valeurs, int offset, int count) { Dimmer g; Debug.Assert(valeurs.Length == _dimmers.Length); for(int i = 0 ; i attendu."); UniversDMX univ = new UniversDMX (); univ.Nom = el.GetAttribute("nom"); XmlElement xmlDim; Dimmer dim; foreach (var xd in el.GetElementsByTagName("Dimmer")) { xmlDim = xd as XmlElement; dim.circuitAssocié = c.GetCircuitByID(int.Parse(xmlDim.GetAttribute("circuit"))); FTransfer.TryParse(xmlDim.GetAttribute("ft"),out dim.fonctionTransfert); dim.param1 = float.Parse(xmlDim.GetAttribute("param1")); dim.param2 = float.Parse(xmlDim.GetAttribute("param2")); univ.Dimmers[int.Parse(xmlDim.GetAttribute("num"))] = dim; } return univ; } } }