public PeerVM(Peer pin, PPTrackVM tin) { p = pin; t = tin; Effector = cleanName(pin.InputEffector.ToString()); Target = cleanName(pin.Target.ToString()); Relations = new List<string>(); foreach (Relation r in pin.Relations) { Relations.Add(cleanName(r.ToString())); } if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("PeerVM")); }
public Peer newPeer(IMachine m) { // make a straight relation Relations.StraightRelation sr = new MT_Peer_Pressure.Relations.StraightRelation(); // make the relations list List<Relation> lr = new List<Relation>(); lr.Add(sr); // make null effector and target Effectors.NullEffector ne = new MT_Peer_Pressure.Effectors.NullEffector(); Targets.NullTarget nt = new MT_Peer_Pressure.Targets.NullTarget(); // make the peer Peer p = new Peer(m, ne, lr, nt); // add peer Peers.Add(p); // if we are getting a request from self if (m == host.Machine) { // add track PPTrackVM t = new PPTrackVM(); t.peerIndex = Peers.Count(); tracks.Add(t); } return p; }
void peerAdded(object sender, Peer peer, PPTrackVM track, EventArgs e) { PeerVM pvm = new PeerVM(peer, track); if (pvm == null) { throw new Exception("bad pvm"); } GUIPeers.Add(pvm); if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("GUIPeers")); }