void advanceStageIfNeeded(FirstBossComponent cmp, BossStage stage) { if (cmp.age > stage.TimeLimit) { if (stages.Count > (cmp.stage + 1)) cmp.stage = cmp.stage + 1; else { cmp.age = stages[0].TimeLimit; cmp.stage = 2; } } }
public void Execute() { float deltaTime = _time.GetSingleEntity().time.deltaTime; Entity cameraEntity = _camera.GetSingleEntity(); float cameraVelocityY = cameraEntity.hasVelocity ? cameraEntity.velocity.vel.y : 0.0f; foreach (Entity e in _group.GetEntities()) { FirstBossComponent component = e.firstBoss; component.age += deltaTime; //float age = component.age; setVelocity(e.velocity, e.position, _player.GetSingleEntity().position); if (!tests) { if (!e.hasLaserSpawner) { //e.AddLaserSpawner(5.0f, 0.0f, 0.0f, new UnityEngine.Vector2(), CollisionTypes.Enemy, null); } else { LaserSpawnerComponent laser = e.laserSpawner; laser.angle += component.laserAngle * deltaTime; if (laser.angle < EPSILON) { e.RemoveLaserSpawner(); } } if (!initalize) { //e.AddCircleMissileRotatedSpawner(40, 8, 0, 10, 0.0f, 0.1f, Resource.MissileEnemy, 3.0f, CollisionTypes.Enemy); e.AddCircleMissileSpawner(20, 2.0f, 0.05f, Resource.MissileEnemy, 4.0f, CollisionTypes.Enemy); //e.AddMultipleMissileSpawner(5, 5, 0.1f, 0.1f, 5.0f, 5.0f, Resource.MissileEnemy, 0.1f, velocity.x, -velocity.y, CollisionTypes.Enemy); initalize = true; } } } }