mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-25 15:06:54 +01:00
c31b82e597
## About The Pull Request This PR adds usb functionality to advanced camera consoles. The advanced camera console component gets the last valid position viewed from the console, which is usually the current viewed position, unless you move the view into static. The advanced camera target intercept outputs the position you left/right click (except shift-clicking), and what you clicked on. This only works for atoms the camera can actually see, even if you somehow glitch your way into not seeing static on your client. Equipment action components on circuits attached to a camera console will add their actions to be used from the console. ## Why It's Good For The Game Expands the use cases for the advanced camera console, providing a means to extend their functionality, as well as a potentially powerful source of input data for circuit users able to acquire illegal tech (or get the board from a space ruin). ## Changelog 🆑 add: Advanced camera consoles now have usb ports. Connected circuits can get the position the camera is viewing, get the location of targeted entities, and provide the console with actions that the user can activate. /🆑 --------- Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
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 its arguments with a SendSignal() call. Now every component that want's to can also know about this happening.