GSServer-CBT/soggy_resources/lua/Actor/SubGlobal/SubGlobalActorProxy.lua
Akbar Yahya e0d4d8040c melon
2022-11-21 16:30:31 +08:00

125 lines
3.9 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

----------------------
-- 这是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