/// <summary> /// 更新 /// </summary> protected override void Update() { if (m_Gameplay != null) { SpacecraftEntity main = GetMainEntity(); if (main != null) { bool isFighting = IsBattling(); float fireCD = main.GetFireCountdown(); //float fireCDMax = 10.0f;// main.GetAttribute(AircraftAttributeType.peerlessTopLimit); m_CooldownBox.gameObject.SetActive(isFighting && fireCD > 0); if (m_CooldownBox.gameObject.activeSelf) { m_CooldownText.text = string.Format(TableUtil.GetLanguageString("hud_text_id_1014"), fireCD > 0 ? (int)fireCD : 0); } } } }
/// <summary> /// 更新 /// </summary> protected override void Update() { bool visibleOld = GetTransform().gameObject.activeSelf; bool visibleNew = !IsWatchOrUIInputMode() && !IsDead() && !IsLeaping(); if (visibleNew != visibleOld) { GetTransform().gameObject.SetActive(visibleNew); } if (!visibleNew) { return; } SpacecraftEntity main = GetMainEntity(); if (main != null) { bool IsFighting = IsBattling(); if (IsFighting) { if (!m_IsBattleState) { m_HurtTime = Time.time; } float fireCD = main.GetFireCountdown(); float fireCDMax = 10.0f;// main.GetAttribute(AircraftAttributeType.peerlessTopLimit); m_CountdownBox.gameObject.SetActive(IsFighting && fireCD > 0); if (m_CountdownBox.gameObject.activeSelf) { m_CountdownText.text = string.Format(TableUtil.GetLanguageString("hud_text_id_1014"), fireCD > 0 ? (int)fireCD : 0); m_CountdownImage.fillAmount = fireCD / fireCDMax; m_CruiseIcon.color = FadeColor; m_BattleIcon.color = FadeColor; } else { m_CruiseIcon.color = Color.white; m_BattleIcon.color = Color.white; } m_Animator.SetBool("Fighting", true); if (fireCD > 0) { m_Animator.SetBool("Hurting", true); } else { m_Animator.SetBool("Hurting", (Time.time - m_HurtTime < 5.0f)); } } else { if (m_IsBattleState) { m_HurtTime = 0.0f; } m_CountdownBox.gameObject.SetActive(false); m_CruiseIcon.color = Color.white; m_BattleIcon.color = Color.white; m_Animator.SetBool("Fighting", false); m_Animator.SetBool("Hurting", Time.time - m_HurtTime < 5.0f); } m_IsBattleState = IsFighting; } }
/// <summary> /// 更新 /// </summary> protected override void Update() { SpacecraftEntity main = GetMainEntity(); if (main != null) { bool IsFighting = IsBattling(); float fireCD = main.GetFireCountdown(); //float fireCDMax = 10.0f;// main.GetAttribute(AircraftAttributeType.peerlessTopLimit); m_CooldownBox.gameObject.SetActive(IsFighting && fireCD > 0); if (m_CooldownBox.gameObject.activeSelf) { m_CooldownText.text = string.Format(TableUtil.GetLanguageString("hud_text_id_1014"), fireCD > 0 ? (int)fireCD : 0); } m_HpText.text = Mathf.FloorToInt((float)main.GetAttribute(AttributeName.kHP)).ToString(); m_SpText.text = Mathf.FloorToInt((float)main.GetAttribute(AttributeName.kShieldValue)).ToString(); State state = State.Normal; if (IsFighting) { state = fireCD > 0 ? State.BattleCD : State.Battle; } else { state = Time.time - m_HurtTime < 10.0f ? State.Hurt : State.Normal; } if (m_State != state) { m_Animator.ResetTrigger("Normal"); m_Animator.ResetTrigger("Injured"); m_Animator.ResetTrigger("Battle"); m_Animator.ResetTrigger("Ready"); m_State = state; switch (m_State) { case State.Normal: m_StateText.text = TableUtil.GetLanguageString("hud_text_id_1009"); m_HotkeyBox.gameObject.SetActive(false); m_Animator.SetTrigger("Normal"); break; case State.Hurt: m_StateText.text = TableUtil.GetLanguageString("hud_text_id_1010"); m_HotkeyBox.gameObject.SetActive(true); m_Animator.SetTrigger("Injured"); break; case State.BattleCD: m_StateText.text = TableUtil.GetLanguageString("hud_text_id_1011"); m_HotkeyBox.gameObject.SetActive(false); m_Animator.SetTrigger("Battle"); break; case State.Battle: m_StateText.text = TableUtil.GetLanguageString("hud_text_id_1012"); m_HotkeyBox.gameObject.SetActive(true); m_Animator.SetTrigger("Ready"); break; } } } }