ScriptingProtocol
Implementation of IPC communication protocol specified in Module.md.
Does not handle transmission or reception. Only creates responses and requests. Agnostic to Unciv types. Protocol spec should be generic enough to apply to all Kotlin objects. Uses automatic Kotlin/JVM object tokenization by InstanceTokenizer through TokenizingJson.
Constructors
Types
Enum class of valid items for the flag field in scripting packets.
Functions to generate requests to send to a script interpreter.
Functions to parse a response packet received after a request packet sent to a scripting interpreter.
Functions
Return a valid response packet for a request packet from a script interpreter.
Save an instance in the mutable list cache that prevents generated responses from being garbage-collected before the other end of the protocol can use them.
Properties
Kotlin/JVM object that represents the hierarchical root of actions that require recursively resolving a property path through reflection. In practice, this should never be set to anything other than an instance of ScriptingScope. But that's an API-level implementation and use case detail, so the protocol is typed for and should never assume anything more specific than Any.