public void mapDataStructureToAction(int index)
        {
            sliderValue   = slider[index].SLIDER_VALUE * sensitivity;
            actionVector3 = EasyWiFiUtilities.getControllerVector3(sliderValue, 0f, sliderEffect, EasyWiFiConstants.AXIS.None);

            switch (action)
            {
            case EasyWiFiConstants.ACTION_TYPE.Position:
                transform.position += actionVector3;
                break;

            case EasyWiFiConstants.ACTION_TYPE.Rotation:
                transform.Rotate(actionVector3, Space.World);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalPosition:
                transform.Translate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalRotation:
                transform.Rotate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalScale:
                transform.localScale += actionVector3;
                break;

            default:
                Debug.Log("Invalid Action");
                break;
            }
        }
示例#2
0
 void Start()
 {
     screenPixelsRect   = EasyWiFiUtilities.GetScreenRect(joystickImageBackground.rectTransform);
     defaultNubPosition = joystickImageForeground.transform.position;
     normalizeFactorX   = screenPixelsRect.width / 2;
     normalizeFactorY   = screenPixelsRect.height / 2;
 }
示例#3
0
        public void mapDataStructureToAction(int index)
        {
            horizontal    = joystick[index].JOYSTICK_HORIZONTAL * sensitivity;
            vertical      = joystick[index].JOYSTICK_VERTICAL * sensitivity;
            actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal, vertical, joystickHorizontal, joystickVertical);

            switch (action)
            {
            case EasyWiFiConstants.ACTION_TYPE.Position:
                transform.position += actionVector3;
                break;

            case EasyWiFiConstants.ACTION_TYPE.Rotation:
                transform.Rotate(actionVector3, Space.World);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalPosition:
                transform.Translate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalRotation:
                transform.Rotate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalScale:
                transform.localScale += actionVector3;
                break;

            default:
                Debug.Log("Invalid Action");
                break;
            }
        }
        public void mapDataStructureToAction(int index)
        {
            lastFrameNumTouches = numTouches;
            lastFrameZoomFactor = zoomFactor;
            lastFrameHorizontal = horizontal;
            lastFrameVertical   = vertical;

            numTouches = touchpad[index].TOUCH_COUNT;
            zoomFactor = touchpad[index].ZOOM_FACTOR * zoomSensitivity;
            horizontal = touchpad[index].TOUCH1_POSITION_HORIZONTAL;
            vertical   = touchpad[index].TOUCH1_POSITION_VERTICAL;

            //only if we were touching both last frame and this
            if (numTouches > 0 && lastFrameNumTouches > 0)
            {
                if (numTouches == 1)
                {
                    //panning
                    if (secondTouchType == EasyWiFiConstants.SECOND_TOUCH_TYPE.Tilt)
                    {
                        //panning in the camera context should be local position moves (x and y axis)
                        actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * panSensitivity, (vertical - lastFrameVertical) * panSensitivity, EasyWiFiConstants.AXIS.XAxis, EasyWiFiConstants.AXIS.YAxis);
                        transform.Translate(actionVector3);
                    }
                    //tilting
                    else
                    {
                        //tilting in the camera context should be local rotation moves (y and x axis)
                        actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * tiltSensitivity, (vertical - lastFrameVertical) * tiltSensitivity, EasyWiFiConstants.AXIS.YAxis, EasyWiFiConstants.AXIS.XAxis);
                        transform.Rotate(actionVector3);
                    }
                }
                else if (numTouches == 2)
                {
                    //zooming in the camera
                    actionVector3 = new Vector3(0f, 0f, zoomFactor - lastFrameZoomFactor);
                    transform.Translate(actionVector3);
                }
                else if (numTouches == 3)
                {
                    //panning
                    if (secondTouchType == EasyWiFiConstants.SECOND_TOUCH_TYPE.Pan)
                    {
                        //panning in the camera context should be local position moves (x and y axis)
                        actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * panSensitivity, (vertical - lastFrameVertical) * panSensitivity, EasyWiFiConstants.AXIS.XAxis, EasyWiFiConstants.AXIS.YAxis);
                        transform.Translate(actionVector3);
                    }
                    //tilting
                    else
                    {
                        //tilting in the camera context should be local rotation moves (y and x axis)
                        actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * tiltSensitivity, (vertical - lastFrameVertical) * tiltSensitivity, EasyWiFiConstants.AXIS.YAxis, EasyWiFiConstants.AXIS.XAxis);
                        transform.Rotate(actionVector3);
                    }
                }
            }
        }
        public void mapDataStructureToAction(int index)
        {
            //reset values
            horizontal = 0f;
            vertical   = 0f;

            //left/right
            if (dPad[index].DPAD_LEFT_PRESSED)
            {
                horizontal = -1f;
            }
            if (dPad[index].DPAD_RIGHT_PRESSED)
            {
                horizontal = 1f;
            }

            //up/down
            if (dPad[index].DPAD_DOWN_PRESSED)
            {
                vertical = -1f;
            }
            if (dPad[index].DPAD_UP_PRESSED)
            {
                vertical = 1f;
            }

            horizontal   *= sensitivity;
            vertical     *= sensitivity;
            actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal, vertical, dPadHorizontal, dPadVertical);

            switch (action)
            {
            case EasyWiFiConstants.ACTION_TYPE.Position:
                transform.position += actionVector3;
                break;

            case EasyWiFiConstants.ACTION_TYPE.Rotation:
                transform.Rotate(actionVector3, Space.World);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalPosition:
                transform.Translate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalRotation:
                transform.Rotate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalScale:
                transform.localScale += actionVector3;
                break;

            default:
                Debug.Log("Invalid Action");
                break;
            }
        }
 void checkForClientTimeout()
 {
     //check for any clients that may have timed out (if we just had a reconnection skip this time around
     if (!(EasyWiFiController.isConnect == true &&
           (DateTime.UtcNow - EasyWiFiController.lastCallbackTime).TotalSeconds < clientTimeout &&
           (DateTime.UtcNow - EasyWiFiController.lastCallbackTime).TotalSeconds > 0d))
     {
         EasyWiFiUtilities.checkForClientTimeout(clientTimeout);
     }
 }
