コード例 #1
0
 private void OnCallbackVoid(CSN_VOID_METHOD method, IntPtr arg1, int arg2, uint arg3, float[] arg4)
 {
     switch (method)
     {
         case CSN_VOID_METHOD.ADD_ANIMATOR:
             AddAnimator((Animator)NativeElement.GetObject(arg1, typeof(Animator)));
             break;
         case CSN_VOID_METHOD.ADD_CHILD:
             AddChild((SceneNode)NativeElement.GetObject(arg1, typeof(SceneNode)));
             break;
         case CSN_VOID_METHOD.ON_ANIMATE:
             OnAnimate(arg3);
             break;
         case CSN_VOID_METHOD.ON_REGISTER_SCENE_NODE:
             OnRegisterSceneNode();
             break;
         case CSN_VOID_METHOD.REMOVE:
             Remove();
             break;
         case CSN_VOID_METHOD.REMOVE_ALL:
             RemoveAll();
             break;
         case CSN_VOID_METHOD.REMOVE_ANIMATOR:
             RemoveAnimator((Animator)NativeElement.GetObject(arg1, typeof(Animator)));
             break;
         case CSN_VOID_METHOD.REMOVE_ANIMATORS:
             RemoveAnimators();
             break;
         case CSN_VOID_METHOD.RENDER:
             Render();
             break;
         case CSN_VOID_METHOD.SET_ID:
             ID = arg2;
             break;
         case CSN_VOID_METHOD.SET_PARENT:
             Parent = (SceneNode)NativeElement.GetObject(arg1, typeof(SceneNode));
             break;
         case CSN_VOID_METHOD.SET_POSITION:
             Position = Vector3D.FromUnmanaged(arg4);
             break;
         case CSN_VOID_METHOD.SET_SCALE:
             Scale = Vector3D.FromUnmanaged(arg4);
             break;
         case CSN_VOID_METHOD.SET_ROTATION:
             Rotation = Vector3D.FromUnmanaged(arg4);
             break;
         case CSN_VOID_METHOD.SET_TRIANGLE_SELECTOR:
             TriangleSelector = (TriangleSelector)NativeElement.GetObject(arg1, typeof(TriangleSelector));
             break;
         case CSN_VOID_METHOD.SET_VISIBLE:
             Visible = arg2 == 0 ? false : true;
             break;
         case CSN_VOID_METHOD.UPDATE_ABSOLUTE_POSITION:
             UpdateAbsolutePosition();
             break;
     }
 }
コード例 #2
0
 static extern void CSN_PVOID_METHODS(IntPtr csn, CSN_VOID_METHOD method, IntPtr arg1, int arg2, uint arg3, float[] arg4);