Files
Bubberstation/code/datums/components
SkyratBot 05565c1b9c [MIRROR] Various Paper bug fixes (#302)
* Various Paper bug fixes (#52470)

* Ugh too tired fix latter

* Ok think its fixed, still need to make the stamp working

* Major fixes done, but still the ui dosn't pop up once you examine the door

* Ok you can read doors now, that was annoying.

Ok we done

* Update paper.dm

oh fix

* I have DONE it! Alright

* Miner fixes on order

* Update tgui.bundle.js

* Update code/modules/paperwork/paper.dm

Sure

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/paperwork/paper.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Alright some fixes

* Update tgstation.dme

* Revert "Update tgstation.dme"

This reverts commit 3eaa48d9fcfa2645663420165c39643c3ae5d939.

* Update tgui.bundle.js

* Update code/datums/components/honkspam.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/datums/components/honkspam.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/paperwork/paper.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/paperwork/paper.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Bahhh...me..so..tired

* pointless uistate gooone

* Update tgui.bundle.js

Co-authored-by: Rohesie <rohesie@gmail.com>

* Various Paper bug fixes

Co-authored-by: WarlockD <warlockd@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-12 11:29:35 +01:00
..
2020-07-29 08:32:30 -04:00
2020-08-11 04:08:31 +01:00
2020-07-29 08:32:30 -04:00
2020-07-29 08:32:30 -04:00
2020-07-29 08:32:30 -04:00
2020-07-29 08:32:30 -04:00

Datum Component System (DCS)

Concept

Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.

See this thread for an introduction to the system as a whole.

See/Define signals and their arguments in __DEFINES\components.dm