markdwags / Razor

Razor is a free tool designed to help with simple tasks while playing Ultima Online.
https://www.razorce.com
GNU General Public License v3.0
139 stars 97 forks source link

Some moves towards UI isolation #175

Open sorsarre opened 3 years ago

sorsarre commented 3 years ago

Trying to jumpstart decoupling the Razor's functional guts from WinForms specifically and UI side of things in general.

Why bother?

What's in?

Not much compared to the whole workload necessary to run headless, but I hope it's a start.

Dragged some UI code from obviously domain stuff:

On WinForms front:

What's next?

Specific plans are part 1, parts 2 & 3 are more in the vague far-off milestones department for now.

  1. Continue UI split
    • Remaining object managers (friends, counters, etc)
    • Agents
    • Macros
    • Hotkeys
    • Scripts
    • Deal with MessageBox infestation
    • Direct WinForms Clipboard calls
  2. Move core stuff into a separate assembly
  3. Fence core-to-UI interactions behind a set of interfaces
mythril commented 2 years ago

I have written a RunUO gump script that fairly well emulates a tabbed interface. It's a bit huge and knobby because of the constraints of gumps, but I would happily share the code and some screenshots if it will help.

mythril commented 2 years ago

If I can get Razor building on my system I might also port the idea to Razor just to contribute.

Looking for detailed build instructions on Linux if anyone has them.

Or command line (I don't have Visual Studio) instructions for Windows 10.