OurSonic.SonicEngine.bindInput C# (CSharp) Method

bindInput() private method

private bindInput ( ) : void
return void
        private void bindInput()
        {
            uiCanvas.DomCanvas.MouseDown(canvasOnClick);
            uiCanvas.DomCanvas.MouseUp(canvasMouseUp);
            uiCanvas.DomCanvas.MouseMove(canvasMouseMove);

            uiCanvas.DomCanvas.Bind("touchstart", canvasOnClick);
            uiCanvas.DomCanvas.Bind("touchend", canvasMouseUp);
            uiCanvas.DomCanvas.Bind("touchmove", canvasMouseMove);

            uiCanvas.DomCanvas.Bind("DOMMouseScroll", handleScroll);
            uiCanvas.DomCanvas.Bind("mousewheel", handleScroll);
            uiCanvas.DomCanvas.Bind("contextmenu", (e) => e.PreventDefault());
            bool dontPress = false;
            Document.AddEventListener("keypress",
                                      e =>
                                      {  
                                          //if (sonicManager.CurrentGameState == GameState.Editing)
                                          dontPress = sonicManager.UIManager.OnKeyDown(e);
                                      },
                                      true);
            Document.AddEventListener("keyup",
                                      e => {
                                          //if (sonicManager.CurrentGameState == GameState.Editing)
                                          dontPress = false;
                                      },
                                      true);

            Document.AddEventListener("onkeydown",
                                      e => {
                                          //if (sonicManager.CurrentGameState == GameState.Editing)
                                          dontPress = sonicManager.UIManager.OnKeyDown(e);
                                      },
                                      true);
            Document.AddEventListener("onkeyup",
                                      e => {
                                          //if (sonicManager.CurrentGameState == GameState.Editing)
                                          dontPress = false;
                                      },
                                      true);

            /*

                        jQuery.Document.Keydown(e =>
                        {
                            //if (sonicManager.CurrentGameState == GameState.Editing)
                            dontPress = sonicManager.UIManager.OnKeyDown(e);
                        });

                        jQuery.Document.Keyup(e =>
                        {
                            dontPress = false;
                        });
            */

            KeyboardJS.Instance().Bind.Key("f",
                                           () => {
                                               if (dontPress) return;
                                               sonicManager.ShowHeightMap = !sonicManager.ShowHeightMap;
                                           },
                                           () => { });

            KeyboardJS.Instance().Bind.Key("o",
                                           () =>
                                           {
                                               if (dontPress) return;
                                               if (sonicManager.CurrentGameState == GameState.Playing)
                                                   sonicManager.InHaltMode = !sonicManager.InHaltMode;
                                           },
                                           () => { });
            KeyboardJS.Instance().Bind.Key("j",
                                           () => {
                                               sonicManager.ReplaceMagic();
                                           },
                                           () => { });

            client = SocketIOClient.Connect("127.0.0.1:8998");
            
            client.On<DataObject<string>>("SonicLevel",
                                          data => { Help.DecodeString<SLData>(data.Data, RunSonic); });
            client.On<DataObject<KeyValuePair<string, string>[]>>("GetObjects.Response", data => { sonicManager.loadObjects(data.Data); }
                    );

            KeyboardJS.Instance().Bind.Key("2",
                                           () => {
                                               if (dontPress) return;
                                               client.Emit("GetSonicLevel", "0");
                                           },
                                           () => { });

            KeyboardJS.Instance().Bind.Key("1",
                                           () => {
                                               if (dontPress) return;
                                               sonicManager.IndexedPalette++;
                                               sonicManager.ClearCache();
                                           },
                                           () => { });

            KeyboardJS.Instance().Bind.Key("q",
                                           () =>
                                           {
                                               runGame();
                                           },
                                           () => { });
            KeyboardJS.Instance().Bind.Key("z",
                                           () =>
                                           {
                                               Extensions.DOES ++;
                                           },
                                           () => { });

            KeyboardJS.Instance().Bind.Key("p",
                                           () => {
                                               if (dontPress) return;
                                               if (sonicManager.CurrentGameState == GameState.Playing)
                                                   if (sonicManager.InHaltMode) sonicManager.waitingForTickContinue = false;
                                           },
                                           () => { });







            KeyboardJS.Instance().Bind.Key("h",
                                           () => {
                                               if (dontPress) return;
                                               if (sonicManager.CurrentGameState == GameState.Playing)
                                                   sonicManager.SonicToon.Hit(sonicManager.SonicToon.X, sonicManager.SonicToon.Y);
                                           },
                                           () => { });
            KeyboardJS.Instance().Bind.Key("u",
                                           () => {
                                               WideScreen = !WideScreen;
                                               resizeCanvas(true);
                                           },
                                           () => { });

            KeyboardJS.Instance().Bind.Key("c",
                                           () => {
                                               if (dontPress) return;
                                               if (sonicManager.CurrentGameState == GameState.Playing)
                                                   sonicManager.SonicToon.Debug();
                                           },
                                           () => { });

            KeyboardJS.Instance().Bind.Key("up",
                                           () => {
                                               if (dontPress) return;
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.PressUp();
                                                       break;
                                                   case GameState.Editing:

                                                       sonicManager.WindowLocation.Y -= 128;
                                                       sonicManager.BigWindowLocation.Y -= 128;
                                                       break;
                                               }

                                           },
                                           () => {
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.ReleaseUp();
                                                       break;
                                                   case GameState.Editing:
                                                       break;
                                               }
                                           });

            KeyboardJS.Instance().Bind.Key("down",
                                           () => {
                                               if (dontPress) return;
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.PressCrouch();
                                                       break;
                                                   case GameState.Editing:

                                                       sonicManager.WindowLocation.Y += 128;
                                                       sonicManager.BigWindowLocation.Y += 128;
                                                       break;
                                               }
                                           },
                                           () => {
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.ReleaseCrouch();
                                                       break;
                                                   case GameState.Editing:
                                                       break;
                                               }
                                           });

            KeyboardJS.Instance().Bind.Key("left",
                                           () => {
                                               if (dontPress) return;
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.PressLeft();
                                                       break;
                                                   case GameState.Editing:
                                                       sonicManager.WindowLocation.X -= 128;
                                                       sonicManager.BigWindowLocation.X -= 128;
                                                       break;
                                               }
                                           },
                                           () => {
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.ReleaseLeft();
                                                       break;
                                                   case GameState.Editing:
                                                       break;
                                               }
                                           });

            KeyboardJS.Instance().Bind.Key("right",
                                           () => {
                                               if (dontPress) return;
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.PressRight();
                                                       break;
                                                   case GameState.Editing:
                                                       sonicManager.WindowLocation.X += 128;
                                                       sonicManager.BigWindowLocation.X += 128;
                                                       break;
                                               }
                                           },
                                           () => {
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.ReleaseRight();
                                                       break;
                                                   case GameState.Editing:
                                                       break;
                                               }
                                           });

            KeyboardJS.Instance().Bind.Key("space",
                                           () => {
                                               if (dontPress) return;
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.PressJump();

                                                       break;
                                                   case GameState.Editing:
                                                       break;
                                               }
                                           },
                                           () => {
                                               switch (sonicManager.CurrentGameState) {
                                                   case GameState.Playing:
                                                       sonicManager.SonicToon.ReleaseJump();
                                                       break;
                                                   case GameState.Editing:
                                                       break;
                                               }
                                           });

            KeyboardJS.Instance().Bind.Key("e",
                                           () => {
                                               if (dontPress) return;
                                               sonicManager.SonicLevel.CurHeightMap = !sonicManager.SonicLevel.CurHeightMap;
                                           },
                                           () => { });
        }