コード例 #1
0
        public Handler CreateAndAttachHandlers()
        {
            var headHandler = new HeadHandler();
            var optionsHandler = new OptionsHandler();
            var fileHandler = new StaticFileHandler();
            var controllerHandler = new ControllerHandler();

            headHandler.SetSuccessor(optionsHandler);
            optionsHandler.SetSuccessor(fileHandler);
            fileHandler.SetSuccessor(controllerHandler);

            return headHandler;
        }
コード例 #2
0
        public ShellViewModel(IEventAggregator iEventAggregator)
        {
            this.iEventAggregator = iEventAggregator;

            InitializeEventMaps();

            shellActionToken = this.iEventAggregator.GetEvent<PubSubEvent<ViewEventArgs>>().Subscribe(
                (viewEventArgs) =>
                {
                    EventHandler(viewEventArgs);
                }
            );

            buttonDialogToken = this.iEventAggregator.GetEvent<PubSubEvent<ButtonDialogEventArgs>>().Subscribe(
                (viewEventArgs) =>
                {
                    ButtonDialogHandler(viewEventArgs);
                }
            );

            filterToken = this.iEventAggregator.GetEvent<PubSubEvent<ItemListFilterEventArgs>>().Subscribe(
                (viewEventArgs) =>
                {
                    FilterHandler(viewEventArgs);
                }
            );

            stateToken = this.iEventAggregator.GetEvent<PubSubEvent<StateEventArgs>>().Subscribe(
                (stateEventArgs) =>
                {
                    controllerHandler.SetState(stateEventArgs.state, stateEventArgs.isOn);
                }
            );

            input = new XboxControllerInputProvider(Event.EventInstance.EventAggregator);

            gamepadThread = new Thread(new ThreadStart(input.PollGamepad));
            gamepadThread.Start();

            controllerHandler = new ControllerHandler(Event.EventInstance.EventAggregator);
        }
コード例 #3
0
 void OnDestroy()
 {
     ControllerHandler.RemoveTracker(this);
 }
コード例 #4
0
 void Awake()
 {
     ControllerHandler.AddTracker(this);
 }
コード例 #5
0
        public static void FunctionKeys()
        {
            if (KeyBoardHandler.KeyPressed(Core.KeyBindings.ScreenShot) && Core.CurrentScreen.CanTakeScreenshot)
            {
                CaptureScreen();
            }

            if (KeyBoardHandler.KeyPressed(Core.KeyBindings.FullScreen) && Core.CurrentScreen.CanGoFullscreen)
            {
                ToggleFullScreen();
            }

            if (KeyBoardHandler.KeyPressed(Core.KeyBindings.DebugControl))
            {
                Core.GameOptions.ShowDebug = !Core.GameOptions.ShowDebug;
                Options.SaveOptions(Core.GameOptions);
            }
            if (KeyBoardHandler.KeyPressed(Core.KeyBindings.GUIControl))
            {
                Core.GameOptions.ShowGUI = !Core.GameOptions.ShowGUI;
                Options.SaveOptions(Core.GameOptions);
            }
            if (KeyBoardHandler.KeyPressed(Core.KeyBindings.MuteMusic) && Core.CurrentScreen.CanMuteMusic)
            {
                Core.GameOptions.Muted = !Core.GameOptions.Muted;
                MusicManager.Mute(Core.GameOptions.Muted);
                SoundEffectManager.Mute(Core.GameOptions.Muted);
                Options.SaveOptions(Core.GameOptions);
                Core.CurrentScreen.ToggledMute();
            }

            if (KeyBoardHandler.KeyPressed(Core.KeyBindings.LightKey))
            {
                Core.GameOptions.LightingEnabled = !Core.GameOptions.LightingEnabled;
            }

            if (KeyBoardHandler.KeyDown(Core.KeyBindings.DebugControl))
            {
                if (KeyBoardHandler.KeyPressed(Keys.F))
                {
                    TextureManager.TextureList.Clear();
                }

                if (KeyBoardHandler.KeyPressed(Keys.S))
                {
                    Core.SetWindowSize(new Vector2(1200, 680));
                }

                if (KeyBoardHandler.KeyPressed(Keys.L))
                {
                    Logger.DisplayLog = !Logger.DisplayLog;
                }
            }
            if (ControllerHandler.ButtonPressed(Buttons.Back, true))
            {
                Core.GameOptions.GamePadEnabled = !Core.GameOptions.GamePadEnabled;
                Core.GameMessage.ShowMessage(Core.GameOptions.GamePadEnabled ? "Enabled XBOX 360 GamePad support." : "Disabled XBOX 360 GamePad support.", 12, FontManager.MainFont, Color.White);
                Options.SaveOptions(Core.GameOptions);
            }

            if (KeyBoardHandler.KeyPressed(Keys.B) && KeyBoardHandler.KeyDown(Core.KeyBindings.DebugControl))
            {
                Core.GameOptions.DrawViewBox = !Core.GameOptions.DrawViewBox;
            }
        }
