Files
kiwistation/code/datums/components
ArcaneMusic 94f27c7b25 [READY]Arconomy: Sales Taggers, split profits on barcoded, sold items! (#49111)
* Startwork

* "Arcane: Everything works up until the export datum bullshit"

* I got up to "Split Profit" in "sell object"

* This is when I switched over to components and it STILL doesn't work

* alright stopwork for the 'night'

* So this is the version that crashes

* One step further in my descent to madness.

* Alright, this should be working (Minus maybe profit_split)

* Alright splitting up custom sales splits is broken right now.

* Profit split works now.

* Alright what the hell is going on here.

* Revert "Alright what the hell is going on here."

This reverts commit 6cb3b6eb56ea45ede3496bbe219ca18302c806e2.

* Oh wait, I can do commit messages through VSC?

* Adds a quick little box with all the shipping supplies you'll ever want, unwrapping signal

* Added shipping box to all maps and the service/cargo lathes.

* Fuck you mapmerge hook you ain't shit

* Alright, yet another take of making it get rid of the pricetag

* [3:43 PM] oranges: anturk is smart (This is true)

* Tested, cleaned up component procs,  and limits signals sent a bit.

* Whoops

* Other comments from Ninja over discord

* Left in a comment line.

* Fixes the issue with ind. barcodes, adds examine.

* Well thank GOD the children wern't there to see it

* Adds a do_after to prevent accidents.

* Fixes merge conflicts

* Fixes merge conflict. Twice in one day.

* Fixes merge conflict.

* one tiny bit of documentation

* Travis play nice.
2020-02-25 20:42:01 +08:00
..
2020-02-18 08:25:02 +01:00
2020-02-17 23:09:09 -05:00
2020-02-17 15:03:16 +01:00
2020-02-17 23:09:09 -05:00
2019-09-22 03:03:45 -07:00
2020-02-17 15:03:16 +01:00
2020-02-17 23:09:09 -05:00
2019-06-19 22:07:57 +02:00
2019-10-09 01:50:16 -07:00
2020-02-24 01:09:36 -05:00
2020-02-17 15:03:16 +01:00
2020-02-17 23:09:09 -05:00
2019-06-19 22:07:57 +02:00
2020-02-17 15:03:16 +01:00
2020-02-17 15:03:16 +01:00
2019-05-24 21:47:28 +03:00
2020-02-12 19:01:04 -05:00
2020-02-17 23:09:09 -05:00
2020-02-17 15:03:16 +01:00
2020-01-25 15:53:09 -08:00
2020-02-17 15:03:16 +01:00
2020-02-17 15:03:16 +01:00
2019-08-21 11:50:38 +12:00
2019-10-05 13:40:40 -04:00
2019-10-13 16:46:25 +13:00
2019-10-13 14:36:43 +03:00
2020-02-17 15:03:16 +01:00
2020-02-17 15:03:16 +01:00
2020-02-17 23:09:09 -05: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