Information on this page should be considered as an educational resource, and not necessarily required for basic modding.
As described on the Modding Homepage, PlateUp! uses both Unity Entity Component System (ECS) as well as the more traditional MonoBehavior/GameObject framework for various aspects of the game. Namely, ECS is used for the backend and the GameObject-based framework is used for displaying objects to the player. A network of IViewRouter
objects consolidate, amplify, transport and distribute data between the ECS backend and GameObject-based frontend. Below is a diagram depicting a high-level overview of the network between the frameworks used in PlateUp!:
Each router has a dedicated purpose which is described briefly here.
Router Name | Description of Purpose |
---|---|
SplitRouter | Amplification: Sending the same data to multiple destinations. |
LocalViewRouter | View management, creation and destruction. Sends view updates to appropriate linked view. |
NetworkRouter | Rollup, serialization and deserialization of packets. |
PerformCommandRouter | Send received data to the the correct ECS systems based on response data type (And CommandType for control commands) |