FingerCaster / ReferenceBindTool

引用绑定工具,支持多种规则进行引用绑定。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ReferenceBindTool

引用绑定工具。 参考了猫仙人ComponentAutoBindTool。并在此基础上扩展 新增。

功能介绍

引用绑定组件

image

BindAssetORPrefabRuleHelper

绑定资源或者预制体的规则帮助类(只可以绑定Project目录下的资源或预制体)

  • DefaultBindAssetOrPrefabRuleHelper

    默认的绑定规则。不能绑定 文件夹,脚本资源,“StreamingAsset” “Editor” “Resources”目录下的资源

BindComponentsRuleHelper

绑定组件的规则帮助类 (只可以绑定挂载组件物体和子物体身上符合规则的组件)

  • DefaultBindComponentsRuleHelper

    通过在需要绑定的组件的物体上添加BD_前缀 绑定身上所有符合规则的组件。

    优点:不需要针对类型添加前缀。自动绑定组件。

    缺点:需要添加前缀 绑定的无用数据比较多。

  • SelectComponentBindComponentsRuleHelper

    通过在需要绑定的组件的物体上挂载BindDataSelect组件选择需要绑定的组件,绑定符合规则的组件。

    优点:不需要前缀,不会绑定无用组件。

    缺点:会增加大量无用的Mono空脚本 用来做选择。

  • TypePrefixBindRuleHelper

    通过在需要绑定的组件的物体上添加 类型前缀方式 ,绑定符合规则的组件。

    优点:针对类型前缀的绑定 不会绑定无用的组件。

    缺点:需要添加大量前缀。

  • SelectComponentTreePopWindow

    组件选择树。会根据挂载ReferenceBindComponent的物体生成一个树状编辑器 用于选择需要绑定的组件。

    image

    优点:不需要添加前缀 不会增加无用脚本。

    缺点:需要手动选择,不能完全自动化绑定。

CodeGeneratorRuleHelper

代码生成规则帮助类

  • DefaultCodeGeneratorRuleHelper

    默认代码生成规则,根据设置的类名 命名空间 生成对应的 c# 代码。

    PS: 默认代码生成规则 只在挂载ReferenceBindComponet脚本的情况下 使用。

    会根据绑定数据生成一个部分类。 主要代码为对应的字段 和InitBindObjects方法

    需要在适当的地方调用InitBindObjects 初始化字段。

    namespace TestBind
    {
       public partial class TestBind
       {
           private GameObject m_GameObject_GameObject;
           private Transform m_Transform_TestBind;
           
           private void InitBindObjects(GameObject go)
           {
               m_GameObject_GameObject = bindComponent.GetBindObject<GameObject>(0);
               m_Transform_TestBind = bindComponent.GetBindObject<Transform>(1);
           }
       } 
    }
  • TransformFindCodeGeneratorRuleHelper

    根据绑定的数据 生成Transform.Find 代码 。

    PS: 生成Find代码规则 只在NotAddComponetToolWindow下使用

    会根据绑定数据生成一个部分类。 主要代码为对应的字段 和对应的属性方法 其中属性方法调用时才会初始化对应字段。

    需要调用构造函数传入绑定对象。

    namespace TestBind
    {
       public partial class TestBind
       {
           private Transform m_Transform;
           public TestBindF(Transform transform)
           {
               m_Transform = transform;
           }
           private Transform m_Transform_TestBind;
           public Transform Transform_TestBind
           {
               get
               {
                   if(m_Transform_TestBind == null)
                   {
                       m_Transform_TestBind = m_Transform.GetComponent<Transform>();
                   }
                   return m_Transform_TestBind;
               }
           }       
       } 
    }

绑定资源或预制体编辑器界面 可以拖入Project 下面的资源物体。点击绑定按钮会根据选择的绑定规则绑定。

SettingData 代码生成设置设置相关数据

SettingDataSearchable 可以查询的代码生成数据。(因为可能有很多数据 所以增加了一个可以查询选择的编辑器)

image

CodeGeneratorSettingData

​ 代码生成设置数据 可以设置 代码生成目录 命名空间

CodeGeneratorSettingConfig

​ 代码生成设置配置。 全局只需要生成一份 用于保存代码生成配置数据

image

类名 生成的代码的名称。可以使用默认的物体名 或者自己制定

不挂载脚本的组件绑定工具

image

基本功能和引用绑定组件一致。 不过只可以绑定对象身上的组件。

About

引用绑定工具,支持多种规则进行引用绑定。

License:MIT License


Languages

Language:C# 100.0%