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 }); }
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(); }
public void EditExplosivesDataInDataBase(ExplosiveData explosiveData) { if (explosiveData.Name == null) { return; } _explosivesRepository.EditExplosivesData(explosiveData); }
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)); }
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); }
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(); } } }
public void AddExplosivesData(ExplosiveData explosiveData) { _dataBase.ExplosiveData.Add(explosiveData); _dataBase.SaveChanges(); }