mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-15 12:11:45 +00:00
## About The Pull Request Prettier (an auto formatter) is set to only run within the tgui folder currently. This removes that limitation, allowing it to automatically format all supported files in the repo (.js, .html, .yml [etc](https://prettier.io/docs/)) I made a few exceptions for bundled and generated files ## Why It's Good For The Game I'm of the opinion that code should look uniform and am lazy enough to want CTRL-S to format files without having to think beyond that ## Changelog
55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# Template file for your new component
|
|
|
|
See \_component.dm for detailed explanations
|
|
|
|
```dm
|
|
/datum/component/mycomponent
|
|
//can_transfer = TRUE // Must have PostTransfer
|
|
//dupe_mode = COMPONENT_DUPE_ALLOWED // code/__DEFINES/dcs/flags.dm
|
|
var/myvar
|
|
|
|
/datum/component/mycomponent/Initialize(myargone, myargtwo)
|
|
if(myargone)
|
|
myvar = myargone
|
|
if(myargtwo)
|
|
send_to_playing_players(myargtwo)
|
|
|
|
/datum/component/mycomponent/RegisterWithParent()
|
|
RegisterSignal(parent, COMSIG_NOT_REAL, PROC_REF(signalproc)) // RegisterSignal can take a signal name by itself,
|
|
RegisterSignal(parent, list(COMSIG_NOT_REAL_EITHER, COMSIG_ALMOST_REAL), PROC_REF(otherproc)) // or a list of them to assign to the same proc
|
|
|
|
/datum/component/mycomponent/UnregisterFromParent()
|
|
UnregisterSignal(parent, COMSIG_NOT_REAL) // UnregisterSignal has similar behavior
|
|
UnregisterSignal(parent, list( // But you can just include all registered signals in one call
|
|
COMSIG_NOT_REAL,
|
|
COMSIG_NOT_REAL_EITHER,
|
|
COMSIG_ALMOST_REAL,
|
|
))
|
|
|
|
/datum/component/mycomponent/proc/signalproc(datum/source)
|
|
SIGNAL_HANDLER
|
|
send_to_playing_players("[source] signaled [src]!")
|
|
|
|
/*
|
|
/datum/component/mycomponent/InheritComponent(datum/component/mycomponent/old, i_am_original, list/arguments)
|
|
myvar = old.myvar
|
|
|
|
if(i_am_original)
|
|
send_to_playing_players("No parent should have to bury their child")
|
|
*/
|
|
|
|
/*
|
|
/datum/component/mycomponent/PreTransfer(datum/new_parent)
|
|
send_to_playing_players("Goodbye [new_parent], I'm getting adopted")
|
|
|
|
/datum/component/mycomponent/PostTransfer(datum/new_parent)
|
|
send_to_playing_players("Hello my new parent, [parent]! It's nice to meet you!")
|
|
*/
|
|
|
|
/*
|
|
/datum/component/mycomponent/CheckDupeComponent(datum/mycomponent/new, myargone, myargtwo)
|
|
if(myargone == myvar)
|
|
return TRUE
|
|
*/
|
|
```
|