Ejemplo n.º 1
0
 public static void ProcessCanvasInput(InputManager input, Loc tileCoords, bool inWindow, StrokeCreator createStroke, StrokeCreator deleteStroke, StrokeAction strokeAction, ref CanvasStroke <T> pendingStroke)
 {
     if (input.JustPressed(FrameInput.InputType.LeftMouse) && inWindow)
     {
         pendingStroke = createStroke();
     }
     else if (pendingStroke != null && input[FrameInput.InputType.LeftMouse])
     {
         pendingStroke.SetEnd(tileCoords);
     }
     else if (pendingStroke != null && input.JustReleased(FrameInput.InputType.LeftMouse))
     {
         strokeAction(pendingStroke);
         pendingStroke = null;
     }
     else if (input.JustPressed(FrameInput.InputType.RightMouse) && inWindow)
     {
         pendingStroke = deleteStroke();
     }
     else if (pendingStroke != null && input[FrameInput.InputType.RightMouse])
     {
         pendingStroke.SetEnd(tileCoords);
     }
     else if (pendingStroke != null && input.JustReleased(FrameInput.InputType.RightMouse))
     {
         strokeAction(pendingStroke);
         pendingStroke = null;
     }
 }