Exemplo n.º 1
0
        private static void SetComponents(int explosiveID, float3 spawnPos, ExplosiveData data, uint ownerID)
        {
            Entity entity;

            entity = EntityManager.CreateEntity(Archetype);

            #if UNITY_EDITOR
            if (debugGroupID > 65000)
            {
                debugGroupID = 0;
            }
            EntityManager.SetName(entity, data.explosiveName + " Explosive " + debugGroupID);
            #endif

            //Generic Components
            EntityManager.SetComponentData(entity, new Translation {
                Value = spawnPos
            });
            EntityManager.SetComponentData(entity, new OwnerID {
                Value = ownerID
            });
            EntityManager.SetComponentData(entity, new Explosive {
                ID = explosiveID
            });
        }
Exemplo n.º 2
0
        public void EditExplosivesData(ExplosiveData explosiveData)
        {
            var explosive = _dataBase.ExplosiveData.FirstOrDefault(data => data.Id == explosiveData.Id);

            _dataBase.Entry(explosive).CurrentValues.SetValues(explosiveData);
            _dataBase.ExplosiveData.Update(explosive);
            _dataBase.SaveChanges();
        }
Exemplo n.º 3
0
        public void EditExplosivesDataInDataBase(ExplosiveData explosiveData)
        {
            if (explosiveData.Name == null)
            {
                return;
            }

            _explosivesRepository.EditExplosivesData(explosiveData);
        }
Exemplo n.º 4
0
        public void AddExplosivesDataToDataBase(ExplosiveData explosiveData)
        {
            if (explosiveData.Name == null)
            {
                return;
            }

            _explosivesRepository.AddExplosivesData(explosiveData);
        }
 public void AddExplosive(Point3 point, float timeToExplosion)
 {
     if (!m_explosiveDataByPoint.ContainsKey(point))
     {
         ExplosiveData explosiveData = new ExplosiveData();
         explosiveData.Point           = point;
         explosiveData.TimeToExplosion = timeToExplosion;
         m_explosiveDataByPoint.Add(point, explosiveData);
     }
 }
        public IActionResult Edit([FromBody] ExplosiveData explosiveDataToEdit)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            _explosivesDataServices.EditExplosivesDataInDataBase(explosiveDataToEdit);

            return(Accepted(explosiveDataToEdit));
        }
        public IActionResult Add([FromBody] ExplosiveData explosiveDataToAdd)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            _explosivesDataServices.AddExplosivesDataToDataBase(explosiveDataToAdd);

            return(Accepted(explosiveDataToAdd));
        }
Exemplo n.º 8
0
        private static void CreateVisualComponents(Vector3 spawnPos, ExplosiveData data)
        {
            // TODO: Write Generic Pooling for VFX and eventually pure ECS when more stable
            #if UNITY_EDITOR
            if (data.particleEffect == null)
            {
                Debug.LogWarning($"{data.explosiveName}'s particle effect does not have a particle effect.", data);
                return;
            }
            #endif

            GameObject tmpGO = GameObject.Instantiate(data.particleEffect, spawnPos, Quaternion.identity);
        }
Exemplo n.º 9
0
        public static void OnExplosiveSystemEvent(ECSExplosiveData[] hitData)
        {
            ECSExplosiveData data;

            // for every explosion
            for (int i = 0; i < hitData.Length; i++)
            {
                data = hitData[i];
                Collider collider;

                // for every hit from the explosion
                for (int j = 0; j < data.Colliders.Length; j++)
                {
                    collider = data.Colliders[j];

                    ExplosiveData eData = WeaponParameters.Instance.GetExplosiveDataByID(hitData[i].ExplosiveID);

                    TryToApplyDamage(eData.damage, data.OwnerID, collider);
                    TryToApplyForce(eData.force, collider, ForceType.Impulse, data.Position);
                    CreateHitVisual();
                }
            }
        }
Exemplo n.º 10
0
        public void AddExplosivesData(ExplosiveData explosiveData)
        {
            _dataBase.ExplosiveData.Add(explosiveData);

            _dataBase.SaveChanges();
        }