51 lines
1.2 KiB
Plaintext
51 lines
1.2 KiB
Plaintext
CreatureVisibleHandler = reusableClass("CreatureVisibleHandler")
|
|
CreatureVisibleHandler.PoolSize = 100
|
|
|
|
LayerChangeReason = {
|
|
HidingSkill = 999999,
|
|
CJ = 999998,
|
|
CarrierWaiting = 999997,
|
|
SceneSeat = 999996,
|
|
DoubleAction = 999995,
|
|
OnStageWaitting = 999994,
|
|
}
|
|
|
|
function CreatureVisibleHandler:ctor()
|
|
CreatureVisibleHandler.super.ctor(self)
|
|
self.reason = {}
|
|
end
|
|
|
|
function CreatureVisibleHandler:HasReason()
|
|
for k,v in pairs(self.reason) do
|
|
return true
|
|
end
|
|
return false
|
|
end
|
|
|
|
function CreatureVisibleHandler:Visible(creature,v,reason)
|
|
-- LogUtility.InfoFormat("creature visible id : {0} , visible : {1} , reason:{2}",creature.data.id,v,reason )
|
|
if(v) then
|
|
self.reason[reason] = nil
|
|
if(not self:HasReason()) then
|
|
creature.assetRole:SetInvisible(false)
|
|
if(creature.data) then
|
|
creature:SetClickable(true)
|
|
end
|
|
end
|
|
else
|
|
self.reason[reason] = reason
|
|
creature.assetRole:SetInvisible(true)
|
|
if(creature.data) then
|
|
creature:SetClickable(false)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- override begin
|
|
function CreatureVisibleHandler:DoConstruct(asArray, creatureID)
|
|
end
|
|
|
|
function CreatureVisibleHandler:DoDeconstruct(asArray)
|
|
TableUtility.TableClear(self.reason)
|
|
end
|
|
-- override end |