public void RegisterUpdateCallbacks (UpdateCallback[] callbacks) { MtaThread.Run (() => source.RegisterUpdateCallbacks (callbacks)); }
internal UpdateCallback GetUpdateCallback () { if (IsEvaluating) { if (updateCallback == null) updateCallback = new UpdateCallback (new UpdateCallbackProxy (this), path); return updateCallback; } else return null; }
void IObjectValueUpdater.RegisterUpdateCallbacks (UpdateCallback[] callbacks) { foreach (UpdateCallback c in callbacks) { lock (asyncCallbacks) { ObjectValue val; string id = c.Path[0]; if (asyncResults.TryGetValue (id, out val)) { c.UpdateValue (val); asyncResults.Remove (id); } else { asyncCallbacks [id] = c; } } } }