コード例 #1
0
 public override void resetProperty()
 {
     base.resetProperty();
     // 重置所有成员变量
     mObjectID            = -1;
     mPhysicsAcceleration = Vector3.zero;
     mLastPhysicsSpeed    = Vector3.zero;
     mPhysicsSpeed        = Vector3.zero;
     mLastPhysicsPosition = Vector3.zero;
     mCurFramePosition    = Vector3.zero;
     mLastPosition        = Vector3.zero;
     mMouseDownPosition   = Vector3.zero;
     mLastSpeed           = Vector3.zero;
     mMoveSpeed           = Vector3.zero;
     mObject           = null;
     mTransform        = null;
     mAudioSource      = null;
     mOnMouseEnter     = null;
     mOnMouseLeave     = null;
     mOnMouseDown      = null;
     mOnMouseUp        = null;
     mOnMouseMove      = null;
     mClickCallback    = null;
     mHoverCallback    = null;
     mPressCallback    = null;
     mMovedDuringFrame = false;
     mHasLastPosition  = false;
     mDestroyObject    = true;
     mDestroied        = false;
     mMouseHovered     = false;
     mHandleInput      = true;
     mPassRay          = false;
 }
コード例 #2
0
 public void registeBoxCollider(txUIObject obj, ObjectClickCallback clickCallback, ObjectHoverCallback hoverCallback, ObjectPressCallback pressCallback)
 {
     mGlobalTouchSystem.registeBoxCollider(obj, clickCallback, pressCallback, hoverCallback);
     obj.setPassRay(false);
 }
コード例 #3
0
 public void registeCollider(myUIObject obj, ObjectClickCallback clickCallback, ObjectHoverCallback hoverCallback, ObjectPressCallback pressCallback)
 {
     setObjectCallback(obj, clickCallback, hoverCallback, pressCallback);
     mGlobalTouchSystem.registeCollider(obj);
     obj.setPassRay(false);
     obj.setEnable(true);
 }
コード例 #4
0
 // 用于接收GlobalTouchSystem处理的输入事件
 public void registeCollider(myUIObject obj, ObjectClickCallback clickCallback, ObjectHoverCallback hoverCallback, ObjectPressCallback pressCallback, bool passRay)
 {
     setObjectCallback(obj, clickCallback, hoverCallback, pressCallback);
     mGlobalTouchSystem.registeCollider(obj);
     obj.setPassRay(passRay);
     // 由碰撞体的窗口都需要启用更新,以便可以保证窗口大小与碰撞体大小一致
     obj.setEnable(true);
 }
コード例 #5
0
 public void setObjectCallback(myUIObject obj, ObjectClickCallback clickCallback, ObjectHoverCallback hoverCallback, ObjectPressCallback pressCallback)
 {
     obj.setClickCallback(clickCallback);
     obj.setPressCallback(pressCallback);
     obj.setHoverCallback(hoverCallback);
 }
コード例 #6
0
 // 注册碰撞器,只有注册了的碰撞器才会进行检测
 public void registeBoxCollider(IMouseEventCollect button,
                                ObjectClickCallback clickCallback = null,
                                ObjectPressCallback pressCallback = null,
                                ObjectHoverCallback hoverCallback = null,
                                GameCamera camera = null)
 {
     if (!mUseGlobalTouch)
     {
         logError("Not Active Global Touch!");
         return;
     }
     if (button.getCollider() == null)
     {
         logError("window must has collider that can registeBoxCollider! " + button.getName());
         return;
     }
     button.setClickCallback(clickCallback);
     button.setPressCallback(pressCallback);
     button.setHoverCallback(hoverCallback);
     if (!mAllButtonSet.Contains(button))
     {
         if (button is txUIObject)
         {
             // 寻找窗口对应的摄像机
             if (WidgetUtility.isNGUI((button as txUIObject).getObject()))
             {
                 ++mNGUICount;
                 if (camera == null)
                 {
                     camera = mCameraManager.getUICamera(true);
                 }
             }
             else
             {
                 ++mUGUICount;
                 if (camera == null)
                 {
                     camera = mCameraManager.getUICamera(false);
                 }
             }
             if (camera == null)
             {
                 logError("can not find ui camera for raycast!");
             }
             // 将窗口加入到鼠标射线检测列表中
             UIDepth            depth        = button.getUIDepth();
             MouseCastWindowSet mouseCastSet = null;
             foreach (var item in mMouseCastWindowList)
             {
                 if (item.mCamera == camera)
                 {
                     mouseCastSet = item;
                     break;
                 }
             }
             if (mouseCastSet == null)
             {
                 mouseCastSet = new MouseCastWindowSet(camera);
                 mMouseCastWindowList.Add(mouseCastSet);
             }
             mouseCastSet.addWindow(depth, button);
             mButtonDepthList.Add(button, depth);
         }
         else if (button is MovableObject)
         {
             MouseCastObjectSet mouseCastSet = null;
             foreach (var item in mMouseCastObjectList)
             {
                 if (item.mCamera == camera)
                 {
                     mouseCastSet = item;
                     break;
                 }
             }
             if (mouseCastSet == null)
             {
                 mouseCastSet = new MouseCastObjectSet(camera);
                 mMouseCastObjectList.Add(mouseCastSet);
             }
             mouseCastSet.addObject(button);
             mMovableObjectList.Add(button);
         }
         mAllButtonList.Add(button);
         mAllButtonSet.Add(button);
     }
 }
コード例 #7
0
 public override void setPressCallback(ObjectPressCallback callback)
 {
     base.setPressCallback(callback);
 }
コード例 #8
0
 public virtual void setPressCallback(ObjectPressCallback callback)
 {
     mPressCallback = callback;
 }