81c69041c3
Added the SingleRandom utility class
2022-11-29 21:11:59 +01:00
1a1b2025cd
Made JsonTypeSafeWrapper.Of generic to potentially avoid reflective instantiation
2022-11-28 00:43:50 +01:00
d72b094a7a
Added a generic version of IGenericDataHolder.SetData
2022-11-27 12:34:07 +01:00
e21729de67
fixed some memory management issues in MLEM.Ui
2022-11-24 18:38:51 +01:00
9919ee4a97
added the ability to convert texture atlases to collections
2022-11-23 12:14:08 +01:00
92353e40e6
Allow adding JsonTypeSafeWrapper instances to JsonTypeSafeGenericDataHolder directly
2022-11-22 21:51:42 +01:00
63ea3eba90
DataContract usage improvements
2022-11-22 20:09:12 +01:00
810406fb94
Added the ability for UniformTextureAtlases to have padding for each region
2022-11-19 17:12:57 +01:00
b5619db55c
Allow explicitly specifying each region for extended auto tiles
2022-11-14 12:59:35 +01:00
db02dfcfde
Store a RuntimeTexturePacker packed texture region's source region
2022-11-14 11:49:47 +01:00
6ac2ba6151
Added Range extension methods GetPercentage and FromPercentage
2022-11-10 15:41:24 +01:00
5906278091
Fixed Combination.IsModifierDown querying one of its modifiers instead of all of them
2022-11-08 17:50:58 +01:00
8bb62a2ce5
also added WasModifierDown and WasDown to Keybind and Combination
2022-11-08 17:43:34 +01:00
797a3b2617
Improved the way InputHandler down time calculation works
2022-11-08 17:12:37 +01:00
8469185297
Added GetDownTime, GetUpTime and GetTimeSincePress to Keybind and Combination
2022-11-08 16:43:32 +01:00
cc749103e0
Allow specifying percentage-based padding for a NinePatch
2022-11-03 18:16:59 +01:00
d138577285
Added trimming and AOT annotations and made MLEM trimmable
2022-10-31 18:33:53 +01:00
f58e3c94d5
Marked EnumHelper and DynamicEnum as obsolete due to their reimplementation in the DynamicEnums library
2022-10-31 13:20:26 +01:00
8745a3237e
Added DynamicEnum IsDefined and EnumHelper and DynamicEnum GetUniqueFlags
2022-10-26 23:34:30 +02:00
7ab76d239d
Added EnumHelper and DynamicEnum GetFlags
2022-10-26 15:02:33 +02:00
17ce7b668d
Added the ability to add additional regions to a RuntimeTexturePacker after packing
2022-10-20 23:59:42 +02:00
627350ca31
Added ElementHelper.MakeGrid
2022-10-17 10:57:41 +02:00
8d689952cc
Made GenericFont and TokenizedString support UTF-32 characters like emoji
2022-10-15 13:48:45 +02:00
560c797b87
Fixed InputHandler and UiControls maintaining old input states when input types are toggled off
2022-10-10 19:29:01 +02:00
d6309ce9c1
Added the ability to find paths to one of multiple goals using AStar
2022-10-10 11:31:23 +02:00
d3b153fd45
Cleaned up AStar code
2022-10-09 22:38:10 +02:00
0b6e6743cf
some more AStar improvements
2022-10-09 21:04:39 +02:00
3e4c4e566d
Merge remote-tracking branch 'origin/main'
2022-10-09 20:07:51 +02:00
bfa4ab4ac2
Added the ability to include special per-position directions in AStar pathfinding
2022-10-09 20:07:38 +02:00
92f9164256
Added Panel.ScrollToElement
2022-09-24 18:46:33 +02:00
d6a51776e5
Fixed the scroll bar of an empty panel being positioned incorrectly
2022-09-24 11:04:23 +02:00
e8710f69e9
Fixed an exception when trying to force-update the area of an element without a ui system
2022-09-19 15:02:36 +02:00
48735c3d36
Multi-target net452, making MLEM compatible with MonoGame for consoles
2022-09-14 21:17:43 +02:00
7d8b14ee8d
added from instruction to DataTextureAtlas
2022-09-14 11:59:28 +02:00
914b0d9c2d
- Improved DataTextureAtlas parsing
...
- Added data and copy instructions to DataTextureAtlas
2022-09-14 10:40:52 +02:00
a6fd2c052e
Added ScrollBar.MouseDragScrolling
...
Closes #5
2022-09-13 16:14:36 +02:00
d0c805cf18
Fixed Element.OnChildAdded and Element.OnChildRemoved being called for grandchildren when a child is added
2022-09-13 15:44:12 +02:00
55735b4c64
Added Element.OnAddedToUi and Element.OnRemovedFromUi
2022-09-13 14:27:49 +02:00
b4e1b00c88
finished static sprite batch optimizations
2022-09-12 23:51:12 +02:00
742bc52437
First pass at drastically improving StaticSpriteBatch batching performance
2022-09-12 21:51:21 +02:00
d6e7c1086d
Discard old data when updating a StaticSpriteBatch
2022-09-12 21:13:43 +02:00
2d3d93c610
Generified UiMarkdownParser by adding abstract UiParser
2022-09-04 12:26:55 +02:00
023233a062
Fixed some TokenizedString tokens starting with a line break not being split correctly
2022-09-02 14:07:23 +02:00
0fe4c940d7
Fixed TokenizedString handling trailing spaces incorrectly in the last line of non-left aligned text
2022-09-02 13:58:12 +02:00
32dad847a0
adAdded TokenizedString.Realign
2022-09-02 13:42:21 +02:00
6a271af017
Fixed UiMarkdownParser not parsing formatting in headings and blockquotes
2022-08-19 17:57:44 +02:00
af0aee6c40
Added Element.AutoSizeAddedAbsolute to allow for more granular control of auto-sizing
2022-08-16 14:20:32 +02:00
e50d28ce11
Allow using external gesture handling alongside InputHandler through ExternalGestureHandling
2022-08-11 11:37:41 +02:00
f0432ab981
Fixed panels sometimes not drawing children that came into view when their positions changed unexpectedly
2022-08-04 21:03:16 +02:00
8332f56237
improved changelog md formatting
2022-08-04 20:44:54 +02:00
b7b1490d70
Fixed paragraphs sometimes not updating their position properly when hidden because they're empty
2022-08-04 20:43:04 +02:00
4d34a2fac1
Fixed parents of elements that prevent spill not being notified properly
2022-08-04 20:14:29 +02:00
b2898a8eae
Made RuntimeTexturePacker restore texture region name and pivot when packing
2022-08-03 10:37:59 +02:00
b012c65990
Allow data texture atlas pivots and offsets to be negative
2022-08-02 23:56:18 +02:00
72647a2edf
Fixed data texture atlases not allowing most characters in their region names
2022-08-02 23:02:34 +02:00
5aaba0c583
Close other dropdowns when opening a dropdown
2022-07-29 22:24:37 +02:00
8044cb59cb
Improved EnumHelper.GetValues signature to return an array
2022-07-29 19:52:01 +02:00
f0cc4b0c80
Allow elements to auto-adjust their size even when their children are aligned oddly
2022-07-27 11:19:40 +02:00
b78465c054
bump upcoming version
2022-07-25 18:56:21 +02:00
9b090c954f
6.0.0
2022-07-25 18:44:16 +02:00
711f60a97e
Updated demos and templates to MonoGame 3.8.1
2022-07-25 18:23:16 +02:00
48dfa8f1ee
Allow RandomExtensions to operate on any ICollection
2022-07-19 15:20:19 +02:00
ba1058748e
Allow specifying multiple names for a DataTextureAtlas region
2022-07-18 20:41:19 +02:00
08e28cb95b
Allow manually setting a RootElement as CanBeActive
2022-07-18 15:53:26 +02:00
d32bc0cbfb
Added TryGetUpTime, GetUpTime, TryGetTimeSincePress and GetTimeSincePress to InputHandler
2022-06-29 15:57:41 +02:00
6e2c2b3730
Improved the way terminating formatting codes work by introducing SimpleEndCode
2022-06-26 15:08:11 +02:00
92018eea1e
Made the base package's description more descriptive
...
This reverts commit 2973bd98e2
.
This reverts commit 04c6bb5ff8
.
2022-06-26 14:25:19 +02:00
2973bd98e2
moved MLEM's Input namespace into its own package
2022-06-25 23:46:06 +02:00
87b575b5c3
bump major version and cleaned up readme
2022-06-24 21:39:53 +02:00
5d7d238630
added MLEM.FNA
2022-06-24 14:01:26 +02:00
aff61508c4
Added TextInput class, which is an isolated version of MLEM.Ui's TextField logic
2022-06-19 18:17:46 +02:00
1795acb30e
Added GenericInput support for Buttons.None
2022-06-15 11:44:28 +02:00
59af00c89a
Code cleanup, and marked AStar.InfiniteCost as obsolete
2022-06-15 11:38:11 +02:00
f53305ce42
Added UiMarkdownParser
2022-06-13 23:52:10 +02:00
d03116a49a
Allow using multiple textures in a StaticSpriteBatch
2022-06-08 11:05:18 +02:00
7d9633d989
Fixed StaticSpriteBatch not resetting its texture when all items are removed
2022-06-07 11:57:25 +02:00
42993f1a0b
Added LayerPositionF to MLEM.Extended
2022-06-06 23:50:13 +02:00
16053d9d04
further improve runtime texture packer performance by caching the first possible position for a request of a given size
2022-05-28 21:21:25 +02:00
cb496f613f
Improve RuntimeTexturePacker performance by checking against packed textures in the same order as packing
2022-05-27 11:02:33 +02:00
951f4babd5
Fixed gamepad auto-nav angle being incorrect for some elements
2022-05-26 11:39:55 +02:00
b9f2de8290
Made RuntimeTexturePacker padding be per request and improve performance by caching texture data
2022-05-25 13:18:25 +02:00
f0f1d7f8ed
added runtime texture region padding and other improvements
2022-05-25 12:37:51 +02:00
fcca5300ae
Fixed elements' OnDeselected events not being raised when CanBeSelected is set to false while selected
2022-05-21 20:42:54 +02:00
bd9d3f970b
Added RandomPitchModifier and GetRandomPitch to SoundEffectInfo
2022-05-20 16:59:28 +02:00
161d44dbe0
Added an Enum constructor to GenericInput
2022-05-18 21:45:38 +02:00
30bcdc1710
Allow comparing Keybind and Combination based on the amount of modifiers they have
2022-05-18 18:50:00 +02:00
6dc4011ef5
Added optional isKeybindAllowed parameter to KeybindButton
2022-05-18 15:54:29 +02:00
5ba550619d
Added AndThen to Easings
2022-05-10 21:32:28 +02:00
7ebbe49786
Added ReverseInput and ReverseOutput to Easings
2022-05-10 20:56:14 +02:00
874be1fd6e
Fixed SoundEffectReader incorrectly claiming it could read ogg and mp3 files
2022-05-10 15:58:47 +02:00
47b58b1942
Premultiply textures when using RawContentManager
2022-05-07 21:39:36 +02:00
16b9e26969
Fixed elements sometimes staying hidden when they shouldn't in scrolling panels
2022-05-04 13:54:15 +02:00
98118e540a
Allow manually hiding a paragraph without its text overriding the hidden state
2022-05-04 13:22:24 +02:00
58b716aabb
Don't query a paragraph's text callback in the constructor
2022-05-03 20:26:39 +02:00
63d2353694
Improved ElementHelper.AddTooltip overloads
2022-05-03 20:10:26 +02:00
15a57d8db9
Turned Tooltip paragraph styling into style properties
2022-05-03 19:35:44 +02:00
5a1b31e8a3
Allow adding dropdown and tooltip elements at a specified index
2022-05-03 19:07:53 +02:00
435042e1f5
Allow Tooltip to manage more than one paragraph and make it easier to add new lines
2022-05-03 18:58:18 +02:00
610527374e
Make use of the new consuming variants in InputHandler and Keybind to consume UiControls inputs
2022-04-30 12:14:08 +02:00
4a88cca8bf
also added consuming variants of IsPressed to Keybind
2022-04-30 11:38:05 +02:00
46c77d2444
Added InputHandler.InvertPressBehavior
2022-04-29 15:34:04 +02:00
6393d879d9
added SpriteBatchContext
2022-04-25 15:25:58 +02:00
c78bafd000
Ensure that Element.IsMouseOver is always accurate by making it an auto-property
2022-04-15 14:18:55 +02:00
783da33107
Fixed elements not being deselected when removed through RemoveChild
2022-04-15 14:16:38 +02:00
45afd9ac79
Added Element.AutoNavGroup which allows forming groups for auto-navigation
2022-04-14 17:54:25 +02:00
ad29b46df3
Fixed radio buttons not unchecking all other radio buttons with the same root element
2022-04-14 17:45:01 +02:00
f445f59078
Added consuming variants of IsPressed methods to InputHandler
2022-04-11 10:33:41 +02:00
902391d278
Fixed auto-nav tooltip displaying on the selected element even when not in auto-nav mode
2022-04-09 22:00:21 +02:00
62d2b28ec0
bump version
2022-04-08 14:50:14 +02:00
a1c5b8e2d6
5.3.0
2022-04-08 14:37:25 +02:00
4854d420e0
Fixed delayed tooltips sometimes displaying in the wrong location for one frame
2022-04-05 14:54:20 +02:00
393bd9ffe5
Allow tooltips to display for elements when selected in auto-nav mode
2022-04-05 14:42:30 +02:00
df0ad68837
Fixed tooltips sometimes ignoring manually set IsHidden values
2022-04-05 14:17:12 +02:00
94dec34470
render panel's render target in the Draw method
2022-03-26 21:13:05 +01:00
6a3c797eba
Fixed UiMetrics.ForceAreaUpdateTime being inaccurate for nested elements
2022-03-26 20:06:59 +01:00
ae6ce6e7d5
Added properties and constructors for existing operator overloads to GenericInput
2022-03-26 12:51:14 +01:00
4e122175b2
Allow ElementHelper's KeybindButton to accept a Keybind for clearing a combination
2022-03-26 12:41:19 +01:00
c6fe72bdc9
Multiple improvements to InputHandler key/button repeats:
...
- Trigger InputHandler key and gamepad repeats for the most recently pressed input
- Added InputHandler.TryGetDownTime and store the down times of inputs
- Removed InputHandler.StoreAllActiveInputs and always store all active inputs
2022-03-25 15:18:57 +01:00
bb7192b3cc
Fixed InputHandler.InputsPressed ignoring repeat events for keyboards and gamepads
2022-03-24 11:43:55 +01:00
c5b2b8798e
Fixed dropdowns with some non-selectable children failing to navigate when using gamepad controls
2022-03-17 20:46:49 +01:00
1f4f0cfa44
Fixed Element.IsSelected returning incorrect results when CanBeSelected changes
2022-03-17 20:45:28 +01:00
4aff5a2875
Fixed RootElement.CanSelectContent returning incorrect results when CanBeSelected changes in children
2022-03-17 20:36:30 +01:00
bb22bbdf75
Fixed children of Panel scroll bars also being scrolled
2022-03-17 20:04:58 +01:00
fa34258bbe
Added UiControls.AutoNavModeChanged event
2022-03-14 16:12:51 +01:00
5d97ab033f
Added GamepadExtensions.GetAnalogValue to get the analog value of any gamepad button
2022-03-14 15:15:30 +01:00
b77edd80d5
Allow specifying a custom position for a tooltip to snap to
2022-03-14 14:20:12 +01:00
f166c3d256
Fixed buttons and checkboxes changing their CanBeSelected and CanBePressed values when being disabled
2022-03-11 13:25:18 +01:00
2c90ca9b89
Fixed UiControls allowing for non-selectable or non-mouseable elements to be marked as selected or moused
2022-03-11 12:29:56 +01:00
0f4e67f20f
Fixed auto-navigating panels not scrolling to the center of elements properly
2022-03-10 18:04:36 +01:00
96f0c51757
Added RectangleF.DistanceSquared and RectangleF.Distance
2022-03-10 16:03:09 +01:00
a14a37cb91
Prefer elements that have the same parent as the currently selected element when using gamepad navigation
2022-03-10 15:00:42 +01:00
45955bb5e8
Improved gamepad navigation by employing angles between elements
2022-03-10 14:25:41 +01:00
cb8fed87e5
Automatically select the first element when a dropdown is opened in auto nav mode
2022-03-10 13:50:47 +01:00
48a4aa0588
Some keybind and keybind button improvements
2022-03-10 12:39:56 +01:00
d5ec0b8001
Allow setting a default color for clickable links in UiStyle
2022-03-07 12:00:33 +01:00
af7c341d83
Added float version of GetRandomWeightedEntry
2022-02-23 14:35:35 +01:00
c360c90f28
Fixed Code.Draw receiving the index in the current line rather than the current token
...
Closes #3
2022-02-14 00:24:31 +01:00
856d69b7db
Fixed a formatting Code only knowing about the last Token that it is applied in
...
Closes #3
2022-02-13 22:43:51 +01:00
48b96a10a4
Added InputHandler mouse and touch position querying that preserves the game's viewport and fixed the graphics device's viewport being ignored for mouse and touch queries
...
Closes #1
2022-02-06 22:07:33 +01:00
ad2784a67e
Automatically update all elements when changing a ui system's viewport
2022-02-06 21:16:35 +01:00
ed88862194
Marked BeginDelegate and BeginImpl as obsolete
2022-02-02 18:17:53 +01:00
c880c3e011
Update elements less aggressively when changing a ui system's style
2022-01-30 16:56:07 +01:00
a143aef67c
Revert scissor rectangle change since it doesn't support panels with complex transformations
...
Revert "Use a scissor rectangle for panels in favor of a render target, and marked UiSystem.DrawEarly and Element.DrawEarly as obsolete"
This reverts commit 3c4567e4a1
.
Revert "cleaned up DrawEarly documentation references"
This reverts commit dc6c472b84
.
2022-01-30 16:35:10 +01:00
dc6c472b84
cleaned up DrawEarly documentation references
2022-01-30 12:20:32 +01:00
3c4567e4a1
Use a scissor rectangle for panels in favor of a render target, and marked UiSystem.DrawEarly and Element.DrawEarly as obsolete
2022-01-30 01:13:59 +01:00
f7cf9460d6
Renamed GenericFont.OneEmSpace to Emsp (and marked OneEmSpace as obsolete)
2022-01-24 11:16:23 +01:00
c7f021e62d
Marked CopyExtensions as obsolete
2022-01-23 21:18:13 +01:00
f3e6df6862
Made custom values of Element.Style persist when a new ui style is set
2022-01-22 23:34:52 +01:00
94b6aa0d1b
Marked StyleProp equality members as obsolete
2022-01-22 23:20:04 +01:00
faa400c4e6
Added Element.OnStyleInit event
2022-01-22 23:05:29 +01:00