示例#7
0
        void OnEnable()
        {
            EasyWiFiController.On_ConnectionsChanged += checkForNewConnections;

            //do one check at the beginning just in case we're being spawned after startup and after the callbacks
            //have already been called
            if (doubleController[0] == null && EasyWiFiController.lastConnectedPlayerNumber >= 0)
            {
                EasyWiFiUtilities.checkForClient(control, (int)player, ref doubleController, ref currentNumberControllers);
            }
        }
        void Start()
        {
            screenPixelsRect   = EasyWiFiUtilities.GetScreenRect(sliderImageBackground.rectTransform);
            defaultNubPosition = sliderImageForeground.transform.position;

            if (orientation == EasyWiFiConstants.SLIDER_TYPE.Horizonal)
            {
                normalizeFactor = screenPixelsRect.width / 2;
            }
            else
            {
                normalizeFactor = screenPixelsRect.height / 2;
            }
        }
        public void checkForNewConnections(bool isConnect, int playerNumber)
        {
            //check for client on all 3 UI navigation items
            EasyWiFiUtilities.checkForClient(submitControlName, (int)player, ref submitButton, ref submitCurrentNumberControllers);
            EasyWiFiUtilities.checkForClient(cancelControlName, (int)player, ref cancelButton, ref cancelCurrentNumberControllers);

            if (navigationControlType == EasyWiFiConstants.UNITY_UI_INPUT_TYPE.Dpad)
            {
                EasyWiFiUtilities.checkForClient(navigationControlName, (int)player, ref dpad, ref dpadCurrentNumberControllers);
            }
            else
            {
                EasyWiFiUtilities.checkForClient(navigationControlName, (int)player, ref joystick, ref joystickCurrentNumberControllers);
            }
        }
        public void mapDataStructureToAction(int index)
        {
            //data
            accel.x = accelerometer[index].ACCELERATION_X;
            accel.y = accelerometer[index].ACCELERATION_Y;
            accel.z = accelerometer[index].ACCELERATION_Z;

            //accelerometers due to gravity can really only sense 2 axis (can't filter out gravity)
            //here we convert those 2 axis into horizontal and vertical and normalize
            horizontal = EasyWiFiUtilities.relativeAngleInAxis(Vector3.up, -accel, Vector3.forward) / normalizeDegrees;
            vertical   = EasyWiFiUtilities.relativeAngleInAxis(Vector3.up, -accel, Vector3.right) / normalizeDegrees;

            horizontal *= -sensitivity;
            vertical   *= sensitivity;

            actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal, vertical, tiltHorizontal, tiltVertical);


            switch (action)
            {
            case EasyWiFiConstants.ACTION_TYPE.Position:
                transform.position += actionVector3;
                break;

            case EasyWiFiConstants.ACTION_TYPE.Rotation:
                transform.Rotate(actionVector3, Space.World);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalPosition:
                transform.Translate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalRotation:
                transform.Rotate(actionVector3);
                break;

            case EasyWiFiConstants.ACTION_TYPE.LocalScale:
                transform.localScale += actionVector3;
                break;

            default:
                Debug.Log("Invalid Action");
                break;
            }
        }
        public void mapDataStructureToAction(int index)
        {
            lastFrameHorizontal = horizontal;
            lastFrameVertical   = vertical;
            lastFrameIsTouching = isTouching;

            horizontal = touchpad[index].POSITION_HORIZONTAL * sensitivity;
            vertical   = touchpad[index].POSITION_VERTICAL * sensitivity;
            isTouching = touchpad[index].IS_TOUCHING;

            //only if we were touching both last frame and this
            if (isTouching && lastFrameIsTouching)
            {
                actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal - lastFrameHorizontal, vertical - lastFrameVertical, touchpadHorizontal, touchpadVertical);

                switch (action)
                {
                case EasyWiFiConstants.ACTION_TYPE.Position:
                    transform.position += actionVector3;
                    break;

                case EasyWiFiConstants.ACTION_TYPE.Rotation:
                    transform.Rotate(actionVector3, Space.World);
                    break;

                case EasyWiFiConstants.ACTION_TYPE.LocalPosition:
                    transform.Translate(actionVector3);
                    break;

                case EasyWiFiConstants.ACTION_TYPE.LocalRotation:
                    transform.Rotate(actionVector3);
                    break;

                case EasyWiFiConstants.ACTION_TYPE.LocalScale:
                    transform.localScale += actionVector3;
                    break;

                default:
                    Debug.Log("Invalid Action");
                    break;
                }
            }
        }
    public void steerBall(AccelerometerControllerType accelerometer)
    {
        //data
        accel.x = accelerometer.ACCELERATION_X;
        accel.y = accelerometer.ACCELERATION_Y;
        accel.z = accelerometer.ACCELERATION_Z;

        //accelerometers due to gravity can really only sense 2 axis (can't filter out gravity)
        //here we convert those 2 axis into horizontal and vertical and normalize
        horizontal = EasyWiFiUtilities.relativeAngleInAxis(Vector3.up, -accel, Vector3.forward) / normalizeDegrees;
        vertical   = EasyWiFiUtilities.relativeAngleInAxis(Vector3.up, -accel, Vector3.right) / normalizeDegrees;

        horizontal *= -sensitivity;
        vertical   *= -sensitivity;

        actionVectorPosition.x = horizontal;
        actionVectorPosition.y = 0f;
        actionVectorPosition.z = vertical;

        myRigidbody.AddForce(actionVectorPosition);
    }
        protected override void OnEnable()
        {
            base.OnEnable();
            EasyWiFiController.On_ConnectionsChanged += checkForNewConnections;

            //do one check at the beginning just in case we're being spawned after startup and after the callbacks
            //have already been called
            if (submitButton[0] == null && EasyWiFiController.lastConnectedPlayerNumber >= 0)
            {
                //check for client on all 3 UI navigation items
                EasyWiFiUtilities.checkForClient(submitControlName, (int)player, ref submitButton, ref submitCurrentNumberControllers);
                EasyWiFiUtilities.checkForClient(cancelControlName, (int)player, ref cancelButton, ref cancelCurrentNumberControllers);

                if (navigationControlType == EasyWiFiConstants.UNITY_UI_INPUT_TYPE.Dpad)
                {
                    EasyWiFiUtilities.checkForClient(navigationControlName, (int)player, ref dpad, ref dpadCurrentNumberControllers);
                }
                else
                {
                    EasyWiFiUtilities.checkForClient(navigationControlName, (int)player, ref joystick, ref joystickCurrentNumberControllers);
                }
            }
        }
