Example #1
0
            public void Execute(ArchetypeChunk chunk, int chunkIndex, int firstEntityIndex)
            {
                var chunkEntity    = chunk.GetNativeArray(EntityType);
                var chunkHistories = chunk.GetBufferAccessor(DamageHistoryType);

                for (int index = 0; index < chunkEntity.Length; index++)
                {
                    var entity  = chunkEntity[index];
                    var history = chunkHistories[index];

                    for (var i = 0; i < DamageEvents.Length; i++)
                    {
                        if (entity.Equals(DamageEvents[i].Receiver))
                        {
                            var de = DamageEvents[i];

                            var dh = new DamageHistory
                            {
                                TimeOccured     = Time,
                                TookDamage      = true,
                                Damage          = de.Amount,
                                Instigator      = de.Sender,
                                LastDamageEvent = de
                            };

                            history.Add(dh);
                        }
                    }
                }
            }