ClientPlayer 客户端玩家类
每个玩家只有唯一的玩家类实例,可能是该类或其子类的实例(单机版有且只有一个玩家,所以只有一个实例)
单机版内核直接监听本地变量的改变
网络版内核的监听是通过RPC请求服务器监听变量,服务器每次发现变量改变后会同步给该玩家的客户端
-- 没有权限监听其他玩家的变量
维护人员:黑暗之神KDS
创建时间:2019-06-03
继承 →Player
子类 无
Public 方法
方法 |
---|
constructor(isMyPlayer? : boolean) 构造函数 |
addListenerPlayerVariable(type : number, varID : number, onChange : Callback, isOnce? : boolean, immediatelyCallback? : boolean): void 监听玩家变量 |
removeListenerPlayerVariable(type : number, varID : number, onChange : Callback): void 取消监听玩家变量 |
详情
constructor
constructor(isMyPlayer? : boolean) :
构造函数
参数
isMyPlayer [可选] 默认值=false 是否是我的玩家(网络内核会存在其他的玩家)
addListenerPlayerVariable
addListenerPlayerVariable(type : number, varID : number, onChange : Callback, isOnce? : boolean, immediatelyCallback? : boolean): void :
监听玩家变量
单机版内核:直接监听本地变量的改变
网络版内核:该变量首次监听时会与服务器-该编号的变量同步,其他非首次的监听直接来自客户端缓存
// 示例:监听我的玩家的10号数值变量,由于确定是数值变量,所以这里回调使用value:number确定是数值类型
Game.player.addListenerPlayerVariable(0,10,Callback.New((typeID:number,varID:number,value:number)=>{
// to do
},this))
参数
type 0-变量 1-开关 2-字符串
varID 变量ID
onChange 当变量改变时回调 onChange(typeID:number,varID:number,value:number|string)
isOnce [可选] 默认值=false 是否只监听一次
immediatelyCallback [可选] 默认值=true 是否当前立刻回调一次,否则在下次该变量的值更改时才收到回调事件
removeListenerPlayerVariable
removeListenerPlayerVariable(type : number, varID : number, onChange : Callback): void :
取消监听玩家变量
单机版内核:直接取消监听本地变量的改变
网络版内核:当所有监听该编号的变量都取消了的话则通知服务器-取消该编号变量的监听同步,当该变量改变时将不会发送给客户端同步消息
参数
type 0-变量 1-开关 2-字符串
varID 变量ID
onChange 当变量改变时的回调,必须传入监听玩家变量时的这个回调才能够取消