//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, May 03, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using Snxxz.UI; public class HeroNearDeathBehaviour { public static void Init() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent += OnPlayerDataRefresh; } public static void UnInit() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= OnPlayerDataRefresh; } private static void OnPlayerDataRefresh(PlayerDataRefresh _refreshType) { switch (_refreshType) { case PlayerDataRefresh.HP: case PlayerDataRefresh.MaxHP: var percent = PlayerDatas.Instance.extersion.MaxHP <= 0 ? 1 : PlayerDatas.Instance.baseData.HP / (float)PlayerDatas.Instance.extersion.MaxHP; if (percent <= GeneralConfig.Instance.lowHpRemind * 0.01f) { WindowCenter.Instance.Open(true); } break; } } } namespace Snxxz.UI { public class NearDeathWin : Window { [SerializeField] Image m_Effect; [SerializeField] AudioSource m_AudioSource; #region Built-in protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion protected override void LateUpdate() { base.LateUpdate(); var percent = PlayerDatas.Instance.extersion.MaxHP <= 0 ? 1 : PlayerDatas.Instance.baseData.HP / (float)PlayerDatas.Instance.extersion.MaxHP; m_AudioSource.enabled = m_Effect.enabled = PlayerDatas.Instance.baseData.HP > 0 && percent <= GeneralConfig.Instance.lowHpRemind * 0.01f; m_AudioSource.volume = SystemSetting.Instance.GetSoundEffect(); } } }