2019-05-22 20:56:04 +00:00
|
|
|
---
|
|
|
|
title: "Message"
|
|
|
|
date: 2019-05-22T13:10:43-07:00
|
|
|
|
weight: 7
|
|
|
|
---
|
|
|
|
|
|
|
|
Similar to Components, Messages are collections of data.
|
|
|
|
|
|
|
|
Messages are used to transmit data between Engines so they can manipulate the game state accordingly.
|
|
|
|
|
2019-12-01 21:43:31 +00:00
|
|
|
To define a message, declare a struct which implements the IMessage interface.
|
2019-05-22 20:56:04 +00:00
|
|
|
|
2019-12-01 21:43:31 +00:00
|
|
|
```cs
|
|
|
|
using Encompass;
|
2019-05-22 20:56:04 +00:00
|
|
|
|
2019-12-01 21:43:31 +00:00
|
|
|
public struct MotionMessage : IMessage {
|
|
|
|
public Vector2 motion;
|
2019-05-22 20:56:04 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
Messages are temporary and destroyed at the end of the frame.
|
|
|
|
|
|
|
|
{{% notice notice %}}
|
2019-12-01 21:43:31 +00:00
|
|
|
Because structs are value types, we can create as many of them as we want without worrying about creating pressure on the garbage collector. Neato!
|
2019-05-22 20:56:04 +00:00
|
|
|
{{% /notice %}}
|