* 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
* Deprecate IActionBlocker in favour of cancellable events
* Bring back old speech/emoting component restrictions
* Rename action blocker listener methods
* Use Entity System public methods instead of extension methods
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
* Make ghost component ECS
* Remove players and locations properties from ghost component
* Address reviews
* One more doc
* Fix client ghost component state method error
* Refactor/fix client-side of solar control computer (introduce ComputerBoundUserInterface & fix bugs)
* Refactor server side of solar control computer (introduce BaseComputerUserInterfaceComponent)
* If you can't interact, then messages to computers are blocked.
* Add 'not powered' messages, migrate activation logic partially to an EntitySystem
* Move solar control console to a XAML UI
* Remove useless comment on UserInterfaceKey
* BaseComputerUserInterfaceComponent: Remove EnsureComponent<PowerReceiver>, it's not necessary
* Fix solar panel occlusion check direction
* Solar Control Console refactors/etc. : Handle namespace renames
* i probably shouldnt have done this in one commit
* map nonsense
* fix example code
* unnecessary
* test
* reviews
* little fix for open datafield
* add soul
* Cleans up disposal unit yaml and fixes inability to throw things in them.
* Comments out mailing units because they are beyond broken and need a refactor.
* Makes Disposal UI look better
* Localized the disposal unit
* Removes title line
* Removes changes to VendingMachineMenu, mistakenly committed.
* Applies code reviews
* Now uses BaseMachinePowered
* Hopefully make singularity shader warping resolution-invariant
This may or may not fix intensity issues
* Fix singularity 'zero velocity' check
It got stuck in a corner. Twice. I really thought I'd fixed that.
* Make it easier to move around various power stuff by shrinking their AABBs a little and making singulo generator a circle
* Changes to some machine prototypes to reduce duplication of collision changes (#1)
* Changes to some machine prototypes to reduce duplication of collision changes
* BaseMachine.BaseMachineUnpowered -> BaseMachine.BaseMachinePowered
* Fix merge conflicts with #4078
Check if the requested cargo order amount exceeds the maximum capacity
Check if the maximum order capacity would be exceeded given current capcity and order amount when approved
Cap maximum cargo request amount on client-side
Play an error sound if a cargo order could not be added or approved
* Add back error sound
* Cargo orders over the maximum amount do not close the order UI
Handled in an ECS way by PreventCollideEvent.
The disposals one doesn't work anyway and would've required a larger refactor of disposals to fix so out of scope.
* Add GNU Octave script for tuning singularity engine. startsingularityengine is now properly tuned & sets up radiation collectors. FTLize RadiationCollectorComponent.
* Fix bugs with radiation collectors producing infinite power.
* Ensure singularities don't instantly annihilate other singularities (causing new singularities to instantly dissolve)
Technically found by a "bug" where a singularity generator would make multiple singularities, but this renders that bug harmless.
* Tune singularity shield emitters to hopefully randomly fail less, and add an Octave script for looking into that
* Fix singularity shader
* Map in an unfinished PA into Saltern
* Correct PA particles being counted twice by singularity calculations, add singulo food component
* Hopefully stop "level 1 singulo stuck in a corner" issues by freezing it when it goes to level 1 from any other level
* Apply suggestions on 'jazz' PR
* Make barstools, PA components, and radiation collectors rotatable.
Making barstools rotatable is so that people can spin on the barstool. (RP moment.)
The other two are more "functional" changes for assembling a PA.
* Allow rotating a rotate-while-anchored object if you're buckled to it.
Barstool spinny
* Fix bug with rotation of an object that someone is buckled to
* BuckleSystem: Efficiency improvements with directed events
* Don't need to unsubscribe anymore from events, so in BuckleSystem, just don't
This (hopefully) fixes power stuff disappearing by making IconSmoothComponent more failure-tolerant of grids not being available.
It might still leave issues in, though.