GSServer-CBT/soggy_resources/lua/Actor/SubGlobal/SubGlobalActorProxy.lua

125 lines
3.9 KiB
Lua
Raw Normal View History

2022-11-21 11:30:31 +03:00
----------------------
-- 这是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