2021SC@SDUSC SDUDOC项目分析(三)

2021SC@SDUSC

ToolManager模块详解

主要功能:管理插件,接收插件的注册与handler注册

属性:

tools:存有全部的tool列表

Tool_list:按照tools中的所属slot分类过后的差价列表,以插件类型为键名,属性为一个tool数组

 

handlers:存有插件注册的handler,object类型,以handler的id为键

 方法:

CalcToollist:将tools计算成tool_list

Gettoollist:传入一个slot,返回对应的tool数组

//plugin系列方法,plugin是左侧工具栏

Getinitialplugin:返回plugin下的第一个tool

getInitialPluginId:返回plugin下第一个tool的id

getCurrentPlugin:获取this.current_plugin对应id的组件

具体操作方法是for循环plugin下属的所有组件列表

Sercurrentplugin:接收一个id,for循环遍历plugin列表,若有id=tool.id,将this.current_plugin设置成对应id,猜测可能是防止设置了不存在的current_id。最后调用了enging.cleartooltemp方法(?)

Initialize:初始化,首先调用clear方法,该方法将当前plugin的改成了第一个,即初始化指向第一个插件

然后初始化toollist。然后调用setupeventhandler方法

InitializeEditor:点击一下第一个plugin中的tool(手动触发其on_click)

_setupEventHandlers:向mouseinput,input中注册了handler,handler的回调来自processhandler

Processhandler:

 方法如下,将所有的鼠标有关的输入都交给了callMouseHandler'处理,而所有键盘输入都交给callKeyHandler处理

Cancurrentplugincall:

判断当前是否是选中了传入的该id,并返回布尔值

Callmousehandler:for循环handler,,若type与指定type相同且判断是当前的插件,则调用该handler的回调

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值