Ejemplo n.º 1
0
 private void OnAction_callback(NodeActionEvent action, IntPtr native_context_ref, IntPtr native_trigger_ref, IntPtr native_traverser_ref, IntPtr userdata)
 {
     if (action != NodeActionEvent.REMOVE)
     {
         OnAction?.Invoke(this, action, CreateObject(native_context_ref) as Context, CreateObject(native_trigger_ref) as NodeActionProvider, CreateObject(native_traverser_ref) as TraverseAction, userdata);
     }
     else
     {
         OnAction?.Invoke(this, action, CreateObject(native_context_ref) as Context, null, CreateObject(native_traverser_ref) as TraverseAction, native_trigger_ref);
     }
 }
Ejemplo n.º 2
0
        private void ActionReceiver_OnAction(NodeAction sender, NodeActionEvent action, Context context, NodeActionProvider trigger, TraverseAction traverser, IntPtr userdata)
        {
            // Locked in edit or render (render) by caller

            if ((action == NodeActionEvent.IS_TRAVERSABLE) || (action == NodeActionEvent.IS_NOT_TRAVERSABLE))
            {
                pendingActivations.Add(new ActivationInfo(action, trigger as Node));
            }
            else
            {
                trigger?.ReleaseNoDelete();      // We are getting ref counts on objects in scene graph and these need to be released immediately
            }
            traverser?.ReleaseNoDelete();
            context?.ReleaseNoDelete();
        }
Ejemplo n.º 3
0
            static private void OnAction_callback(IntPtr instance, NodeActionEvent action, IntPtr native_context_ref, IntPtr native_trigger_ref, IntPtr native_traverser_ref, IntPtr userdata)
            {
                NodeAction na = ReferenceDictionary <NodeAction> .GetObject(instance);

                if (na != null)
                {
                    if (action != NodeActionEvent.REMOVE)
                    {
                        na.OnAction?.Invoke(na, action, CreateObject(native_context_ref) as Context, CreateObject(native_trigger_ref) as NodeActionProvider, CreateObject(native_traverser_ref) as TraverseAction, userdata);
                    }
                    else
                    {
                        na.OnAction?.Invoke(na, action, CreateObject(native_context_ref) as Context, null, CreateObject(native_traverser_ref) as TraverseAction, native_trigger_ref);
                    }
                }
            }
Ejemplo n.º 4
0
 public ActivationInfo(NodeActionEvent _state, Node _node)
 {
     state = _state;
     node  = _node;
 }
Ejemplo n.º 5
0
 public void AddActionInterface(NodeActionInterface receiver, NodeActionEvent action, IntPtr userdata = default(IntPtr))
 {
     NodeActionProvider_addActionInterface(GetNativeReference(), receiver.GetNativeReference(), action, userdata);
 }
Ejemplo n.º 6
0
 private static extern void NodeActionProvider_addActionInterface(IntPtr nodeact_reference, IntPtr recv_ref, NodeActionEvent action, IntPtr userdata);