Пример #1
0
            public ButtonEvent(uint status, byte trigger_value, byte[] stick, ThreeGlassesInterfaces.LeftOrRight LR)
            {
                KeyStatus   = status;
                LeftOrRight = LR;

                MenuButton      = (status & ButtonMask.MenuButton) == ButtonMask.MenuButton;
                BButton         = (status & ButtonMask.BButton) == ButtonMask.BButton;
                LeftHandle      = (status & ButtonMask.LeftHandle) == ButtonMask.LeftHandle;
                RightHandle     = (status & ButtonMask.RightHandle) == ButtonMask.RightHandle;
                Trigger         = (status & ButtonMask.Trigger) == ButtonMask.Trigger;
                TriggerPressEnd = (status & ButtonMask.TriggerPressEnd) == ButtonMask.TriggerPressEnd;

                StickXValue = 0.5f;
                StickYValue = 0.5f;

                if (LR == ThreeGlassesInterfaces.LeftOrRight.Left)
                {
                    RefreshOnEvents(L_OLD_KEY_STATUS);
                    L_OLD_KEY_STATUS = status;
                }
                else
                {
                    RefreshOnEvents(R_OLD_KEY_STATUS);
                    R_OLD_KEY_STATUS = status;
                }

                TriggerValue = trigger_value / (float)TriggerConst.MAX_VALUE;

                StickXValue = ThreeGlassesUtils.Lerp(0, 1.0f, stick[0] / (float)TriggerConst.MAX_VALUE);
                StickYValue = ThreeGlassesUtils.Lerp(0, 1.0f, stick[1] / (float)TriggerConst.MAX_VALUE);

                TriggerRawValue = trigger_value;
                StickXRawValue  = stick[0];
                StickYRawValue  = stick[1];
            }
Пример #2
0
 void BindWand(GameObject obj, ThreeGlassesInterfaces.LeftOrRight LR)
 {
     if (obj != null)
     {
         var wand = obj.AddComponent <ThreeGlassesWand>();
         wand.LeftOrRight = LR;
     }
 }
        static void GetWandPosAndRotd(ref ThreeGlassesInterfaces.LeftOrRight lr, ref System.Action <Quaternion, Vector3> callback)
        {
            ThreeGlassesInterfaces.GetWandPosAndRot(lr, ref _wand_position, ref _wand_quaternion, out _wand_button_event);

            if (callback != null)
            {
                callback(_wand_quaternion, _wand_position);
            }
            if (WandButtonEvent != null)
            {
                WandButtonEvent(_wand_button_event);
            }
        }
Пример #4
0
 void Awake()
 {
     _leftOrRight = LeftOrRight;
 }