Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
 void OnUpdateFromChildren(ViReceiveDataNode node, object oldValue)
 {
     _updateCallbackList.Invoke((UInt32)ViReceiveDataNodeEventID.UPDATE, node, oldValue);
     if (_parent != null)
     {
         _parent.OnUpdateFromChildren(node, oldValue);
     }
 }
Esempio n. 3
0
 public Index RegisterNode(ViReceiveDataNode node)
 {
     _updateSlots.Add(node);
     return((Index)(_updateSlots.Count - 1));
 }