예제 #1
0
        public void PerformEvent(EntityManager mgr, Entity entity, uint eventTypeID,
                                 Coherence.Replication.Protocol.Definition.IInBitStream bitStream)
        {
            switch (eventTypeID)
            {
            case TypeIds.InternalTransferAction:
            {
                // Field 'TransferAction'
                var eventData = new TransferAction();
                messageDeserializers.TransferAction(bitStream, ref eventData);

                if (!mgr.HasComponent <Simulated>(entity))
                {
                    // Only add events on Entities we don't own
                    // UnityEngine.Debug.Log($"Adding an event on {entity}: {eventData}");
                    mgr.AddComponentData(entity, eventData);
                }
                break;
            }
            }
        }
예제 #2
0
        public void PerformEvent(EntityManager mgr, Entity entity, uint eventTypeID,
                                 Coherence.Replication.Protocol.Definition.IInBitStream bitStream)
        {
            switch (eventTypeID)
            {
            case TypeIds.InternalTransferAction:
            {
                var eventData = new TransferAction();
                messageDeserializers.TransferAction(bitStream, ref eventData);

                // Only add events on Entities we don't own
                if (!mgr.HasComponent <Simulated>(entity))
                {
                    if (!mgr.HasComponent <TransferAction>(entity))
                    {
                        mgr.AddBuffer <TransferAction>(entity);
                    }
                    var buffer = mgr.GetBuffer <TransferAction>(entity);
                    buffer.Add(eventData);
                }
                break;
            }
            }
        }