// 移除buff public void RemoveBuff(BuffTemplate info) { BuffIcon buffIcon = GetItemByBuffID(info.GetID()); if (buffIcon == null) { return; } if (info.getMaxOverlayCount() > 1) { // 可叠加 if (buffIcon != null) { if (buffIcon.iCount < 2) { // 移除icon if (buffIcon.icon) { //buffIcon.icon.transform.DetachChildren() Destroy(buffIcon.icon.gameObject); buffIcon.icon = null; } mBuffList.Remove(buffIcon); buffIcon = null; } else { // 计数-- buffIcon.icon.onUpdateText(--buffIcon.iCount); } } } else { // 不可叠加 if (buffIcon.icon) { Destroy(buffIcon.icon.gameObject); buffIcon.icon = null; } mBuffList.Remove(buffIcon); buffIcon = null; } }
// 添加buff public void AddBuff(BuffTemplate info) { BuffIcon buffIcon = GetItemByBuffID(info.GetID()); if (info.getMaxOverlayCount() > 1) { // 可叠加 if (buffIcon != null) { // 更新数字 buffIcon.icon.onUpdateText(++buffIcon.iCount); } else { // 创建icon onCreateBuffIcon(info); } } else { // 不可叠加 onCreateBuffIcon(info); } }