使用教程

红点功能

红点系统常用于各种UI消息提示,开发过程中存在红点层级过多、各层级之间需要联动设置的问题。ThunderFire UX Tool中实现了一套内置红点管理系统, 通过为每个红点对象添加 Path, 来实现红点层级的统一处理。


使用方法

1.挂载脚本

给要显示红点的对象添加Reddot 脚本。



2.红点标记配置

ReddotFlag对象是红点状态变化时显隐的对象。推荐设为红点对象的子节点。


3.红点Path配置

Path表示红点数据的关联路径, 设置格式为 "stringA/stringB/stringC/stringD"。

注意:当第二级的红点设置Path时,要把它的路径设置完整,应该是"stringA/stringB" ,而不只是"stringB"。

  • 静态配置 对于已经确定的红点对象(比如主界面上的功能入口按钮),可以直接在编辑器中设置。

  • 动态配置 对于动态生成或者编辑阶段不能确定的红点对象(比如列表中的红点), 可以通过代码设置。(代码参考下方程序接口


4.红点状态设置

游戏运行过程中可以通过代码设置红点状态。(代码详情参考下方程序接口

设置红点状态后, 红点工具会根据路径更新该路径上的所有红点的显示状态。更新规则为红点树中的叶子节点使用自己的显示状态,非叶子节点则根据其子节点的显示状态来决定自己的显示状态


示例



程序接口

变量

// 红点数据的关联路径
// 所属类:Reddot
public string Path;

// 红点状态变化时显隐的对象
// 所属类:Reddot
public GameObject reddotFlag;

函数

// 描述:将该路径下的红点设置为是否显示
// 所属类:ReddotManager
// 参数:
//     isShown 红点是否显示
//     Path 红点路径
// 返回值:无
public static void SetRedDotData(bool isShown, string Path)

案例

// 案例一
// 代码中动态为组件添加红点路径
Reddot reddot = go.GetComponent<Reddot>();
reddot.Path = "Reddot1/firstChild";

// 案例一
// 设置红点状态
Reddot reddot = go.GetComponent<Reddot>();
ReddotManager.SetRedDotData(true, reddot.Path);

面向开发者的界面开发解决方案
feedback