encompass-cs-docs/content/concepts/message.md

26 lines
752 B
Markdown

---
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.
To define a message, declare a struct which implements the IMessage interface.
```cs
using Encompass;
public struct MotionMessage : IMessage {
public Vector2 Motion { get; }
}
```
Messages are temporary and Encompass destroys all its references to them at the end of the frame.
{{% notice tip %}}
Again, because structs are value types, and Encompass stores them in a particular way, we can create as many of them as we want without worrying about creating pressure on the garbage collector. Neato!
{{% /notice %}}