Explorar el Código

added palmGridControls (press "R" or "C" to focus rows or columns, then press "+" or "-" to increase/decrease)

Alexander Hendrich hace 10 años
padre
commit
a58c2af47e
Se han modificado 2 ficheros con 42 adiciones y 10 borrados
  1. 3 3
      bbiwarg/Constants.cs
  2. 39 7
      bbiwarg/Graphics/OutputWindow.cs

+ 3 - 3
bbiwarg/Constants.cs

@@ -21,7 +21,7 @@ namespace bbiwarg
         public static readonly String InputMoviePath = "..\\..\\videos\\touch\\4.skv";
 
         // Logger
-        public static readonly LogSubject LogLevel = LogSubject.Timer;
+        public static readonly LogSubject LogLevel = LogSubject.None;
         public static readonly int ConsoleWidth = 90;
         public static readonly int ConsoleHeight = 30;
 
@@ -107,8 +107,8 @@ namespace bbiwarg
 
 
         //palm Grid
-        public static readonly int PalmGridNumRows = 3;
-        public static readonly int PalmGridNumColumns = 4;
+        public static int PalmGridNumRows = 3;
+        public static int PalmGridNumColumns = 4;
 
         // touch detection
         public static readonly float TouchEventMinTouchValue = 0.3f;

+ 39 - 7
bbiwarg/Graphics/OutputWindow.cs

@@ -12,10 +12,16 @@ using bbiwarg.Utility;
 
 namespace bbiwarg.Graphics
 {
+    public enum PalmGridControlFocus {
+        Rows,
+        Columns
+    }
+
     class OutputWindow : GameWindow
     {
         private InputHandler inputHandler;
         private InputProvider inputProvider;
+        private PalmGridControlFocus palmGridControlFocus;
 
         private uint textureID;
 
@@ -47,13 +53,10 @@ namespace bbiwarg.Graphics
             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
 
-            // video controls
+            palmGridControlFocus = PalmGridControlFocus.Rows;
+            Keyboard.KeyDown += HandleKeyDownPalmGridControls;
             if (inputProvider is VideoInputProvider)
-            {
-                Keyboard.KeyRepeat = true;
-                Keyboard.KeyDown += HandleKeyDown;
-                Logger.log("video controls enabled (space=pause, right=nextFrame, left=previousFrame)", LogSubject.VideoControls);
-            }
+                Keyboard.KeyDown += HandleKeyDownVideoControls;
 
             VSync = VSyncMode.Off;
         }
@@ -127,7 +130,7 @@ namespace bbiwarg.Graphics
             Timer.outputAll();
         }
 
-        private void HandleKeyDown(object sender, KeyboardKeyEventArgs e)
+        private void HandleKeyDownVideoControls(object sender, KeyboardKeyEventArgs e)
         {
             VideoInputProvider vip = (VideoInputProvider)inputProvider;
             switch (e.Key)
@@ -154,5 +157,34 @@ namespace bbiwarg.Graphics
                     break;
             }
         }
+
+
+        private void HandleKeyDownPalmGridControls(object sender, KeyboardKeyEventArgs e)
+        {
+            switch (e.Key) {
+                case Key.R:
+                    palmGridControlFocus = PalmGridControlFocus.Rows;
+                    break;
+                case Key.C:
+                    palmGridControlFocus = PalmGridControlFocus.Columns;
+                    break;
+                case Key.Plus:
+                case Key.KeypadPlus:
+                case Key.BracketRight: //fix
+                    if (palmGridControlFocus == PalmGridControlFocus.Rows)
+                        Constants.PalmGridNumRows++;
+                    else
+                        Constants.PalmGridNumColumns++;
+                    break;
+                case Key.Minus:
+                case Key.KeypadMinus:
+                case Key.Slash: //fix
+                    if (palmGridControlFocus == PalmGridControlFocus.Rows)
+                        Constants.PalmGridNumRows = Math.Max(1, Constants.PalmGridNumRows - 1);
+                    else
+                        Constants.PalmGridNumColumns = Math.Max(1, Constants.PalmGridNumColumns-1);
+                    break;
+            }
+        }
     }
 }