예제 #1
0
        private void Update()
        {
            if (!joystickState)
            {
                return;
            }
            //平台区分
            joystickNewPosition    = Vector3.zero;
            joystickCurrentPostion = Input.mousePosition;
            if (Application.isMobilePlatform)
            {
                joystickCurrentPostion = Input.touches[touchId].position;
            }
            //更新摇杆位置
            joystickCurrentPostion -= joystickStartPostion;
            joystickCurrentPostion  = Vector3.ClampMagnitude(joystickCurrentPostion, joystickRange);
            if (useAxisX)
            {
                joystickNewPosition.x = joystickCurrentPostion.x;
            }
            if (useAxisY)
            {
                joystickNewPosition.y = joystickCurrentPostion.y;
            }
            joystickController.position = joystickNewPosition + joystickStartPostion;

            var delta = joystickStartPostion - joystickController.position;

            delta /= joystickRange;
            //更新轴数据
            JoystickHandler?.Invoke(delta);
        }
예제 #2
0
    private void Awake()
    {
        var res = Settings.ResolutionToVector(Settings.resolutionCurrent);

        if (Settings.StringToScreenMode(Settings.screenmodeCurrent) != Screen.fullScreenMode)
        {
            Settings.SetResolution(res, Settings.StringToScreenMode(Settings.screenmodeCurrent));
        }
        var container = transform.Find("MainMenuContainer");
        var intro     = transform.Find("Intro");

        highScores    = container.Find("HighScores").gameObject;
        loading       = highScores.transform.Find("Loading").gameObject;
        content       = highScores.transform.Find("Table").Find("Content").gameObject;
        helpBarImages = container.Find("HelpBar").GetComponentsInChildren <Image>();
        helpBarTexts  = container.Find("HelpBar").GetComponentsInChildren <TextMeshProUGUI>();
        pointers      = container.Find("Pointers");
        highScores.SetActive(false);
        JoystickHandler.DetectControllerType();
        GetHelpBarButtonImages();
        leftRightMenu = Instantiate(leftRight);
        leftRightMenu.transform.SetParent(transform);
        leftRightMenu.SetActive(false);
        sliderMenu = Instantiate(slider);
        sliderMenu.transform.SetParent(transform);
        sliderMenu.SetActive(false);
        leftRightText = leftRightMenu.GetComponentInChildren <TextMeshProUGUI>();
        intro.gameObject.SetActive(true);
    }
예제 #3
0
 private void Start()
 {
     Health     = maxHealth / 2;
     info       = animator.GetCurrentAnimatorClipInfo(1);
     cam        = Camera.main;
     controller = JoystickHandler.DetectControllerType();
     InputSystem.onDeviceChange += (a, b) => controller = JoystickHandler.DetectControllerType();
 }
예제 #4
0
    public void OnJoystickMove(int joystick, Vector2 vals)
    {
        JoystickHandler handler = JoystickMove;

        if (handler != null)
        {
            handler.Invoke(joystick, vals);
        }
    }
예제 #5
0
    private void Start()
    {
        if (roleChoosingUiController == null)
        {
            roleChoosingUiController = FindObjectOfType <RoleChoosingUIController>();
        }
        if (gamePanelUIController == null)
        {
            gamePanelUIController = FindObjectOfType <GamePanelUIController>();
        }
        if (joystickHandler == null)
        {
            joystickHandler = FindObjectOfType <JoystickHandler>();
        }

        Debug.Assert(roleChoosingUiController != null);
        InitAllButtons();
    }
예제 #6
0
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        Console.WriteLine(Application.StartupPath);

        //Program handlers and classes
        errors = new ErrorManager();
        JoystickHandler.Init();
        ST_Register.Init();
        ProgramSaverLoader.Init();
        //Database.Init();

        // TEST FUNCTION, only when here, normally ran from loading settings
        //Database.Connect();

        // Will run when loading settings, or never if the settings load fails
        //CommHandler.InitDllImport();



        //Sandbox
        //#############################################################################
        Avionics.HeadingIndicatorInstrumentControl h = new Avionics.HeadingIndicatorInstrumentControl();


        //KeyValuePair<int, int>[] kvp = new KeyValuePair<int, int>[2] { new KeyValuePair<int, int>(400, 0x0001), new KeyValuePair<int, int>(401, 32767) };
        //CommHandler.Send(kvp);
        //#############################################################################



        new WindowCamera().Show();
        windowStatus              = new WindowStatus();
        windowStatus.FormClosing += ProgramSaverLoader.Save;
        Application.Run(windowStatus);
    }
