最近做快捷键设置,所以先要做个基础的组件。
因为听说用InputField来改造会有比较多快捷键组件的特性与InputField的特性冲突的地方,比起Text来更加地耗费精力和时间。所以用Text来做了。

主要功能包括:
逻辑是有点复杂了,分支比较多。
因为是简单组件类,后面修改的可能性不大,就只是尽量面向对象的方式,考虑单一职责原则,将该作为单个功能分出去的类分出去。
有
按键判断类
快捷键数据类
快捷键组件类
高亮控制类四个部分
只有高亮控制类没有接受业务逻辑类的控制,可能会存在高亮和业务逻辑的需求不统一的情况, 后面可以考虑加上。目前测试一切正常。
需要注意:
继承ISelectHandler和IDeselectHandler的脚本,接口的方法起效需要在脚本的同个物体上挂载Selectable组件。这两个接口的方法在组件被选中和取消选中的时候会被回调。 参考
unity中关于UGUI的接口(点击 选择 系统按键等)
代码执行取消选中物体通过 EventSystem.current.SetSelectedGameObject(null);实现,这句话不能连续调用两次,即连续写两遍,会报错。