Пример #1
0
    private void Awake()
    {
        behaviour = new MBehaviour(executionPriority, executionOrder, enabled);

        //behaviour.OnAwake_MBehaviour(() =>
        //{
        //    Debug.Log("Awake:" + gameObject);
        //});

        //behaviour.OnEnable_MBehaviour(() =>
        //{
        //    Debug.Log("Enable   " + gameObject);
        //});

        //behaviour.OnDisable_MBehaviour(() =>
        //{
        //    Debug.Log("OnDisable    " + gameObject);
        //});

        //behaviour.OnUpdate_MBehaviour(() =>
        //{
        //    Debug.Log("OnUpdate " + gameObject);
        //});

        //behaviour.OnDestroy_MBehaviour(() =>
        //{
        //    Debug.Log("OnDestroy");
        //});

        //MBehaviourController.AddBehaviour(behaviour);
    }
Пример #2
0
        /// <summary>
        /// 开启主相机绕指定点旋转 注意:不要设置在有自转的Transform下
        /// </summary>
        /// <param name="cameraRotateCenter">相机对准物体</param>
        /// <param name="speed"></param>
        public void StartCameraRotateWithCenter(Transform cameraCenter, float duration = 0.5f)
        {
            StopCameraRotateWithCenter();

            if (mainCamera == null)
            {
                mainCamera = MUtility.MainCamera;
            }

            cameraLookToCenter = cameraCenter.gameObject;

            tween =

                //朝向开启再旋转
                mainCamera.transform.DOLookAt(cameraLookToCenter.transform.position, duration).OnComplete(() =>
            {
                dragMouseOrbit = new DragMouseOrbit(cameraCenter, mainCamera.transform);

                EventCameraRotate.AddListener(RotateCameraToCenter);

                mBehaviour = new MBehaviour(ExecutionPriority.High);

                mBehaviour.OnUpdate_MBehaviour(() =>
                {
                    RotateCameraToCenter(inputPointPos);
                });


                isRotateCameraWithCenter = true;

                isRotateCameraWithCenterInitialization = true;

                RotateAndZoomManager.IsDone_StartCameraAroundCenter_Initialization = true;
            });
        }
Пример #3
0
        private void Awake()
        {
            behaviour = new MBehaviour(ExecutionPriority.Highest, -900, enabled);

            behaviour.OnAwake(() =>
            {
                InputHands = new Dictionary <int, MInputHand>();

                //初始化手的种类
                var handUI    = MHandUIManager.CreateHandUI(transform, handSprite, handSize);
                var inputHand = new MInputHand(0, handUI, OperatePlatform.Mouse);

                InputHands.Add(0, inputHand);

                isPlaying = true;

                //注册操作者相关事件
                var operate = MOperateManager.AddOperateHand(inputHand);
                //注册方法
                operate.OnGrab    = OnGrabObject;
                operate.OnSetGrab = SetGrabObject;
                operate.OnEnable();
            });

            behaviour.OnUpdate(OnMouseUpdate);

            MBehaviourController.AddBehaviour(behaviour);
        }
Пример #4
0
        /// <summary>
        /// 计时器
        /// </summary>
        /// <param name="root">物体跟随计时旋转一圈</param>
        public MTimer(Transform root = default(Transform))
        {
            this.root = root;

            behaviour = new MBehaviour();
            behaviour.OnUpdate_MBehaviour(OnUpdate);
        }
Пример #5
0
        private void Awake()
        {
            behaviour = new MBehaviour(ExecutionPriority.High, -800);
            behaviour.OnAwake(() =>
            {
                canvas             = GetComponent <Canvas>();
                canvas.renderMode  = RenderMode.ScreenSpaceCamera;
                canvas.worldCamera = MUtility.UICamera;
            });

            MBehaviourController.AddBehaviour(behaviour);
        }
Пример #6
0
        private void Awake()
        {
            KinectInitialize();
            behaviour = new MBehaviour(ExecutionPriority.Highest, -900, enabled);

            KinectMInputInitialize(kinectHandStartStatus);
            //behaviour.OnAwake_MBehaviour(() =>
            //{
            //    KinectMInputInitialize(kinectHandStartStatus);
            //});

            behaviour.OnUpdate_MBehaviour(OnKinectUpdate);
        }
Пример #7
0
        /// <summary>
        /// 打开
        /// </summary>
        public virtual void OnOpen(int handIndex = 0)
        {
            this.handIndex = handIndex;
            Vector3 screenHand = MOperateManager.GetHandScreenPoint(handIndex);

            Vector3 screenPosition = MUtility.MainWorldToScreenPoint(GrabObject.transform.position);

            recordPos = MUtility.MainScreenToWorldPoint(new Vector3(screenHand.x, screenHand.y, screenPosition.z));//手的坐标

            recordEuler = space == Space.World ? GrabObject.transform.eulerAngles : GrabObject.transform.localEulerAngles;
            isActive    = true;
            behaviour   = new MBehaviour();
            behaviour.OnUpdate_MBehaviour(OnUpdate);
        }