예제 #7
0
 private void Start()
 {
     joystickHandler          = FindObjectOfType <JoystickHandler>();
     roleChoosingUIController = FindObjectOfType <RoleChoosingUIController>();
     reConnectHandler         = FindObjectOfType <ReConnectHandler>();
     Debug.Assert(joystickHandler != null);
     // SwitchToStage(Stage.StartStage);
     // 修改为按键按下后切换到游戏StartStage
     StartPanelButton.gameObject.SetActive(true);
     StartPanelButton.onClick.AddListener(delegate
     {
         Debug.Log("进入游戏准备界面按键按下");
         ButtonOnChickAudioPlay();
         Sequence seq = DOTween.Sequence();
         seq.Append(blackImage.DOFade(0.8f, 1f));
         StartPanelButton.gameObject.SetActive(false);
         SwitchToStageUI(Stage.StartStage);
     });
     ToPosterButton.onClick.AddListener(delegate
     {
         SwitchToStageUI(Stage.PosterStage);
     });
 }
예제 #8
0
        internal override void UpdateInput()
        {
            if (!IsInitialized || Player.Paused)
            {
                return;
            }

            int frameCheck = 0;

            if (!InputManager.ReplayMode)
            {
                InputManager.leftButton1  |= KeyboardHandler.IsKeyDown(BindingManager.For(Bindings.FruitsDash));
                InputManager.leftButton1  |= JoystickHandler.IsKeyDown(BindingManager.For(Bindings.FruitsDash));
                InputManager.leftButton1i |= InputManager.leftButton1;
                if (InputManager.leftButton1i)
                {
                    InputManager.leftButton = ButtonState.Pressed;
                }
            }

            Dashing = InputManager.leftButton == ButtonState.Pressed;

            if (Dashing)
            {
                frameCheck += 4;
            }

            float currentMovementSpeed = baseMovementSpeed * specialMovementModifier;

            if (!Dashing)
            {
                currentMovementSpeed /= 2;
            }

            if (InputManager.ReplayMode || Player.Relaxing)
            {
                float newPos = InputManager.ReplayGamefieldCursor.X;

                if (InputManager.NewReplayFrame)
                {
                    LeftPressed  = catcher1.Position.X > newPos;
                    RightPressed = catcher1.Position.X < newPos;
                }

                if (catcher1.Position.X != newPos)
                {
#if DEBUG
                    if (!ModManager.CheckActive(Mods.Autoplay) && (Math.Abs(catcher1.Position.X - newPos) > currentMovementSpeed * GameBase.SIXTY_FRAME_TIME))
                    {
                        NotificationManager.ShowMessageMassive("Impossible movement (" + Math.Abs(catcher1.Position.X - newPos) + " vs " + (currentMovementSpeed * GameBase.SIXTY_FRAME_TIME) + ")", 1000);
                    }
#endif

                    catcher1.FlipHorizontal = catcher1.Position.X > newPos;

                    catcher1.Position.X = newPos;
                }
            }
            else
            {
                if (GameBase.ElapsedMilliseconds > 33)
                {
                    return;
                }

                if (Math.Abs(catcher1.Position.X - checkPosition) > 0.01f)
                {
                    catcher1.Position.X = checkPosition;
                    CurrentScore.InvalidateSubmission();
                }


                if ((RightPressed = KeyboardHandler.IsKeyDown(BindingManager.For(Bindings.FruitsRight)) || JoystickHandler.IsKeyDown(BindingManager.For(Bindings.FruitsRight))))
                {
                    frameCheck             += 1;
                    catcher1.Position.X     = (float)(catcher1.Position.X + currentMovementSpeed * GameBase.ElapsedMilliseconds);
                    catcher1.FlipHorizontal = false;
                }

                if ((LeftPressed = KeyboardHandler.IsKeyDown(BindingManager.For(Bindings.FruitsLeft)) || JoystickHandler.IsKeyDown(BindingManager.For(Bindings.FruitsLeft))))
                {
                    frameCheck             += 2;
                    catcher1.Position.X     = (float)(catcher1.Position.X - currentMovementSpeed * GameBase.ElapsedMilliseconds);
                    catcher1.FlipHorizontal = true;
                }
            }

            checkSpecialWaitingState();

            importantFrame      = frameCheck != importantFrameCheck;
            importantFrameCheck = frameCheck;

            catcher1.Position.X = OsuMathHelper.Clamp(catcher1.Position.X, 0, 512);
            checkPosition       = catcher1.Position.X;
        }
