protected virtual void OnEnable() // что мы делаем, когда герой снова жив (back on again, следующий раунд) { GameManager.ExchangeEvent1 += OnExchange1; GameManager.ExchangeEvent2 += OnExchange2; GameManager.ExchangeEndedEvent += OnExchangeEnded; if (!m_HeroAnimation.enabled) { m_HeroAnimation.enabled = true; // переинициализируем движетеля героя } m_Tweakers = new Tweakers(); // переинициализируем твикеры героя на дефолтные m_Tweakers.AddInventoryTweakers(inventory); _HP.SetStartHealth(m_Tweakers.StartingHealth); // здоровье на максимум // Обнулим серии героя series.ResetStrongStrikesSeries(); series.ResetSeriesOfBlocks(); series.ResetSeriesOfStrikes(); // Обнулим подсказки серий series.UpdateStrongStrikesSeries(); series.UpdateSeriesOfBlocks(); series.UpdateSeriesOfStrikes(); // убираем лишние объекты-оружия, кроме начальных щит-меч hero2HandedSword.SetActive(false); heroSword_2.SetActive(false); heroSword.SetActive(true); heroShield.SetActive(true); weaponSet = WeaponSet.SwordShield; // набор оружия по умолчанию - щит-меч decision = Decision.No; }
protected virtual void Awake() { _HP = GetComponent("HP") as HP; series = GetComponent("Series") as Series; m_HeroAnimation = GetComponent("HeroAnimation") as HeroAnimation; m_Tweakers = new Tweakers(); player_countRoundsWon = 0; enemy_countRoundsWon = 0; // получаем ссылки на компоненты оружия shieldMeshFilter = heroShield.GetComponent <MeshFilter>(); twoHandedSwordMeshFilter = hero2HandedSword.GetComponent <MeshFilter>(); swordMeshRenderer = heroSword.GetComponent <MeshRenderer>(); sword2MeshRenderer = heroSword_2.GetComponent <MeshRenderer>(); shieldMeshRenderer = heroShield.GetComponent <MeshRenderer>(); twoHandedSwordMeshRenderer = hero2HandedSword.GetComponent <MeshRenderer>(); }