Plugin UI Toolkit

This is awesome! I only make plugins for my own personal use really, to make certain things easier, and the interface is normally really ugly (if any). I’d love to use this.

4711f1dea030fe831c1dafe212d7b91c.png

Good to hear! Let me know if you have any ideas, there are so many useful controls that would be great to have. I was just thinking of adding a toolbar control so you can have “sub-plugins.” It’d be useful for more complex things, like how our navigation map editor has multiple actions (create node, delete node, connect nodes) but the whole thing is triggered by one plugin button.

Hmm, planned gridview? Pagination?
Loaders?
Data graphs would be sweet. Not sure how used it would be, though, haha.

Forms too - both text, masked text, file-like selection for decals and models etc, number input, submit buttonsssssssssss and more!

(Whew, I’m just noting ideas of what I have yet to see in this thread!)

Ooh yeah! Pagination would be nice. It also reminds me to add a tab page control to the list, those are super useful for productivity UI.

I can experiment with graphs too. I tried something but couldn’t get it to look as good as I had hoped. I might try another way. It would be really nice if we had something in the engine that would do it, but sampling a Lua function for data sounds pretty bad. Sending the data like the terrain system does might work. It’d be really nice to have a single built-in gui element that simply renders an antialiased line in its space and allowed the developer to set the scales of each axis, the color of the line, etc.

On the same note, though, it’d be much better to be able to sample a function so you could do a subdivided method to get smooth curves without waste.

Just published an update with a new method:

UI.Toast("Hello, this is some popup text.")
UI.Toast("This popup text lingers a little.", UI.ToastLifespan.Long)
UI.Toast("This popup text won't stick around long.", UI.ToastLifespan.Short)
UI.Toast("This popup text will stick around for exactly 10 seconds", 10)
UI.Toast("This popup text is filler")
UI.Toast("This popup text will make the very first one disappear!")
1 Like

Any video clips to show? I’m pretty interested in seeing examples of how the end-product looks :stuck_out_tongue: Nice feature, too.

Perhaps this weekend! I’ve been making small improvements during lunch, mainly. It’s been a busy week outside of work.

So I think I’m going to actually redo this entirely. The concept of making it plugin-centric was kind of silly. Something really great is coming though!

Lol, you’re stuck in the same loop I am. I redid my infrastructure like, 3 times so far.

I think I’m at a point where I’m pretty happy with what I have, but I can’t be sure. :stuck_out_tongue:

It happens… especially when you’re in between favored coding styles. I’m going more OOP on the next one. I’ll be able to reuse plenty of code too :wink: