This repository has been archived by the owner on Jan 18, 2022. It is now read-only.
/
ComponentUpdateToSend.cs
76 lines (63 loc) · 2.11 KB
/
ComponentUpdateToSend.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using Improbable.Worker.CInterop;
namespace Improbable.Gdk.Core
{
public struct ComponentUpdateToSend<T> where T : ISpatialComponentData
{
public T Update;
public EntityId EntityId;
public ComponentUpdateToSend(T update, EntityId entityId)
{
Update = update;
EntityId = entityId;
}
}
public struct ComponentEventToSend<T> where T : IEvent
{
public T Event;
public EntityId EntityId;
public ComponentEventToSend(T @event, EntityId entityId)
{
Event = @event;
EntityId = entityId;
}
}
public readonly struct ComponentUpdateReceived<T> : IReceivedEntityMessage where T : ISpatialComponentUpdate
{
public readonly T Update;
public readonly ulong UpdateId;
public readonly EntityId EntityId;
public ComponentUpdateReceived(T update, EntityId entityId, ulong updateId)
{
Update = update;
UpdateId = updateId;
EntityId = entityId;
}
EntityId IReceivedEntityMessage.EntityId => EntityId;
}
public readonly struct ComponentEventReceived<T> : IReceivedEntityMessage where T : IEvent
{
public readonly T Event;
public readonly ulong UpdateId;
public readonly EntityId EntityId;
public ComponentEventReceived(T @event, EntityId entityId, ulong updateId)
{
Event = @event;
UpdateId = updateId;
EntityId = entityId;
}
EntityId IReceivedEntityMessage.EntityId => EntityId;
}
public readonly struct AuthorityChangeReceived : IReceivedEntityMessage
{
public readonly Authority Authority;
public readonly EntityId EntityId;
public readonly uint AuthorityChangeId;
public AuthorityChangeReceived(Authority authority, EntityId entityId, uint authorityChangeId)
{
Authority = authority;
EntityId = entityId;
AuthorityChangeId = authorityChangeId;
}
EntityId IReceivedEntityMessage.EntityId => EntityId;
}
}