# RedPointMgr **Repository Path**: gsjengineer/red-point-mgr ## Basic Information - **Project Name**: RedPointMgr - **Description**: 红点管理器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-02 - **Last Updated**: 2024-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ​ 一、简介         红点系统是游戏使用频率很高的一个系统,去网上看了一些实现方式,感觉和实际项目使用起来不满足需求,比如邮件系统,会有很多邮件,一般会用无限滚动列表去实现,滚动的时候难免会出现一些问题,干脆自己实现一个红点系统。 二、设计思路         根据枚举组织树形结构,所以枚举必须保证是从上到下是有序的。例如: public enum ERedPoint { None, Mail, //邮件 Shop, //商店 Shop_Glod, //商店-金币商城 Shop_Diamon, //商店-钻石商城 }  组织成红点树就是      root     ----------mail                         1000                          1001     ----------shop                         shop_glod                         shop_diamon 其中1000,1000是邮件id ,在红点节点 RedPointNode.cs 中所有枚举全部转换成整形 id;  红点节点区分两种类型,1、叶子节点 2、非叶子节点  当叶子节点红点个数改变时更新   RedPointNode.selfCount 值并通知父节点; 当非叶子节点红点个数改变时更新   RedPointNode.childCount 值并通知父节点; RedPointNode.cs 通过事件订阅 OnRedPointStateChange 刷新ui红点个数; RedPointNode.cs 通过事件订阅 OnRedPointCheck 获取ui红点个数; 三、核心脚本 ​