//缓存血条 private void CacheBlood(UBlood ub) { if (null == ub) { return; } if (!m_CacheBloodMap.ContainsKey(ub.BloodType)) { DestroyBlood(ub); return; } if (ub.ISHero) { return; } if (m_BloodMap.ContainsKey(ub.ID)) { ub.SetEnable(false); ub.ChangeBloodColor(false); ub.ChangeParent(CacheBloodRoot.transform); Queue <UBlood> m_list = m_CacheBloodMap[ub.BloodType]; m_list.Enqueue(ub); m_BloodMap.Remove(ub.ID); } else { DestroyBlood(ub); } }