* Added mapped storage for things like crayon belts and tools
* Attempt to get StorageFillEvent to work
* Managed to get it working with Visualizer logi
* Improved PR and did some light refactoring of components
* Update Content.Client/Storage/Visualizers/MappedItemVisualizer.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Removed event, went with stateful ApperanceData
* Removed ids in favor of whitelist
* Refactor YAML, Moved functionality to Shared and renamed it.
* Changed so insert/remove always send full state.
* Move logic to component
* Fix some issues on MappedVisualizer and few nitpicks
- Fix mapped visualizer only doing init or update layers
- Fixed naming of systems
- Fixed sort of crayons
* Forgot to apply Vera's suggestion
* Fix the data to be more strict and to avoid unnecessary clearing
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Added doc comments to server side voting API.
There is now a 4 minute delay between creating votes of the same type.
Shuffled some code around.
Made a StandardVoteType enum instead of string IDs.
* Broadphase refactor (content)
* Shuttle jank
* Fixes
* Testing jank
* Features and things
* Balance stuffsies
* AHHHHHHHHHHHHHHHH
* Mass and stuff working
* Fix drops
* Another balance pass
* Balance AGEN
* Add in stuff for rotating shuttles for debugging
* Nothing to see here
* Testbed stuffsies
* Fix some tests
* Fixen test
* Try fixing map
* Shuttle movement balance pass
* lasaggne
* Basic Helmsman console working
* Slight docking cleanup
* Helmsman requires power
* Basic shuttle test
* Stuff
* Fix computations
* Add shuttle console to saltern
* Rename helmsman to shuttleconsole
* Final stretch
* More tweaks
* Fix piloting prediction for now.
* UI is an abbreviation, in XAML.
* Chat improvements.
Changing the "selected" channel on the chat box is now only done via the tab cycle or clicking the button.
Prefix chars like [ will temporarily replace the active chat channel. This is based 100% on message box contents so there's no input eating garbage or anything.
Pressing specific channel focusing keys inserts the correct prefix character, potentially replacing an existing one. Existing chat contents are left in place just fine and selected so you can easily delete them (but are not forced to).
Channel focusing keys now match the QWERTY key codes.
Deadchat works now.
Console can no longer be selected as a chat channel, but you can still use it with the / prefix.
Refactored the connection between chat manager and chat box so that it's event based, reducing tons of spaghetti everywhere.
Main chat box control uses XAML now.
General cleanup.
Added focus hotkeys for deadchat/console. Also added prefix for deadchat.
Local chat is mapped to deadchat when a ghost.
Probably more stuff I can't think of right now.
* Add preferred channel system to chat box to automatically select local.
I can't actually test this works because the non-lobby chat box code is complete disastrous spaghetti and i need to refactor it.
* Move chatbox resizing and all that to a subclass.
Refine preferred channel & deadchat mapping code further.
* Don't do prefixes for channels you don't have access to.
* Change format on channel select popup.
* Clean up code with console handling somewhat.
* Remove the unnecessary NetID property from ComponentState.
* Remove Component.NetworkSynchronizeExistence.
* Removed Component.NetID.
* Adds component netID automatic generation.
* Removed NetIdAttribute from serverside components with no corresponding clientside registration.
* Completely remove static NetIds.
* Renamed NetIDAttribute to NetworkedComponentAttribute.
* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.
* Component changes when rebasing that I am too lazy to rewrite into the branch.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Refactor standing to be ECS
E C S B A B Y
* DONE
* FIX IT FIX IT FIX IT
* IsDown event
* Change to methods
* Fixes
* Address some reviews
* Last of the Mohicans
* Final fixes
* Fix tests
* Added fireaxe cabinets
* Now inserts and renamed ItemCabinetVisuals file
* Added netsync
* Cut out layers for future ItemCabinetVisualizer work and reorganized some RSIs
* Update Resources/Textures/Constructible/Storage/Cabinets/extinguisher_cabinet.rsi/meta.json
* Update Resources/Textures/Constructible/Storage/Cabinets/extinguisher_cabinet.rsi/meta.json
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Remove IClientSingularityInstance
* In and out 5 minute refactor
* Component states for singularity distortion
* Fix distortion states
* Address reviews
* HandsGuiState
* Gui state setting methods
* code cleanup
* Removes TryGetHands
* ClientHand
* Gui Hands
* Refactor WIP 1
* Hand index
* refactors 2
* wip 3
* wip 4
* wiip 4
* wip 5
* wip 6
* wip 7
* wip 8
* wip 9
* wip 11
* Hand ui mostly looks fine
* hands gui cleanup 1
* cleanup 2
* wip 13
* hand enabled
* stuff
* Hands gui gap fix
* onpressed test
* hand gui buttons events work
* bag activation works
* fix item use
* todo comment
* hands activate fix
* Moves Client Hands back to using strings to identify active hand
* fixes action hand highlighting
* diff fix
* serverhand
* SharedHand
* SharedHand, IReadOnlyHand
* Client Hands only stores SharedHand
* cleanup server hands
* server hand container shutdown
* misc renames, refactors of serverhand
* stuff 1
* stuff 3
* server hand refactor 1
* Undo API changes to remove massive diff
* More API name fixes
* server hands cleanup 2
* cleanup 3
* dropping cleanup
* Cleanup 4
* MoveItemFromHand
* Stuff
* region sorting
* Hand Putter methods cleanup
* stuff 2
* Merges all of serverhand and clienthand into sharedhand
* Other hands systems, hack to make inhands update (gui state set every frame, visualzier updated every frame)
* GetFinalDropCoordinates cleanup
* SwapHands cleanup
* Moves server hands code to shared hands
* Fixed hand selected and deselected
* Naming fixes
* Server hands system cleanup
* Hands privacy fixes
* Client hand updates when containers are modified
* HeldItemVisualizer
* Fixes hand gui item status panel
* method name fix
* Swap hands prediction
* Dropping prediction
* Fixes pickup entity animation
* Fixes HeldItemsVisualizer
* moves item pickup to shared
* PR cleanup
* fixes hand enabling/disabling
* build fix
* Conflict fixes
* Fixes pickup animation
* Uses component directed message subscriptions
* event unsubscriptions in hand system
* unsubscribe fix
* CanInsertEntityIntoHand checks if hand is enabled
* Moving items from one hand to another checks if the hands can pick up and drop
* Fixes stop pulling not re-enabling hand
* Fixes pickup animation for entities containers on the floor
* Fixes using held items
* Fixes multiple hands guis appearing
* test fix
* removes obsolete system sunsubscribes
* Checks IsFirstTimePredicted before playing drop animation
* fixes hand item deleted crash
* Uses Get to get other system
* Replaces AppearanceComponent with SharedAppearanceComponent
* Replaces EnsureComponent with TryGetComponent
* Improves event class names
* Moves property up to top of class
* Moves code for determining the hand visualizer rsi state into the visualizer instead of being determined on hand component
* Eventbus todo comment
* Yaml fix for changed visualizer name
* Makes HandsVisuals a byte
* Removes state from HandsVisualizer
* Fixes hand using interaction method name
* Namespace changes fixes
* Fix for changed hand interaction method
* missing }
* conflict build fix
* Moves cleint HandsSystem to correct folder
* Moved namespace fix for interaction test
* Moves Handsvisualizer ot correct folder
* Moves SharedHandsSystem to correct folder
* Fixes errors from moving namespace of hand systems
* Fixes PDA component changes
* Fixes ActionsComponent diff
* Fixes inventory component diff
* fixes null ref
* Replaces obsolete Loc.GetString usage with fluent translations
* Fluent for hands disarming
* SwapHands and Drop user input specify to the server which hand
* Pickup animation WorldPosiiton todo
* Cleans up hands gui subscription handling
* Fixes change in ActionBlockerSystem access
* Namespace references fixes
* HandsComponent PlayerAttached/Detached messages are handled through eventbus
* Fixes GasCanisterSystem drop method usage
* Fix gameticker equipping method at new location
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* GameTicker turned into an EntitySystem
* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events
* Change event names to be more consistent with the rest.
* YAML linter uses the dummy gameticker CVar override.
* Fix game ticker initialization order
* Dummy ticker won't spawn players.
* Fix character creation test
* Converted all SnapGridPositionChangedEvent subscriptions to AnchorStateChangedEvent.
* Fixes power tests with new anchored requirements.
* Moved AnchorableComponent into construction.
AnchorableComponent now uses Transform.Anchored.
* Fixed bug with nodes, power works again.
* Adds lifetime stages to Component.
* Update Engine to v0.4.70.
* Initial
* Cleanup a bunch of things
* some changes dunno
* RequireAnchored
* a
* stuff
* more work
* Lots of progress
* delete pipe visualizer
* a
* b
* pipenet and pipenode cleanup
* Fixes
* Adds GasValve
* Adds GasMiner
* Fix stuff, maybe?
* More fixes
* Ignored components on the client
* Adds thermomachine behavior, change a bunch of stuff
* Remove Anchored
* some work, but it's shitcode
* significantly more ECS
* ECS AtmosDevices
* Cleanup
* fix appearance
* when the pipe direction is sus
* Gas tanks and canisters
* pipe anchoring and stuff
* coding is my passion
* Unsafe pipes take longer to unanchor
* turns out we're no longer using eris canisters
* Gas canister inserted tank appearance, improvements
* Work on a bunch of appearances
* Scrubber appearance
* Reorganize AtmosphereSystem.Piping into a bunch of different systems
* Appearance for vent/scrubber/pump turns off when leaving atmosphere
* ThermoMachine appearance
* Cleanup gas tanks
* Remove passive gate unused imports
* remove old canister UI functionality
* PipeNode environment air, make everything use AssumeAir instead of merging manually
* a
* Reorganize atmos to follow new structure
* ?????
* Canister UI, restructure client
* Restructure shared
* Fix build tho
* listen, at least the canister UI works entirely...
* fix build : )
* Atmos device prototypes have names and descriptions
* gas canister ui slider doesn't jitter
* trinary prototypes
* sprite for miners
* ignore components
* fix YAML
* Fix port system doing useless thing
* Fix build
* fix thinking moment
* fix build again because
* canister direction
* pipenode is a word
* GasTank Air will throw on invalid states
* fix build....
* Unhardcode volume pump thresholds
* Volume pump and filter take time into account
* Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event
* Gas tank node volume is set by initial mixtuer
* I love node container
* #3814 - dropping an item, which adds an action to the actions bar, will no longer leave weird ui glitch in actions bar
* #3814 - small reformat + minor style tweaks
* #3814 - bit better working ActionMenu locking + added missing toolips for ActionMenu lock and OpenAbilities button
* #3814 - tooltip text typo fix
* #3814 - incorporated suggestions
* #3814 localization tweaks