Exemplo n.º 1
0
        //[ReadOnly] public EntityTypeHandle _entityHandle;
        public void Execute(ArchetypeChunk chunk, int chunkIndex, int firstEntityIndex)
        {
            NativeArray <MoveStats>        _moveStatsArray    = chunk.GetNativeArray(_moveStatsHandle);
            NativeArray <DamageCount>      _damageCountArray  = chunk.GetNativeArray(_damageCountHandle);
            NativeArray <SouffleDeFeuTemp> _souffleTempArrayo = _souffleTempArray;

            for (int i = 0; i < chunk.Count; i++)
            {
                for (int j = 0; j < _souffleTempArrayo.Length; j++)
                {
                    float _dist = Vector3.Distance(_moveStatsArray[i]._position, _souffleTempArrayo[j]._position);
                    if (_dist < _souffleTempArrayo[j]._radius)
                    {
                        DamageCount _damageCountTemp = _damageCountArray[j];
                        _damageCountTemp._damageFireCount += _souffleTempArrayo[j]._damage;
                        _damageCountArray[j] = _damageCountTemp;
                    }
                }
            }
        }
Exemplo n.º 2
0
        void IJobChunk.Execute(ArchetypeChunk chunk, int chunkIndex, int firstEntityIndex)
        {
            NativeArray <DamageCount> _damageCount = chunk.GetNativeArray(_damageCountHandle);
            NativeArray <HealthPoint> _healthPoint = chunk.GetNativeArray(_healthPointHandle);
            NativeArray <Entity>      _entity      = chunk.GetNativeArray(_EntityHandle);

            for (int i = 0; i < _damageCount.Length; i++)
            {
                _healthPoint[i] = new HealthPoint()
                {
                    _healthPoint = _healthPoint[i]._healthPoint + _damageCount[i]._heal - _damageCount[i]._damageExplosionCount - _damageCount[i]._damageFireCount
                };

                _damageCount[i] = new DamageCount();

                if (_healthPoint[i]._healthPoint <= 0)
                {
                    _ecb.DestroyEntity(chunkIndex, _entity[i]);
                }
            }
        }