本帖最后由 wj59789 于 2017-12-15 23:41 编辑
假如有几十个变量要传递到远程的函数执行我知道有几种方法,就是不知道哪种好
例1:
xxx_fnc={
params ["_EH", "_arr"];
_arr params ["", ""...];
...
};
"var_xx" addPublicVariableEventHandler xxx_fnc; 触发:var_xx=[x,x,x];publicVariable "var_xx";显然有多处代码段需要pv "var_xx"时var_xx很可能被覆盖虽然几率很少但是传递的值不是正确的出错一次也就出BUG了。
例2:
xxx_fnc={
params ["_EH", "_arr"];
switch _EH do {
case "var_xx1": {
};
...
};
...
};
"var_xx1" addPublicVariableEventHandler xxx_fnc;
"var_xx2" addPublicVariableEventHandler xxx_fnc;
...
触发:var_xx1=[x,x,x];publicVariable "var_xx1";虽然不会覆盖但是要添加几十个addPublicVariableEventHandler事件处理
上面两种用publicVariable公布变量触发addPublicVariableEventHandler事件,pv变量的电脑是不触发的,也很容易解决var_xx1=[x,x,x];_xx1 call "var_xx1";就行
例3:
xxx_fnc_1={
params ["_var1", "_var2"...];
...
};
xxx_fnc_2={
params ["_var1", "_var2"...];
...
};
["_var1","_var2"...] remoteExec ['xxx_fnc_1', 0, false];//所有电脑都执行,用这个有点麻烦不想本地也执行还要用代码过滤掉自己
纠结中3种方案不知道用哪一种好
|