loupiottes/DMX-2.0/Conduite.cs

108 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Collections.ObjectModel;
namespace DMX2
{
public class Conduite : IComparer<Circuit>
{
public static Conduite Courante = new Conduite();
public Conduite()
{
}
List<Circuit> circuits = new List<Circuit>();
public ReadOnlyCollection<Circuit> Circuits {
get {
return circuits.AsReadOnly();
}
}
public Circuit NouveauCircuit ()
{
Circuit c = new Circuit();
circuits.Add (c);
return c;
}
public void SupprimeCircuit(Circuit c)
{
circuits.Remove(c);
}
int IComparer<Circuit>.Compare (Circuit x, Circuit y)
{
return Conduite.Courante.circuits.IndexOf(x) -
Conduite.Courante.circuits.IndexOf(y);
}
List<Sequenceur> sequenceurs= new List<Sequenceur>();
public List<Sequenceur> Sequenceurs {
get {
return sequenceurs;
}
}
List<UniversDMX> univers;
public List<UniversDMX> Patch {
get {
return univers;
}
}
}
public class Circuit
{
static int maxid=1;
string name;
public Circuit()
{
id=maxid++;
Name = "Circuit n°" + id.ToString();
}
public string Name {
get {
return name;
}
set {
name = value;
}
}
int id;
public int ID {
get {
return id;
}
}
int _curval;
public int ValeurCourante {
get {
return _curval;
}
set {
_curval = value;
}
}
}
}