/// <summary> /// 添加功能插件(数据不在FuncTool存,而是自行维护,也需要funcID) /// </summary> public void addFuncTool(IPlayerFuncTool tool, FuncToolData data) { FuncTool fTool = (FuncTool)tool; fTool.isAdded = true; toRegistFuncTool(tool); fTool.setData(data); tool.afterReadDataSecond(); }
private void toRegistFuncTool(IPlayerFuncTool tool) { FuncTool fTool = (FuncTool)tool; IntObjectMap <FuncTool> dic = getFuncToolDic(fTool.getType()); int funcID = fTool.getFuncID(); if (ShineSetting.openCheck) { if (dic.contains(funcID)) { Ctrl.throwError("已经存在功能插件:", fTool.getType(), funcID); } } //设置主角 tool.setMe(me); dic.put(funcID, fTool); _funcToolList.add(fTool); _playerFuncToolList.add(tool); fTool.construct(); }
/// <summary> /// 注册功能插件 /// </summary> public FuncTool registFuncTool(IPlayerFuncTool tool) { toRegistFuncTool(tool); return((FuncTool)tool); }