Nice I will try it
What happened to the first Empty Keys video on your YouTube channel? Itās currently set to private and I assume thatās the āHello Worldā intro tutorial. Iām trying to figure out how to use Empty Keys and I canāt any other basic instructions.
It was bit obsolete, but you can find simple example on GitHub https://github.com/EmptyKeys/UI_Examples/tree/master/Empty_Example
Yeah, thatās how Iām trying to work out how to use it. If I get stuck Iāll come back here.
Id rather see a ui library as a addable project in pure c# / monogame.
But i like most of them about as much as i liked my old one.
I actually keep rewriting one i have been working on and off , of for a long time.
But i keep throwing it out and starting over.
It is the curse of a games programmer.
You think you need a new GUI, so you spend a couple of days looking around at what is available, decide none of them are quite right, and start writing your own ā¦ againā¦
I have been writing games for 40 years, and I have probably wrote at least 50 GUIās
My UI library is designed as a core to build your own UI on top. Perhaps you wonāt need to build so many UIs anymore.
I can answer questions if you are suspicious.
In my game, I created this fancy Integer input box built on Apos.Gui: https://gfycat.com/ultimatecomfortablefurseal
I can use backspace and delete to remove characters in front or behind the cursor. I can write integers with any keyboard input layouts. I can use the scrollwheel on my mouse along with up and down arrows on my keyboard to increase or decrease the numbers. I can also use my mouse to move the cursor: https://gfycat.com/smoggycomplexblackrussianterrier
Thatās just an example of a custom component.
I know this feeling well
The GUI system in MonoGame.Extended is probably in itās 3rd iteration and to be honest weāre still not happy with it. Iāve already got plenty of ideas for the next version.
I probably made a least a dozen GUIās before I even started working on the one in MonoGame.Extended. Writing a really good GUI system is justā¦ hard.
Hi,
I see there are many third party options available.
In the past, Iāve used TomShame neoforce controls and the functionality and look was sufficient for me.
However it seems to do a lot of memory allocation on the heap which leads to garbage collections and potentially frame drops. Also, as I have used it it does not seem to be resolution independent so it looks really bad on 4K.
I need a simple textbox without copy paste, multiline, selectionā¦ But still proper input and resolution independent drawing.
Any of the suggested UI librairies offer a simple textbox with no heap allocation on every frame ? I donāt care if there is heap allocation on initialization, keypress, activate etc so long as it doesnāt happen every frame when the user is not interacting with the textbox.
Otherwise, Iām considering just digging into TomShane NeoForce and see if I can get rid of the allocations.
Well, not sure about the Allocation behavior of this one, but Iāve just started using it and really like it.
You ****ing bet it is, but I think my project is reaching a pretty good point where I donāt regret anything about the way itās being done.
About staying in the dark about this, I think the best way to maintain a solid pace is to not rely on public opinions for your endorphins and emotional venting about your daily progress, because hype dies and it will take you and your project with it at that point.
I work on it just about nightly. On the fun challenges of making a UI, itās mostly nesting Widgets in other Widgets, differentiating what should be in the abstract widget class or the inherited Buttons and Layouts, minimum and maximum sizes, all objects designed to be serializable and initialized in about 4 different ways, finding ways for the parents and children to carefully communicate with each other without causing infinite loopsā¦ Iām glad Iām mostly done with things like that and am on to the fun parts like visual effects, and thankfully I designed it in a way thatās based off Microsoftās Forms system, where EventHandlers are used heavily and Events can effectively do anything to the base Widget.
The aim of this project is not only to be a good UI library for MonoGame, but to be a framework that competes with Qt and Windows Forms, because frankly those alternatives have aged like fine cheese in my honest opinion. A UI framework should be designed with any spacial animation in mind from the beginning, it cannot be easily added later.
Things like light diffraction, lighting, and opaque windows are planned. Would also love to take advantage of the new MonoGame browser support to have people using this making websites.
With that, I will probably find a way to monetize it at some point, possibly through commercial licenses, possibly through Patreon? Idk.
Be warned that itās not in a usable state at the moment. Well, you could use it, like you could use a half finished toaster.
Huh, writing shaders is easier than I thought it would be. The only challenge came in just the week of learning HLSL, which is ancient and very wonky. Crazy how a little 100 lines of shading code can make something look polished immediately.
Iām glad you brought up allocation, that reminds me that Iāve got some very bad offending every-cycle methods that add garbage to the heap and classes that need to be structs.
Damnit I just wanted a textbox and now Iām knee deep into a menu redesignā¦ I love GeonBit.UI and the default theme actually meshes really well with my game. I didnāt get the time to test the allocation but a quick glance at the code looked like work is done to use structs when testing for input and looked all good from a cursory glanceā¦
Also, I think I figured I was a bit dumb with my use of TomShane controlsā¦ I could have simply omitted the calls that are required on each Update / Draw when my gamestate knows no textbox is currently visible, which would have been good enough for my scenarioā¦