/// <summary> /// 普通血条更新 /// </summary> private void NormalUpdate() { m_InvalidList.Clear(); if (null != m_BloodMap) { foreach (UBlood var in m_BloodMap.Values) { UBlood ub = var; EntityView view = ub.Entity; if (view == null || !view.IsValid) { m_InvalidList.Enqueue(ub); continue; } //如果实体未激活,或者尚未加载完毕则隐藏血条 if (SkinInstance.isNullOrEmpry(view.SkinControl.CurrentSkinInstance) || !view.StateMachine.GetVisible()) { ub.SetEnable(false); if (view.Type == ENTITY_TYPE.TYPE_PLAYER_ROLE) { ub.OnUpdate(); } } else { ub.SetEnable(true); //需要更新的血条进行正常更新 ub.OnUpdate(); } } } while (m_InvalidList.Count > 0) { UBlood ub = m_InvalidList.Dequeue(); if (bPreWarmBlood) { CacheBlood(ub); } else { DestroyBlood(ub); } } m_InvalidList.Clear(); }