* Added the button and manager
* Minor cleanup
* Reigstered to the wrong thing!
* Unload UI
* Address the review
* First commit :)
* Some cleanup
* Added some comments and now the placehoder text goes away once you start typing
* Some cleanup and better test command
* Basic rate limiter class (Not finished)
* Cleanup
* Removed forgotten comment xD
* Whitespace removal
* Minor cleanup, cvar hours -> minutes
* More minor tweaks
* Don't cache timer and add examples to fields
* Added CCvar for time between bug reports
* Minor crash when restarting rounds fixed
* It compiled on my computer!
* Fix comment indents
* Remove unecessary async, removed magic strings, simplfied sawmill to not use post inject
* Make struct private
* Simplfiy TryGetLongHeader
* Changed list to enumerable
* URI cleanup
* Got rid of the queue, used a much better way!
* Made the comments a little better and fix some issues with them
* Added header consts
* Maximum reports per round is now an error message
* Time between reports is now in seconds
* Change ordering
* Change hotkey to O
* only update window when its open
* Split up validation
* address review
* Address a few issues
* inheritance fix
* API now doesn't keep track of requests, just uses the rate limited response from github
* Rough idea of how channels would work
* refactor: reorganized code, placed rate limiter into http-client-handler AND manager (usually only manager-one should work)
* cleanup
* Add user agent so api doesn't get mad
* Better error logs
* Cleanup
* It now throws!
* refactor: renaming, moved some methods, xml-doc cleanups
* refactor: BugReportWindow formatted to convention, enforced 1 updates only 1 per sec
* Add very basic licence info
* Fixed the issues!
* Set ccvar default to false
* make the button better
* fix test fail silly me
* Adress the review!
* refactor: cleanup of entry point code, binding server-side code with client-facing manager
* Resolve the other issues and cleanup and stuff smile :)
* not entity
* fixes
* Cleanup
* Cleanup
* forgor region
* fixes
* Split up function and more stuff
* Better unsubs yaygit add -A
* I pray...
* Revert "I pray..."
This reverts commit 9629fb4f1289c9009a03e4e4facd9ae975e6303e.
* I think I have to add it in the pr
* Revert "I think I have to add it in the pr"
This reverts commit e185b42f570fe5f0f51e0e44761d7938e22e67f7.
* Tweaks
* Minor tweak to permissions
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Borg hands & hand whitelisting
* yaml linted
* yaml linted (x2)
* yaml linted (x3)
* my storage tests so pass
* no need for SetCount
* ok new stuff you can get fixed too
* oops
* staque
* what if we addressed feedback
* my place so holder
* what if we addresesd feedback
* what if i did it correctly
* terminating or deleted
* Convert all shader prototype string literals to protoids in overlays
* Convert more shader prototype literal strings to protoids
* Convert ValidatePrototypeId to ProtoId
* Later
* checkpoint
* pt 2
* pt... i forgot
* pt 4
* patch
* More test fixes
* optimization!!!
* the REAL hand system
* fix RetractableItemActionSystem.cs oversight
* the review
* test
* remove test usage of body prototype
* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* hellcode
* hellcode 2
* Minor cleanup
* test
* Chasing the last of the bugs
* changes
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Fixes and adds many localization keys from #34343
Open
* Fix comment, that is not how that works.
* Update Resources/Locale/en-US/components/screen-component.ftl
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Fixes cmd-parse-failure-int -> cmd-parse-failure-integer in OptionsUIController.cs, removes cmd-parse-failure-int from options-menu.ftl
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* 1 warning in MechAssemblyVisualizerSystem
* 2 warnings in RecyclerVisualizerSystem
* 1 warning in ClusterGrenadeVisualizerSystem
* 2 warnings in BarSignSystem
* 4 warnings in AlertControl
* 1 warning in ToolSystem
* 2 warnings in PinpointerSystem
* 2 warnings in ClientSpriteMovementSystem
* 2 warnings in OptionsVisualizerSystem
* 1 warning in FlatpackSystem
* 1 warning in ZombieSystem
* 1 warning in StackSystem
* 1 warning in MiningOverlay
* 1 warning in FlippableClothingVisualizerSystem
* Guard clause for MechAssemblyVisualizerSystem
* Get SpriteSystem in AlertControl constructor
* Cleanup warnings in ClickableSystem
* Cleanup warnings in FultonSystem
* Cleanup warning in HolidaySystem
* Cleanup warning in DoAfterOverlay
* Cleanup warning in EntityHealthBarOverlay
* Cleanup warning in SmokeVisualizerSystem
* Cleanup warning in VaporVisualizerSystem
* Cleanup warning in ColorFlashEffectSystem
* Cleanup warnings in StealthSystem
* Cleanup warnings in TrayScannerSystem
* Cleanup warnings in InventoryUIController
* Cleanup warnings in HideMechanismsCommand
* Cleanup warning in ShowMechanismsCommand
* Cleanup warnings in EntityPickupAnimationSystem
* Cleanup warnings in PointingSystem
* Cleanup warning in StickyVisualizerSystem
* Cleanup warnings in TabletopSystem
* Cleanup warnings in PillSystem
* Cleanup warnings in DiceSystem
* Cleanup warnings in ProjectileSystem
* Add in-page links for guidebook reagent recipes
* Add links to microwave recipes
* This function is too specific to be in Control extensions
* Better naming
* Wrap RichTextLabel instead of subclassing
* "Activate" is ambiguous
* Predicted gas pumps
I wanted to try out atmos and first thing I found.
* a
* Atmos device prediction
- Canisters
- Tanks
- Internals
AirMixes aren't predicted so nothing on that front but all the UIs should be a lot closer.
* Remove details range
* Gas tank prediction
* Even more sweeping changes
* Alerts
* rehg
* Popup fix
* Fix merge conflicts
* Fix
* Review
* Add ENERGYWATTHOURS() loc function
Takes in joules (energy), displays as watt-hours.
* Add simple OnOffButton control
* Re-add Inset style class
This was sloppily removed at some point?? Whatever, I need it.
* Add helper functions for setting title/guidebook IDs on FancyWindow
Reagent dispenser uses these, more in the next commits.
* Add BuiPredictionState helper
This enables me to implement coarse prediction manually in the battery UI.
Basically it's a local buffer of predicted inputs that can easily be replayed against future BUI states from the server.
* Add input coalescing infrastructure
I ran into the following problem: Robust's Slider control absolutely *spams* input events, to such a degree that it actually causes issues for the networking layer if directly passed through. For something like a slider, we just need to send the most recent value.
There is no good way for us to handle this in the control itself, as it *really* needs to happen in PreEngine. For simplicity reasons (for BUIs) I came to the conclusion it's best if it's there, as it's *before* any new states from the server can be applied. We can't just do this in Update() or something on the control as the timing just doesn't line up.
I made a content system, BuiPreTickUpdateSystem, that runs in the ModRunLevel.PreEngine phase to achieve this. It runs a method on a new IBuiPreTickUpdate interface on all open BUIs. They can then implement their own coalescing logic.
In the simplest case, this coalescing logic can just be "save the last value, and if we have any new value since the last update, send an input event." This is what the new InputCoalescer<T> type is for.
Adding new coalescing logic should be possible in the future, of course. It's all just small helpers.
* Battery interface
This adds a proper interface to batteries (SMES/substation). Players can turn IO on and off, and they can change charge and discharge rate. There's also a ton of numbers and stuff. It looks great.
This actually enables charge and discharge rates to be changed for these devices. The settings for both have been set between 5kW and 150kW.
* Oops, forgot to remove these style class defs.
* new patchMargin variable added, horizontals fixed
* All sides now work, system is fully integarated
---------
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
* Implement client-side theming for OutputPanel scroll-down button.
* Use OutputPanel constant for button class name
* Remove unused string
* Enable scroll button for ChatBox
* Update RobustToolbox
* Update to merged RT version
* it works! kinda
* so it works now
* minor cleanup
* central button now is useful too
* more cleanup
* minor cleanup
* more cleanup
* refactor: migrated code from toolbox (as it was rejected as too specific)
* feat: moved border drawing for radial menu into RadialMenuTextureButton. Radial menu position setting into was moved to OverrideArrange to not being called on every frame
* refactor: major reworks!
* renamed DrawBagleSector to DrawAnnulusSector
* Remove strange indexing
* Regularize math
* refactor: re-orienting segment elements to be Y-mirrored
* refactor: extracted radial menu radius multiplier property, changed color pallet for radial menu button
* refactor: removed icon backgrounds on textures used in current radial menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.
* refactor: in RadialMenuTextureButtonWithSector all sector colors are converted to and from sRGB in property getter-setters
* refactor: renamed srgb to include Srgb suffix so devs gonna see that its srgb clearly
* fix: enabled any functional keys pressed when pushing radial menu buttons
* fix: radial menu sector now scales with UIScale
* fix: accept only one event when clicking on radial menu ContextualButton
* fix: now radial menu buttons accepts only click/alt-click, now clicks outside menu closes menu always
* feat: simple radial menu prototype for easier creation
* refactor: cleanup, restored emote filtering, button models now have class hierarchy
* refactor: remove usage of closure from 'outside code'
* refactor: remove non existing type from UiControlTest
* refactor: remove unused using
* refactor: revert ability to declare radial menu layers in xaml, scale 32px sprites using scale in radial menu
* refactor: whitespaces
* refactor: subscribe for dispose on existing radial menus
* feat: now simple radial menu button models can have custom color for each sector background (and hover background color). Also added OpenOverMouseScreenPosition inside SimpleRadialMenu
* fix: AI door menu now can be closed by verb if it gets unpowered
* overlay and its registration
* radial menu shader but it requires wierd offset
* remove unused file
* smol cleanup
* remove unused code
* neat internal subsctors in radial menu shaders
* refactor finalize visual style
* comments, simplify, extract variable and other minor refactors on radial-menu shader
* refactor: extract more data from radial menu with sector to radial container for shader drawing
* replaced DrawSeparators for RadialMenuTextureButtonWithSector with DrawBorder (no reason to make them separate), also now colors are properly applied
* refactor: simplify hiding border, extended xml-doc for simple radial menu settings
* refactor: remove duplication of radial menu shaders, use ValueList to collect ClearExistingChildrenRadialButtons buttons to remove
* refactor: remove linq
* fix: fix AI radial action serialization using invalid type
* refactor: fix duplicate ShowDeviceNotRespondingPopup for AI by properly checking if it can interact
* refactor: removed *if* blocks from shader, replaced with branchless logic
* refactor: whitespaces, changed list to array in simple radial button preparing methods
* fix: merge duplicated code
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>