public override void Construct(CharacterModel model, bool isLoad = false) { heroControllers = FindObjectsOfType <HeroController>().ToList(); var heroModels = heroControllers.Select(controller => controller.HeroModel).ToList(); enemyModel = model as EnemyModel; if (enemyModel == null) { Debug.Log("Enemy Model could not resolve in EnemyController"); return; } if (!isLoad) { enemyModel.Construct(heroModels); enemyModel.CurrentHealth = enemyModel.Health; } characterGraphicsController.Construct(enemyModel.Sprite); healthBarController.Construct(enemyModel.name); PublisherSubscriber.Publish(new ProgressBarData { Id = enemyModel.name, BarType = ProgressBarType.HealthProgression, TotalAmount = enemyModel.Health, CurrentAmount = enemyModel.CurrentHealth }); }