Ejemplo n.º 1
0
 public static void connect(iUnity provided, iUnity required)
 {
     provided.outport           = required.outport;
     required.inport            = provided.inport;
     provided.dzn_meta.requires = required.dzn_meta.requires;
     required.dzn_meta.provides = provided.dzn_meta.provides;
 }
Ejemplo n.º 2
0
    public Controller(dzn.Locator locator, String name = "", dzn.Meta parent = null) : base(locator, name, parent)
    {
        this.dzn_runtime.infos[this].flushes = true;
        this.out_ia = null;
        this.ia     = new iCommand();
        this.ia.dzn_meta.provides.name      = "ia";
        this.ia.dzn_meta.provides.meta      = this.dzn_meta;
        this.ia.dzn_meta.provides.component = this;
        this.iu = new iUnity();
        this.iu.dzn_meta.requires.name      = "iu";
        this.iu.dzn_meta.requires.component = this;
        this.iu.dzn_meta.requires.meta      = this.dzn_meta;

        this.dzn_meta.requires = new List <dzn.port.Meta> {
            this.iu.dzn_meta,
        };
        this.dzn_meta.children        = new List <dzn.Meta> {
        };
        this.dzn_meta.ports_connected = new List <Action>
        {
            ia.check_bindings,
            iu.check_bindings,
        };

        this.ia.inport.start = () => { dzn.Runtime.callIn(this, () => { ia_start(); }, this.ia.dzn_meta, "start"); };

        this.iu.outport.wallHit = () => { dzn.Runtime.callOut(this, () => { iu_wallHit(); }, this.iu.dzn_meta, "wallHit"); };
    }