Anyone that has gotten quite deep into mapping in Hammer probably knows about the
Entity IO stuff. It's a system that lets you hook up outputs on entites to inputs on other entities.
attribute 'contenteditable' not allowedattribute 'blocktype' not allowed
For example, you can trigger an output on a button called "OnPressed" to an input in a light called "Toggle", and the button will turn the light on and off.
This month I re-implemented it in C#. To create an input on your entity you just mark it with an InputAttribute.
attribute 'contenteditable' not allowedattribute 'blocktype' not allowedattribute 'data-image-style' not allowed
And to fire outputs you just call FireOutput
attribute 'contenteditable' not allowedattribute 'blocktype' not allowedattribute 'data-image-style' not allowed
There's some finessing left to do here, but it works exactly how you'd expect.