Skip to content

红点系统

简介

说明

红点系统是游戏中常见的提示系统,用于提醒玩家有新的内容、未读消息或可进行的操作。ET框架提供了一个高效、易用的红点管理系统。

系统特点

多样化的红点类型

  • 普通红点 - 常规提示
  • 数值红点 - 显示具体数量
  • 新功能红点 - 特殊样式提示
  • 提示红点 - 轻量提醒
  • 重要红点 - 突出显示

树形节点管理

  • 层级结构 - 支持多父子节点关系
  • 状态传递 - 自动向上传递状态
  • 灵活配置 - 支持多样化节点设置

开发友好

  • 简单 API - 易于理解和使用
  • 示例场景 - 完整的演示项目
  • 可视化工具 - 便捷的配置界面
Assets/
├── Bundles/
│   ├── RedDot/     # 红点系统配置
│   └── UI/
│       └── Other/  # 红点预制体资源
├── Editor/
│   └── RedDot/     # 红点配置可视化工具
├── Resources/      # 配置文件
└── Scripts/
    └── ETCore/
        └── RedDot/ # 核心代码

配置说明

红点类型配置

通过 RedDotKeyAsset 配置红点的基础信息:

参数说明
id红点唯一标识
des红点描述说明
红点 ## 基础用法

红点关系配置

通过 RedDotKeyAsset 配置红点的基础信息:

参数说明
key对应 RedDotKeyAsset 中的 id
parentList父节点列表
flags红点显示类型(Default/Number/New/Tips/Important)
红点

编辑器工具

红点键值对编辑器

路径:ET/RedDot/RedDotKey Editor

配置红点基础信息生成红点枚举定义

配置红点基础信息、生成红点枚举定义红点

红点配置编辑器

路径:ET/RedDot/RedDotConfig Editor

配置红点父节点配置红点类型

配置红点父节点红点
配置红点类型红点

基础用法

TIP

开发过程中,只需要维护红点的数量即可,其他的不需要关注。

更新红点数量

csharp
RedDotSingleton.Instance.Set(ERedDotKeyType.Key4, 1, RedDotFlags.Number);

RedDotSingleton.Instance.Set(ERedDotKeyType.Key7, 1, RedDotFlags.Default);

//...
红点生成的键值对枚举
csharp
using System.ComponentModel;
namespace MH
{
    public enum ERedDotKeyType
    {
        [Description("None")]
        None = 0,

        [Description("主界面")]
        Key1 = 1,

        [Description("新手七日签到")]
        Key2 = 2,

        [Description("多级菜单")]
        Key3 = 3,

        [Description("每日任务")]
        Key4 = 4,
        //...
    }
}

使用示例

UI绑定

提示

RedDotItem.cs 会在 Start 方法中自动设置订阅红点的事件,只需将其挂载在需要显示红点的物体上即可。

红点

⚠️注意事项⚠️

  1. 避免红点配置中的循环引用
  2. 合理规划红点层级结构,避免层级过深
  3. 及时清理不需要的红点配置
  4. 定期维护和更新红点状态

示例仓库

RedDotSystem

技术支持

获取帮助

  • 💬 加入QQ群讨论交流(ET框架群) : 474643097
  • ⭐ 在GitHub上关注项目获取最新更新

Released under the MIT License.