Commit Graph

6467 Commits

Author SHA1 Message Date
Pieter-Jan Briers
b96d760043 Chat improvements. (#4283)
* 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.
2021-07-20 10:29:09 +02:00
Galactic Chimp
02242324ef Fixed 2 localisation instances (#4289) 2021-07-19 20:55:00 +00:00
Vera Aguilera Puerto
c8ba345cdc ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem. (#4285)
* ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem

* Adds API for adding/removing active tiles.

* Adds API for FixVacuum.

* Adds API for UpdateAdjacent.

* Adds API for IsTileAirBlocked.

* Re-organize hotspot code

* Adds API for IsTileSpace.

* RemoveGasCommand uses AtmosphereSystem

* AddGasCommand uses AtmosphereSystem.

* SetTemperatureCommand uses AtmosphereSystem.

* Adds API for IsSimulatedGrid.

* GasLeak uses AtmosphereSystem.

* Makes Spark method in GasLeak ALSO use AtmosphereSystem.

* GasPassiveVentSystem uses AtmosphereSystem.

* GasMinerSystem uses AtmosphereSystem.

* GasOutletInjectorSystem uses AtmosphereSystem.

* GasVentPumpSystem uses AtmosphereSystem.

* GasDualPortVentPumpSystem uses AtmosphereSystem.

* GasVolumePumpSystem uses AtmosphereSystem.

* GasAnalyzerComponent uses AtmosphereSystem.

* Add API for GetAdjacentTileMixtures.

* GasVentScrubberSystem uses AtmosphereSystem.

* AirtightComponent uses AtmosphereSystem.

* GasLeaks's TryFindRandomTile uses AtmosphereSystem.

* Adds API for GetAdjacentTiles.

* FirelockComponent's IsHoldingFire uses AtmosphereSystem.

* Adds API for GetAllTileMixtures.

* DeleteGasCommand uses AtmosphereSystem.

* FixGridAtmos uses AtmosphereSystem.

* FillGasCommand uses AtmosphereSystem.

* SetAtmosTemperatureCommand uses AtmosphereSystem.
2021-07-19 12:07:37 +02:00
Vera Aguilera Puerto
8410fc239c Fix handheld instruments not working 2021-07-18 14:59:40 +02:00
Eugene
0a93e602ca Add missing space (#4281) 2021-07-17 23:04:04 +02:00
Pieter-Jan Briers
97a3866a40 Use replicated CVars for max chat message length. 2021-07-17 14:35:28 +02:00
Visne
b7dc3c81ae Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Fiftyllama
eb7d65ad5b Disposal drop their contents if they're destroyed or unanchored. Fixes #4114 (#4269)
* Fixes #4114

Disposals now drop their contents if destroyed or if unwrenched

* Update DisposalUnitSystem.cs

* Update DisposalUnitSystem.cs
2021-07-15 20:22:29 -07:00
metalgearsloth
fc9a15b288 Eventbus event for ApcPowerReceiver powered 2021-07-16 12:41:01 +10:00
Swept
5f9ba812ca Reorganizes Resources/Constructible (#4252) 2021-07-15 18:30:50 +00:00
Vera Aguilera Puerto
45643c633d Adds dual-port vent pump. (#4270)
* Adds dual-port vent pump.

* stop being lazy and do the flag check manually

* disable vent pump behavior
2021-07-15 23:24:45 +10:00
metalgearsloth
e726e88f7a Remove PhysShapeGrid (#4264) 2021-07-14 18:48:07 +10:00
Vera Aguilera Puerto
65daba185e Change DoAfterEventArgs docs to be correct. 2021-07-13 08:03:52 +02:00
Galactic Chimp
f3ef50c1d9 emitsoundsystem tweak 2021-07-12 13:45:35 +02:00
Galactic Chimp
aff9d99dc7 #4219 pr tweak
(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)
2021-07-12 13:44:44 +02:00
Galactic Chimp
26f9a60858 #4219 pr tweaks 2021-07-12 13:39:54 +02:00
Acruid
59e5cc5e3c Remove Static Component NetIds (#4247)
* 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>
2021-07-12 10:32:10 +02:00
Vera Aguilera Puerto
d8e353742c Canister fixes and rework (#4266)
* Kills PipeNode ConnectToContainedEntities and EnvironmentalAir with fire.

* Reaction IGasMixtureHolder is nullable.

* Reworks canisters

* Adds PortablePipeNode and PortPipeNode, which connect to each other.
2021-07-12 10:00:50 +02:00
Vera Aguilera Puerto
077f158dda Add pipe coloring (#4261) 2021-07-12 09:59:45 +02:00
Vera Aguilera Puerto
6bbcf305bd Makes GasValveComponent ECS. 2021-07-12 09:47:59 +02:00
Galactic Chimp
ce3c59e0e6 replacing sound (collection) names with SoundSpecifier - part 1 2021-07-10 17:35:33 +02:00
Galactic Chimp
4500b66f28 #4219 upgraded EmitSoundSystem to use SoundSpecifier 2021-07-10 11:20:23 +02:00
Galactic Chimp
da41942daf Merge branch 'master' into #4219-emit-sound-system-add-single-sound-support 2021-07-10 10:21:40 +02:00
Galactic Chimp
1b8fb8df1d #4213 translation string fixes (#4217)
* #4213 some translation string fixes

* #4213 cargo localization string fixes

* #4213 more localization tweaks and fixes

* #4213 - fixed some translation string issues

* #4213 - fixed some translation string issues
2021-07-10 01:14:06 -07:00
Pieter-Jan Briers
b79457dde9 Docs/cleanup for node system. 2021-07-06 21:25:04 +02:00
Pieter-Jan Briers
cfe4a26d1f Fix AME node updating to fix exceptions.
And also make it run less poorly, I guess.
2021-07-06 20:56:55 +02:00
Pieter-Jan Briers
103bc19508 Pow3r: stage 1 (#4208)
Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-07-04 18:11:52 +02:00
Vera Aguilera Puerto
ef958185fb DoAfter can now raise events so you don't need to use async with it (#4253) 2021-07-04 21:32:24 +10:00
DmitriyRubetskoy
5469f8c8b2 Give Item spell (#4241)
* Cherry-picked summonspell

* Renamed the script for clarity

* Fixed Spell type error in yaml

* Fixed Sound issues and increased the cooldown

* Newline

* Major script change

* Fixed Namespace

* Validation fixed, TryGet replaced

* Typo again

* Allowed for proper localisation

* Typo fixed

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Adressed changes

* Review cleanup

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-07-01 21:26:44 +10:00
Vera Aguilera Puerto
4ce05a9b75 Work around transform anchoring in construction. 2021-06-29 21:23:00 +02:00
Vera Aguilera Puerto
bc7b315b18 Replace IResettingEntitySystem with RoundRestartCleanupEvent. (#4245)
* Replace IResettingEntitySystem with RoundRestartCleanupEvent.

* oops
2021-06-29 23:56:07 +10:00
Vera Aguilera Puerto
77ae49fd9c Sound Specifiers. (#4239)
* Adds SoundSpecifier and a type serializer.

* DiceComponent makes use of SoundSpecifier.

* When rider autorefactoring decices to add field:

* Remove SoundEmptySpecifier, use nullable everywhere
2021-06-28 16:20:57 +02:00
Vera Aguilera Puerto
9bedfe79be Fix being able to start pulling something while incapacitated. (#4240) 2021-06-28 22:17:37 +10:00
Vera Aguilera Puerto
6a4e0beacc Fix being able to play structure instruments while in crit/dead.
Fixes #4038
2021-06-28 13:45:23 +02:00
metalgearsloth
05e31c2cd3 Don't pushback when throwing while buckled (#4232)
* Don't pushback when throwing while buckled

* Address reviews

* Fix
2021-06-28 14:17:08 +10:00
Galactic Chimp
6cae00bb13 #4219 some small project tweaks 2021-06-27 21:55:18 +02:00
Galactic Chimp
4a2b9832ce #4219 single sounds in EmitSoundSystem should work now 2021-06-27 21:48:57 +02:00
Galactic Chimp
a0889a9151 #4219 revert of single sound removal in EmitSoundSystem 2021-06-27 21:30:28 +02:00
Galactic Chimp
c8e3775ea5 Revert "#3935 implemented suggestions from PR"
This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.
2021-06-27 21:27:59 +02:00
metalgearsloth
50cc526ebd Refactor standing to be ECS (#4142)
* 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
2021-06-27 19:02:46 +10:00
metalgearsloth
c25b103316 Gravity fixes (#4231)
git was being dumb so I just made a diff pr
2021-06-27 15:57:02 +10:00
Galactic Chimp
afb5f5c8eb #1462 extracted MapGrid's HasGravity property to separate Content com… (#4200)
* #1462 extracted MapGrid's HasGravity property to separate Content component

* #1462 - PR suggestions

* Merge to master

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-06-27 15:43:39 +10:00
Galactic Chimp
769daedaa9 #1607 deprecate IEntityQuery (#4204)
* #1607 partial progress

* #1607 partial progress

* #1607 almost done

* #1607 PR suggestions

* #1607 PR suggestions

* #1607 PR suggestions

* #1607 PR tweak

* #1607 PR tweak

* #1607 removed unused namespaces

* #1607 PR tweak

* Fix jank

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-06-27 13:40:03 +10:00
Vera Aguilera Puerto
4d89eda952 Use cached atmosphere system in pipenet update.
- Also unslows PJB's yeast
2021-06-26 11:56:23 +02:00
Vera Aguilera Puerto
8f1aed5412 Remove workaround for engine bug in disposals. 2021-06-25 14:46:47 +02:00
DrSmugleaf
716bee0746 Remove IClientSingularityInstance, move visual effects to SingularityDistortionComponent (#4194)
* Remove IClientSingularityInstance

* In and out 5 minute refactor

* Component states for singularity distortion

* Fix distortion states

* Address reviews
2021-06-24 12:48:11 +10:00
Vera Aguilera Puerto
34e457b854 Gas Tanks no longer use NodeContainer, Gas Canisters no longer use passive gates. 2021-06-23 12:02:28 +02:00
Vera Aguilera Puerto
263c9ef974 ECS Atmos Part 2: Moves a lot of Gas Mixture methods to AtmosphereSystem. (#4218) 2021-06-23 11:35:30 +02:00
Vera Aguilera Puerto
3f28a4d784 ECS Atmos Part 1: Move GridAtmosphere updating and processing to AtmosphereSystem.Processing (#4206) 2021-06-22 10:28:15 +02:00
collinlunn
f2816e8081 Moves Hands to shared, some prediction (#3829)
* 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>
2021-06-21 19:21:20 +10:00