mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2025-01-13 00:29:29 +03:00
125 lines
3.9 KiB
Lua
125 lines
3.9 KiB
Lua
----------------------
|
||
-- 这是Lua端SubGlobalActorProxy的基类,包含了注册全局回调的方法。继承自BaseActorProxy
|
||
-- @classmod SubGlobalActorProxy
|
||
require('Actor/ActorCommon')
|
||
local baseActorProxy = require('Actor/BaseActorProxy')
|
||
|
||
local SubGlobalActorProxy = class("SubGlobalActorProxy", baseActorProxy)
|
||
|
||
SubGlobalActorProxy.actorType = ActorType.SUB_GLOBAL_ACTOR
|
||
|
||
--- SubGlobalActorProxy alias
|
||
SubGlobalActorProxy.defaultAlias = "SubGlobal"
|
||
|
||
local super = nil
|
||
|
||
function SubGlobalActorProxy:OnPreInit()
|
||
super = self.__super
|
||
super:OnPreInit()
|
||
end
|
||
|
||
function SubGlobalActorProxy:OnInit(alias)
|
||
super:OnInit(alias)
|
||
self.uActor = self:CreateUActor(alias)
|
||
end
|
||
|
||
function SubGlobalActorProxy:OnPostInit()
|
||
self:Register()
|
||
end
|
||
|
||
function SubGlobalActorProxy:OnDestroy()
|
||
self:Unregister()
|
||
end
|
||
|
||
--- SubGlobalActorProxy
|
||
function SubGlobalActorProxy:CreateLimitRegion(name)
|
||
return self.uActor:CreateLimitRegion(name)
|
||
end
|
||
|
||
--- SubGlobalActorProxy
|
||
function SubGlobalActorProxy:DestroyLimitRegion(name)
|
||
self.uActor:DestroyLimitRegion(name)
|
||
end
|
||
|
||
--- SubGlobalActorProxy检查是否有超出区域
|
||
function SubGlobalActorProxy:CheckNeedTrans(pos, offset)
|
||
return self.uActor:CheckNeedTrans(pos, offset)
|
||
end
|
||
|
||
--- SubGlobalActorProxy检查是否有超出区域
|
||
function SubGlobalActorProxy:GetLimitRegionDis(pos, offset)
|
||
return self.uActor:GetLimitRegionDis(pos, offset)
|
||
end
|
||
|
||
function SubGlobalActorProxy:CreateUActor(alias)
|
||
local uActor = actorUtils.CreateActor(self, ActorType.SUB_GLOBAL_ACTOR, alias, self.metaPath)
|
||
uActor = actorUtils.CreateGlobalActor(uActor)
|
||
return uActor
|
||
end
|
||
|
||
function SubGlobalActorProxy:Register()
|
||
|
||
end
|
||
|
||
function SubGlobalActorProxy:Unregister()
|
||
|
||
end
|
||
|
||
--- SubGlobalActor昼夜相关方法
|
||
-- @section daynight
|
||
|
||
--- SubGlobalActor注册到白天了的回调
|
||
-- @tparam function dayCallback 到白天了的调用方法
|
||
function SubGlobalActorProxy:RegisterDayCallback(dayCallback)
|
||
self.uActor:RegisterDayCallback(dayCallback)
|
||
end
|
||
--- SubGlobalActor取消注册到白天了的回调
|
||
-- @tparam function dayCallback 到白天了的调用方法
|
||
function SubGlobalActorProxy:UnregisterDayCallback(dayCallback)
|
||
self.uActor:UnregisterDayCallback(dayCallback)
|
||
end
|
||
--- SubGlobalActor注册到晚上了的回调
|
||
-- @tparam function nightCallback 到晚上了的调用方法
|
||
function SubGlobalActorProxy:RegisterNightCallback(nightCallback)
|
||
self.uActor:RegisterNightCallback(nightCallback)
|
||
end
|
||
--- SubGlobalActor取消注册到晚上了的回调
|
||
-- @tparam function nightCallback 到晚上了的调用方法
|
||
function SubGlobalActorProxy:UnregisterNightCallback(nightCallback)
|
||
self.uActor:UnregisterNightCallback(nightCallback)
|
||
end
|
||
--- SubGlobalActor注册小时的回调
|
||
-- @tparam function hourCallback 小时回调
|
||
function SubGlobalActorProxy:RegisterHourCallback(hourCallback)
|
||
self.uActor:RegisterHourCallback(hourCallback)
|
||
end
|
||
--- SubGlobalActor取消注册小时的回调
|
||
-- @tparam function nightCallback 小时回调
|
||
function SubGlobalActorProxy:UnregisterHourCallback(hourCallback)
|
||
self.uActor:UnregisterHourCallback(hourCallback)
|
||
end
|
||
|
||
--- SubGlobalActor天气相关方法
|
||
-- @section weather
|
||
|
||
--- SubGlobalActor注册天气变化的回调
|
||
-- @tparam function weatherCallback 天气变化的回调,回调需接受一个WeathType类型的参数
|
||
function SubGlobalActorProxy:RegisterWeatherCallback(weatherCallback)
|
||
self.uActor:RegisterWeatherCallback(weatherCallback)
|
||
end
|
||
--- SubGlobalActor取消注册天气变化的回调
|
||
-- @tparam function weatherCallback 天气变化的回调,回调需接受一个WeathType类型的参数
|
||
function SubGlobalActorProxy:UnregisterWeatherCallback(weatherCallback)
|
||
self.uActor:UnregisterWeatherCallback(weatherCallback)
|
||
end
|
||
--- SubGlobalActor改变天气
|
||
-- @tparam string weatherName 天气配置的名字
|
||
function SubGlobalActorProxy:ChangeWeather(weatherName)
|
||
self.uActor:ChangeWeather(weatherName)
|
||
end
|
||
--- SubGlobalActor恢复天气到服务器当前
|
||
function SubGlobalActorProxy:LeaveWeather()
|
||
self.uActor:LeaveWeather()
|
||
end
|
||
|
||
return SubGlobalActorProxy |