示例#14
0
        void OnEnable()
        {
            vectref[0] = 0;
            vectref[1] = 0;
            vectref[2] = -1;

            vectrefup[0] = 0;
            vectrefup[1] = 1;
            vectrefup[2] = 0;

            vectrefcross = Vector3.Cross(vectref, vectrefup);

            angleref = 60;


            EasyWiFiController.On_ConnectionsChanged += checkForNewConnections;

            //do one check at the beginning just in case we're being spawned after startup and after the callbacks
            //have already been called
            if (gyro[0] == null && EasyWiFiController.lastConnectedPlayerNumber >= 0)
            {
                EasyWiFiUtilities.checkForClient(control, (int)player, ref gyro, ref currentNumberControllers);
            }
        }
示例#15
0
 public void checkForNewConnections(bool isConnect, int playerNumber)
 {
     EasyWiFiUtilities.checkForClient(control, (int)player, ref doubleController, ref currentNumberControllers);
 }
示例#16
0
 void Start()
 {
     screenPixelsRect = EasyWiFiUtilities.GetScreenRect(currentImage.rectTransform);
 }
 void Start()
 {
     screenPixelsRect = EasyWiFiUtilities.GetScreenRect(dPadImage.rectTransform);
     normalizeFactorX = screenPixelsRect.width / 2;
     normalizeFactorY = screenPixelsRect.height / 2;
 }
 void Start()
 {
     screenPixelsRect = EasyWiFiUtilities.GetScreenRect(pinchZoomImage.rectTransform);
     normalizeFactorX = screenPixelsRect.width;
     normalizeFactorY = screenPixelsRect.height;
 }
 void Start()
 {
     screenPixelsRect = EasyWiFiUtilities.GetScreenRect(backgroundImage.rectTransform);
 }