Skip to content

Document

EMT edited this page Dec 26, 2024 · 1 revision

EditorGraphView

模块

  • GraphLocalSettingSystem 本地设置(用于存储不需要进行版本管理的数据)
  • GraphElementCache Element缓存(可以通过Id来获取GraphElement)
  • GraphOperate 操作(拷贝粘贴,剪切复制等)
  • GraphCopyPaste 拷贝粘贴处理(序列化处理)
  • GraphUndo 撤销处理(将Asset的数据同步到View中)
  • GraphSelected 选择处理(处理选中ISelectable后的显示)
  • GraphPanelSystem 面板管理(用于添加额外的界面,例如工具栏等)
  • GraphHotKeys 快捷键处理
  • NodeSystem 节点管理(管理节点的创建和删除)
  • ConnectSystem 连接管理(管理Edge的创建和删除)
  • ItemSystem 管理其他GraphElement的创建和删除(组,便利贴等)
  • OperateMenu 操作菜单(右键Graph时的菜单)
  • CreateNodeMenu 创建节点菜单
  • CreateItemMenu 创建Item的菜单
  • GraphDragAndDrop 拖放处理(用于处理其他对象拖入Graph时)

GraphSettingAttribute

maxLoadTimeMs:每帧的最大加载间隔
fastUndo:快速撤销(为false时每次撤销全部重新加载)
zoomSize:Graph的缩放大小

EditorHandle

当继承EditorHandle时当重新一个函数时想调用上一个handle的函数时则直接调用baes实现

public class BehaviorTreeCreateNodeMenuHandle : CreateNodeMenuHandle<EditorBehaviorTreeAsset>
{
    private EditorBehaviorTreeAsset behaviorTreeAsset;

    public override void InitializeCache()
    {
        base.InitializeCache();//调用上一个Handle的实现

        behaviorTreeAsset = smartValue.graphAsset as EditorBehaviorTreeAsset;

        ...
    }

    ...
}

IGraphHandle

继承GraphHandle后可重写有关生命周期的函数
OnLoadBefore:加载资产前
OnLoadAfter:加载资产后
OnFocus:聚焦时
OnUpdate:更新时

具体可参考UniversalGraphHandle

EditorNode

EditorNodeView

  • topicColor 主题颜色(影响节点等的颜色)
  • editInNode 为true时将Inspector的内容绘制到节点上
  • canDelete 是否可以被删除
  • styleFilePath 皮肤文件的路径

CollectStaticPortAssets 收集静态端口的资产 重写这个函数可以创建端口

UniversalEditorNodeView

  • canExpanded 是否可折叠
  • canRename 是否可重命名
  • defaultDisplayName 默认的节点名称
  • iconPath 图标路径

SetNodeColor设置节点颜色 通过节点资产的特性NodeColorAttribute
SendMessage 向节点发送消息
Tips 在节点中间弹出一条tips
SetFocus 聚焦节点(在节点周围显示一个选中框)

Clone this wiki locally