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();
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 static void SetParametersForDeath(ref EnemyEntityViewStruct enemyEntityViewStruct)
 {
     enemyEntityViewStruct.layerComponent.layer                  = GAME_LAYERS.NOT_SHOOTABLE_MASK;
     enemyEntityViewStruct.movementComponent.navMeshEnabled      = false;
     enemyEntityViewStruct.movementComponent.setCapsuleAsTrigger = true;
 }