public override void ViewRender() { base.ViewRender(); TimedActionComponent taskComponent = ScheduleUtils.GetTask(Q, TaskType); if (taskComponent == null) { HideProgressBar(); return; } RenderProgressBar(true); ProgressBarDescription.text = GetDescriptionByTask(taskComponent.CompanyTask); // set value float progress = ScheduleUtils.GetTaskCompletionPercentage(Q, taskComponent); ProgressBar.SetValue(progress); if (Slider != null) { Slider.value = (int)progress; } }
private void CreateBossOne(int enemyBulletDelay, int scale = 1) { var xPosition = GameHelper.GetRelativeScaleX(0.5f); var enemy = new GameObject("Boss", new Vector2(xPosition, 0)) { Scale = scale }; var shipTexture = SpaceGraphics.BossAAsset.First(); var enemySprite = new SpriteComponent(shipTexture); var enemyMovement = new MovementComponent(0.1f, FaceDirection.Down, new Vector2(0, 1)); var enemyBullet = new BulletComponent(TopDown.EnemyBulletName, SpaceGraphics.BulletAsset[0], enemyMovement); var enemyBoundary = new BoundaryComponent(SpaceGraphics.BoundaryAsset.First(), shipTexture.Width, shipTexture.Height); var enemyTimed = new TimedActionComponent(ObjectEvent.Fire, enemyBulletDelay); var enemyOutOfBounds = new OutOfBoundsComponent(ObjectEvent.RemoveEntity); var healthCounterComponent = new CounterIncrementComponent(ObjectEvent.CollisionEnter, ObjectEvent.HealthRemoved, ObjectEvent.HealthEmpty, ObjectEvent.HealthReset, 5, 0); var healthBarComponent = new SpriteRepeaterComponent(SpaceGraphics.HealthBarAsset[1], new Vector2(0, 25), false, ObjectEvent.HealthRemoved, healthCounterComponent); var deathAction = new ObjectEventComponent(ObjectEvent.HealthEmpty, BossDeath); enemy.AddComponent(enemySprite); enemy.AddComponent(enemyMovement); enemy.AddComponent(enemyBullet); enemy.AddComponent(enemyBoundary); enemy.AddComponent(enemyOutOfBounds); enemy.AddComponent(enemyTimed); enemy.AddComponent(healthCounterComponent); enemy.AddComponent(healthBarComponent); enemy.AddComponent(deathAction); ForegroundLayer.AddGameObject(enemy); }
public void Update(GameTime gameTime) { var enemyCount = _gameLayer.GameObjects.Count(gameObject => gameObject.GameType == _enemyName); _elapsedTimeMilliseconds += gameTime.ElapsedGameTime.TotalMilliseconds; if (_elapsedTimeMilliseconds > _spawnDelayMilliseconds && enemyCount < _currentMaximumEnemies && enemyCount < _totalMaximumEnemies) { _elapsedTimeMilliseconds = 0; var xLocation = _random.Next(0, GameConstants.ScreenBoundary.Right - _shipTexture.Width); var gameObject = new GameObject(_enemyName, new Vector2(xLocation, 0)); var sprite = new SpriteComponent(_shipTexture); var movement = new MovementComponent(1, FaceDirection.Down, new Vector2(0, _speed)); gameObject.AddComponent(sprite); gameObject.AddComponent(movement); var bullet = new BulletComponent(_bulletName, SpaceGraphics.BulletAsset[0], movement, ignoreCollisionTypes: _enemyName); var timedAction = new TimedActionComponent(ObjectEvent.Fire, _bulletDelayMilliseconds); gameObject.AddComponent(bullet); gameObject.AddComponent(timedAction); var boundary = new BoundaryComponent(SpaceGraphics.BoundaryAsset.First(), _shipTexture.Width, _shipTexture.Height, true, false, _enemyName); var instance = new InstanceComponent(); var outOfBounds = new OutOfBoundsComponent(ObjectEvent.RemoveEntity); gameObject.AddComponent(boundary); gameObject.AddComponent(instance); gameObject.AddComponent(outOfBounds); var score = new ObjectEventComponent(ObjectEvent.CollisionEnter, IncreaseScore); var deathSound = new EventSoundComponent(_deathSound, ObjectEvent.CollisionEnter); var collisionAction = new ObjectEventComponent(ObjectEvent.CollisionEnter, CollisionAction); gameObject.AddComponent(score); gameObject.AddComponent(deathSound); gameObject.AddComponent(collisionAction); foreach (var objectEventAction in _eventActions) { var objectEvent = new ObjectEventComponent(objectEventAction.Item1, objectEventAction.Item2); gameObject.AddComponent(objectEvent); } _gameLayer.AddGameObject(gameObject); } }
public static void ProcessTask(TimedActionComponent taskComponent, GameContext gameContext) { var task = taskComponent.CompanyTask; switch (task.CompanyTaskType) { case CompanyTaskType.ExploreMarket: ExploreMarket(task, gameContext); break; case CompanyTaskType.ExploreCompany: ExploreCompany(task, gameContext); break; case CompanyTaskType.AcquiringCompany: AcquireCompany(task); break; case CompanyTaskType.UpgradeFeature: UpgradeFeature(task, gameContext); break; case CompanyTaskType.ReleasingApp: ReleaseApp(task); break; case CompanyTaskType.TestCampaign: TestCampaign(task, gameContext); break; case CompanyTaskType.RegularCampaign: RegularCampaign(task, gameContext); break; case CompanyTaskType.BrandingCampaign: BrandingCampaign(task, gameContext); break; } }
public static float GetTaskCompletionPercentage(GameContext gameContext, TimedActionComponent taskComponent) { int CurrentIntDate = GetCurrentDate(gameContext); return((CurrentIntDate - taskComponent.StartTime) * 100f / taskComponent.Duration); }
public void SetEntity(TimedActionComponent task) { TaskComponent = task; Render(); }
public static void ProcessTask(TimedActionComponent taskComponent, GameContext gameContext) => ProcessTask(taskComponent.CompanyTask, gameContext);