Exemple #1
0
 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"));
 }
Exemple #2
0
        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;
        }
Exemple #3
0
        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"));
        }