예제 #9
0
 /// <summary>
 /// Update the select joystick combobox control
 /// </summary>
 public void LoadConnectedJoysticks()
 {
     JoystickHandler.Init();
     c_joystick.Items.Clear();
     c_joystick.Items.AddRange(JoystickHandler.GetSticks());
 }
예제 #10
0
 public JoystickSettings(JoystickHandler joystickHandler)
 {
     this.joystickHandler = joystickHandler;
 }
예제 #11
0
 private void GetHelpBarButtonImages()
 {
     helpBarImages[0].sprite = JoystickHandler.ButtonSprite("dpad");
     helpBarImages[1].sprite = JoystickHandler.ButtonSprite("buttonSouth");
     helpBarImages[2].sprite = JoystickHandler.ButtonSprite("buttonEast");
 }
예제 #12
0
    private void tim_10ms_update_Tick(object sender, EventArgs e)
    {
        //update values from joystick
        JoystickHandler.Update();

        //Update Joystick Status fields
        joystickSettings.Update();
        indexStats.UpdateAllValues();

        // Update graphics tab
        graphicsCreator.UpdateValues();

        //update hartbeat
        heartBeat = (int)st.status[0];
        if (heartBeat != heartBeat_prev)
        {
            pulse                 = true;
            heartBeat_ms          = heartBeatTimer.ElapsedMilliseconds;
            lbl_heartBeat_ms.Text = heartBeat_ms + "ms";
            heartBeatTimer.Reset();
        }
        heartBeat_prev = heartBeat;

        if (pulse)
        {
            pbr_heartBeat.Value = 100;
        }
        else
        {
            pbr_heartBeat.Value = 0;
        }



        #region navigation window updates

        double pitch = Convert.ToDouble(ST_Register.status[(int)nud_navigation_attitude_pitchindex.Value]);
        double roll  = Convert.ToDouble(ST_Register.status[(int)nud_navigation_attitude_rollindex.Value]);

        if (pitch == null)
        {
            pitch = 0;
        }
        if (roll == null)
        {
            roll = 0;
        }

        aii_navigation_attitude_instrument.SetAttitudeIndicatorParameters(pitch / (float)nud_navigation_attitude_pitchdiv.Value, roll / (float)nud_navigation_attitude_pitchdiv.Value);



        int height = Convert.ToInt32(ST_Register.status[(int)nud_navigation_height_index.Value]);

        if (height == null)
        {
            height = 0;
        }

        ali_navigation_height_instrument.SetAlimeterParameters(height);



        int depth = Convert.ToInt32(ST_Register.status[(int)nud_navigation_depth_index.Value]);

        if (depth == null)
        {
            depth = 0;
        }

        ali_navigation_depth_instrument.SetAlimeterParameters(depth);



        int heading = Convert.ToInt32(ST_Register.status[(int)nud_navigation_heading_index.Value]);

        if (heading == null)
        {
            heading = 0;
        }

        hdi_navigation_heading_instrument.SetHeadingIndicatorParameters(heading / 10);

        #endregion
    }
예제 #13
0
 // Use this for initialization
 void Start()
 {
     joystick = GameObject.Find("Canvas/Joystick").GetComponent <JoystickHandler> ();
 }