コード例 #6
0
        private void OnLevelWasLoaded(int level)
        {
            if (SceneManager.GetActiveScene() == SceneManager.GetSceneByBuildIndex(0))
            {
                Destroy(this.gameObject);
            }

            if (SceneManager.GetActiveScene() == SceneManager.GetSceneByBuildIndex(2))
            {
                inGameScene = true;
                ControllerHandler controllerHandler = GameObject.FindObjectOfType <ControllerHandler>();
                controllerHandler.ControllersToAssign = (int)numPlayerOption;
                Debug.Log("Number of Controllers To Begin Assigning: " + controllerHandler.ControllersToAssign);

                switch (numPlayerOption)
                {
                case NumPlayerOption.players1:
                    controllerHandler.vehicle2.gameObject.SetActive(false);
                    controllerHandler.vehicle3.gameObject.SetActive(false);
                    controllerHandler.vehicle4.gameObject.SetActive(false);

                    controllerHandler.HUDPlayer2.gameObject.SetActive(false);
                    controllerHandler.HUDPlayer3.gameObject.SetActive(false);
                    controllerHandler.HUDPlayer4.gameObject.SetActive(false);

                    //FullScreen
                    controllerHandler.vehicle1.vehicle_camera_transform.GetComponent <Camera>().rect   = new Rect(0, 0, 1, 1);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().anchorMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().anchorMax = new Vector2(1, 1);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().offsetMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().offsetMax = new Vector2(0, 0);
                    break;

                case NumPlayerOption.players2:
                    controllerHandler.vehicle3.gameObject.SetActive(false);
                    controllerHandler.vehicle4.gameObject.SetActive(false);

                    controllerHandler.HUDPlayer3.gameObject.SetActive(false);
                    controllerHandler.HUDPlayer4.gameObject.SetActive(false);

                    //Top
                    controllerHandler.vehicle1.vehicle_camera_transform.GetComponent <Camera>().rect = new Rect(0, 0.5f, 1, 0.5f);

                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().anchorMin = new Vector2(0, 0.5f);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().anchorMax = new Vector2(1, 1);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().offsetMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().offsetMax = new Vector2(0, 0);

                    //Bottom
                    controllerHandler.vehicle2.vehicle_camera_transform.GetComponent <Camera>().rect = new Rect(0, 0f, 1, 0.5f);

                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().anchorMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().anchorMax = new Vector2(1, 0.5f);
                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().offsetMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().offsetMax = new Vector2(0, 0);

                    break;

                case NumPlayerOption.players3:
                    controllerHandler.vehicle4.gameObject.SetActive(false);

                    controllerHandler.HUDPlayer4.gameObject.SetActive(false);

                    //Top
                    controllerHandler.vehicle1.vehicle_camera_transform.GetComponent <Camera>().rect   = new Rect(0, 0.5f, 1, 0.5f);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().anchorMin = new Vector2(0, 0.5f);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().anchorMax = new Vector2(1, 1);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().offsetMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer1.ViewPortRect.GetComponent <RectTransform>().offsetMax = new Vector2(0, 0);

                    //Bottom Left
                    controllerHandler.vehicle2.vehicle_camera_transform.GetComponent <Camera>().rect   = new Rect(0, 0f, 0.5f, 0.5f);
                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().anchorMin = new Vector2(0, 0f);
                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().anchorMax = new Vector2(0.5f, 0.5f);
                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().offsetMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer2.ViewPortRect.GetComponent <RectTransform>().offsetMax = new Vector2(0, 0);

                    //Bottom Right
                    controllerHandler.vehicle3.vehicle_camera_transform.GetComponent <Camera>().rect   = new Rect(0.5f, 0f, 0.5f, 0.5f);
                    controllerHandler.HUDPlayer3.ViewPortRect.GetComponent <RectTransform>().anchorMin = new Vector2(0.5f, 0f);
                    controllerHandler.HUDPlayer3.ViewPortRect.GetComponent <RectTransform>().anchorMax = new Vector2(1, 0.5f);
                    controllerHandler.HUDPlayer3.ViewPortRect.GetComponent <RectTransform>().offsetMin = new Vector2(0, 0);
                    controllerHandler.HUDPlayer3.ViewPortRect.GetComponent <RectTransform>().offsetMax = new Vector2(0, 0);

                    break;

                case NumPlayerOption.players4:
                    break;

                case NumPlayerOption.returnToMain:
                    break;

                default:
                    break;
                }
            }
        }