static StrokeFactory() { try { Type type = typeof(System.Drawing.AdvancedStroke); Activator.CreateInstance(type); Creator = new AdvancedCreator(); } catch{ Creator = new DefaultCreator(); } }
static StrokeFactory() { try { Type type = typeof(System.Drawing.AdvancedStroke); Activator.CreateInstance(type); Creator = new AdvancedCreator(); } catch { Creator = new DefaultCreator(); } }
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; } }