public void SendRedPointNotify(ERedPointType redPointType) { if (redPointType == ERedPointType.None) { return; } RedPointDelegateInfo delegateInfo = GetRedPointDelegate(redPointType); if (delegateInfo != null) { int num = GetRedPointNum(redPointType); for (int i = 0; i < delegateInfo.delegates.Count; i++) { if (delegateInfo.delegates[i] != null) { delegateInfo.delegates[i].OnTipsChanged(redPointType, num); } } } ERedPointType parentType = RedPointParentData.GetRedPointParentType(redPointType); if (parentType != ERedPointType.None) { SendRedPointNotify(parentType); } }
public int GetRedPointNum(ERedPointType redPointType) { int result = 0; List <ERedPointType> subTypes = RedPointParentData.GetRedPointSubTypes(redPointType); if (subTypes == null || subTypes.Count == 0) { result = redPointDS.GetRedPointNum(redPointType); } else { result += redPointDS.GetRedPointNum(redPointType); for (int i = 0; i < subTypes.Count; i++) { result += GetRedPointNum(subTypes[i]); } } return(result); }