public void Init(BadgeData badgeData, BadgeBusinessRules businessRules) { _badgeData = badgeData; _badgeBusinessRules = businessRules; if (_badgeSpriteComponents.Contains(_badgeSprite) == false) { throw new Exception("BadgeSticker is not assigned!"); } _badgeSpriteComponents[_badgeSpriteComponents.IndexOf(_badgeSprite)] = _badgeSprite; }
public void Init(PlayerData playerData, AutomationsData automationsData, BadgeData badgeData) { _badgeSprites = new Sprite[_badges.spriteCount]; _bossSprites = new Sprite[_bossBadges.spriteCount]; _bossStandSprites = new Sprite[_bossStands.spriteCount]; _badgeStandSprites = new Sprite[_badgeStands.spriteCount]; _badges.GetSprites(_badgeSprites); _bossBadges.GetSprites(_bossSprites); _badgeStands.GetSprites(_badgeStandSprites); _bossStands.GetSprites(_bossStandSprites); _bossCountdown.Init(); _badgeBusinessInput = new BadgeBusinessRules(playerData, badgeData, automationsData, _bossCountdown); _badgePresentation = GetComponent <BadgePresentation>(); _badgePresentation.Init(badgeData, _badgeBusinessInput); foreach (var mothership in _droppingMotherships) { mothership.Init(badgeData, playerData); } _badgeBusinessInput.CreateBadgeEvent += CreateBadge; _badgeBusinessInput.CreateBossEvent += CreateBoss; _badgeBusinessInput.BadgeCreated += OnBadgeCreated; _bossCountdown.BossNotDefeated += OnBossNotDefeated; _badgeProgressPresentation.Init(badgeData); _hitDamageSpawner.Init(automationsData); _badgeBusinessInput.CreateNewBadge(); }