public Dictionary<string, SimulationObjectProxy> GetObjectProxies() { Dictionary<string, SimulationObjectProxy> proxies = new Dictionary<string, SimulationObjectProxy>(); string key = null; SimulationObjectProxy obProx = null; DataValueProxy dvProx = null; lock (blackboard.blackboardLock) { foreach (BBObjectInfo ob in blackboard.objects.Values) { obProx = new SimulationObjectProxy(ob.simObject.objectType); foreach (string attname in ob.simObject.attributes.Keys) { //key = ob.simObject.objectType + "." + attname; key = String.Format("{0}.{1}", ob.simObject.objectType, attname); if (blackboard.subscriptions[id].ContainsKey(key)) { dvProx = new DataValueProxy(ref blackboard, ob.id, attname, blackboard.subscriptions[id][key].publish); obProx[attname] = dvProx; } } if (obProx.Count() > 0) { proxies[ob.id] = obProx; } } } return proxies; }
public SimulationObjectProxy GetObjectProxy(string objectID) { SimulationObjectProxy proxy = null; string key = null; DataValueProxy dvProx = null; lock (blackboard.blackboardLock) { BBObjectInfo ob = blackboard.objects[objectID]; proxy = new SimulationObjectProxy(ob.simObject.objectType); foreach (string attname in ob.simObject.attributes.Keys) { //key = ob.simObject.objectType + "." + attname; key = String.Format("{0}.{1}", ob.simObject.objectType, attname); if (blackboard.subscriptions[id].ContainsKey(key)) { dvProx = new DataValueProxy(ref blackboard, ob.id, attname, blackboard.subscriptions[id][key].publish); proxy[attname] = dvProx; } } if (proxy.Count() == 0) { proxy = null; } } return proxy; }