static void SetParametersForDeath(ref EnemyEntityViewStruct enemyEntityViewStruct, ref EnemyAttackStruct enemyAttackStruct) { enemyEntityViewStruct.layerComponent.layer = GAME_LAYERS.NOT_SHOOTABLE_MASK; enemyEntityViewStruct.movementComponent.navMeshEnabled = false; enemyEntityViewStruct.movementComponent.setCapsuleAsTrigger = true; enemyAttackStruct.entityInRange = new EnemyCollisionData(); }
IEnumerator Sink(EnemyEntityViewStruct entity) { entity.animationComponent.playAnimation = "Dead"; DateTime afterTwoSec = DateTime.UtcNow.AddSeconds(2); while (DateTime.UtcNow < afterTwoSec) { entity.transformComponent.position = entity.positionComponent.position + -UnityEngine.Vector3.up * entity.sinkSpeedComponent.sinkAnimSpeed * _time.deltaTime; yield return(null); } uint index; PlayerTargetType enemyType = entitiesDB.QueryEntitiesAndIndex <EnemyEntityStruct>(entity.ID, out index)[index].enemyType; _entityFunctions.SwapEntityGroup <EnemyEntityDescriptor>(entity.ID, (int)ECSGroups.EnemiesToRecycleGroups + (int)enemyType); _enemyDeadSequencer.Next(this, EnemyDeathCondition.Death, entity.ID); }
static void SetParametersForDeath(ref EnemyEntityViewStruct enemyEntityViewStruct) { enemyEntityViewStruct.layerComponent.layer = GAME_LAYERS.NOT_SHOOTABLE_MASK; enemyEntityViewStruct.movementComponent.navMeshEnabled = false; enemyEntityViewStruct.movementComponent.setCapsuleAsTrigger = true; }