public void OnUpdate(Index slot, UInt8 channel, ViIStream IS, ViEntity entity) { ViDebuger.AssertError(slot < _updateSlots.Count); ViReceiveDataNode data = _updateSlots[slot]; ViDebuger.AssertError(data); if (OnIndexPropertyUpdate != null) { Index idx = 0; if (_slotToIndex.TryGetValue(slot, out idx)) { ViReceiveDataInt32 dataInt32 = data as ViReceiveDataInt32; Int32 oldValue = dataInt32.Value; data.OnUpdate(channel, IS, entity); OnIndexPropertyUpdate(idx, dataInt32, oldValue); } else { data.OnUpdate(channel, IS, entity); } } else { data.OnUpdate(channel, IS, entity); } }
void OnUpdateFromChildren(ViReceiveDataNode node, object oldValue) { _updateCallbackList.Invoke((UInt32)ViReceiveDataNodeEventID.UPDATE, node, oldValue); if (_parent != null) { _parent.OnUpdateFromChildren(node, oldValue); } }
public Index RegisterNode(ViReceiveDataNode node) { _updateSlots.Add(node); return((Index)(_updateSlots.Count - 1)); }