基于NGUI的富文本解决方案模型

今天富文本功能已经按既定的计划动手施工了,
目前已经将解决思路的模型给搭建出来了,
今天就说说我写的那些代码,全权当做一个使用说明

基于NGUI的富文本解决方案模型_第1张图片
基于NGUI的富文本解决方案模型_第2张图片
代码中主要的类有三个

  • RichLabelMgr
  • RichLabelCtrl
  • RichLabelComponent
  • 其中:
    RichLabelMgr 是管理 RichLabelCtrl 的类,也是是入口。
    里面有个CreateNewRichLab方法

    @rich_txt   全部的富文本字符串
    @mnt        创建的父物体
    @size       大小
    @Alignment  对齐方式
    @call_back  事件点击方式
    RichLabelMgr.CreateNewRichLab(string rich_txt, Transform mnt, Vector2 size, NGUIText.Alignment alignment, OnClickCallBack call_back)
    
    // 昨天在说这个方法的时候,漏了一个参数,那就是mnt,这个参数还是有必要的,因为需要创建物体,所以这个参数就是父物体
    // 目前能想到的,需要使用到的参数都在这里,创建的时候就需要指定这些参数
    // 结果是返回一个Ctrl,不给Ctrl怎么让其他人重复调用创建出来的富文本呢?所以给个控制器给调用者
    

    RichLabelCtrl 是控制器,可以理解为MVC的Controller
    主要功能是管理整个富文本的清理,回收,刷新等工作,当然回调事件也会由这个控制器去管理

    RichLabelComponent 这个类是所有元素的基础类的父类,各个基础类都要重写这个父类的解析方法。
    RichLabel
    RichSprite
    RichSpriteAnim
    RichTexture

    这些都是 RichLabelComponent 的子类。

    代码的主要逻辑模型就这样,很简单。
    工程地址:https://gitee.com/ChengChannel/RichLabel
    工程地址已经提供,供大家参考和修改。
    如果有更好的解决方案别忘了告诉我。

    你可能感兴趣的:(Unity成长路,Unity)