Пример #8
0
 private void Awake()
 {
     if (onDown == null)
     {
         onDown = new UnityEvent();
     }
     if (onFreed == null)
     {
         onFreed = new UnityEvent();
     }
     if (onPress == null)
     {
         onPress = new UnityEvent();
     }
     behaviour = new MBehaviour();
     behaviour.OnUpdate_MBehaviour(OnUpdate);
 }
Пример #9
0
        protected virtual void Awake()
        {
            if (onClick == null)
            {
                onClick = new ButtonEvent();
            }

            if (onEnter == null)
            {
                onEnter = new ButtonEvent();
            }

            if (onExit == null)
            {
                onExit = new ButtonEvent();
            }

            if (onDown == null)
            {
                onDown = new ButtonEvent();
            }

            if (onUp == null)
            {
                onUp = new ButtonEvent();
            }

            if (onDownStay == null)
            {
                onDownStay = new ButtonEvent();
            }

            if (onUpRange == null)
            {
                onUpRange = new PanelEvent();
            }

            gameObject.tag = "button";

            behaviour = new MBehaviour(ExecutionPriority.High, -799, enabled);
            behaviour.OnStart(OnStart);

            MBehaviourController.AddBehaviour(behaviour);
        }
Пример #10
0
        public void StartCameraRotateWithCenter(Transform cameraCenter, Vector3 camerainitialpos, Quaternion camerainitialqua, float duration = 0.5f)
        {
            StopCameraRotateWithCenter();

            if (mainCamera == null)
            {
                mainCamera = MUtility.MainCamera;
            }

            cameraLookToCenter = cameraCenter.gameObject;

            //开启初始化相机位置和角度

            tween =

                mainCamera.transform.DOMove(camerainitialpos, duration / 3);

            mainCamera.transform.DORotate(camerainitialqua.eulerAngles, duration / 3).OnComplete(() =>
            {
                mainCamera.transform.DOLookAt(cameraCenter.transform.position, duration / 3).OnComplete(() =>
                {
                    dragMouseOrbit = new DragMouseOrbit(cameraCenter, mainCamera.transform);

                    EventCameraRotate.AddListener(RotateCameraToCenter);

                    mBehaviour = new MBehaviour(ExecutionPriority.High);

                    mBehaviour.OnUpdate_MBehaviour(() =>
                    {
                        RotateCameraToCenter(inputPointPos);
                    });

                    isRotateCameraWithCenter = true;

                    isRotateCameraWithCenterInitialization = true;

                    RotateAndZoomManager.IsDone_StartCameraAroundCenter_Initialization = true;
                });
            });
        }
Пример #11
0
        private void Awake()
        {
            behaviour = new MBehaviour(ExecutionPriority.Highest, -900, enabled);

            InputHands = new Dictionary <int, MInputHand>();

            //初始化手的种类
            var handUI    = MHandUIManager.CreateHandUI(transform, handSprite, handSize);
            var inputHand = new MInputHand(0, handUI, OperatePlatform.Mouse);

            handUI.name = "Mouse-Hand";

            InputHands.Add(0, inputHand);

            isPlaying = true;

            //注册操作者相关事件
            operate = MOperateManager.AddOperateHand(inputHand, this);
            //注册方法
            operate.OnGrab    = OnGrabObject;
            operate.OnSetGrab = SetGrabObject;

            IsEnable = true;
        }
Пример #12
0
 public Interface(MBehaviour ensure)
 {
     this.ensure = ensure;
 }
Пример #13
0
        private void Awake()
        {
            behaviour = new MBehaviour(ExecutionPriority.High, -100, enabled);

            normalCamera = new CameraProperty(MUtility.MainCamera);

            if (isSetCamera)
            {
                setCamera.SetCameraProperty(MUtility.MainCamera);
            }

            if (onAwakeEvent != null)
            {
                onAwakeEvent.Invoke();
            }
            IsExperimentHome = true;

            //behaviour.OnAwake_MBehaviour(() =>
            //{
            //    normalCamera = new CameraProperty(MUtility.MainCamera);

            //    if (isSetCamera)
            //    {
            //        setCamera.SetCameraProperty(MUtility.MainCamera);
            //    }

            //    if (onAwakeEvent != null)
            //        onAwakeEvent.Invoke();
            //    IsExperimentHome = true;
            //});

            //behaviour.OnEnable_MBehaviour(() =>
            //{
            //    if (onEnableEvent != null)
            //        onEnableEvent.Invoke();
            //});

            //behaviour.OnStart_MBehaviour(() =>
            //{
            //    if (IsSetLighting && lightingData != null)
            //        SystemParameters.SetLighting(lightingData);

            //    if (onStartEvent != null)
            //        onStartEvent.Invoke();
            //});

            //behaviour.OnDisable_MBehaviour(() =>
            //{
            //    if (onDisableEvent != null)
            //        onDisableEvent.Invoke();
            //});

            //behaviour.OnDestroy_MBehaviour(() =>
            //{
            //    if (onDestoryEvent != null)
            //        onDestoryEvent.Invoke();

            //    if (normalLighting != null)
            //    {
            //        SystemParameters.SetLighting(normalLighting);
            //    }
            //});
        }
Пример #14
0
 private void Awake()
 {
     behaviour = new MBehaviour();
     behaviour.OnUpdate_MBehaviour(OnUpdate);
 }