49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
CreaturePropCommand = class("CreaturePropCommand",pm.SimpleCommand)
|
|
|
|
function CreaturePropCommand:execute(note)
|
|
local data = note.body
|
|
|
|
if note.name == ServiceEvent.PlayerMapObjectData then
|
|
local target = SceneCreatureProxy.FindCreature(data.guid)
|
|
if(target ~= nil) then
|
|
self:UpdateProp(target,data)
|
|
end
|
|
elseif note.name == ServiceEvent.NpcChangeHp then
|
|
local target = SceneCreatureProxy.FindCreature(data.charid)
|
|
if(target ~= nil) then
|
|
self:UpdatePropHp(target,data)
|
|
end
|
|
end
|
|
end
|
|
|
|
function CreaturePropCommand:UpdateProp(target,data)
|
|
-- print("creature Prop---Start----")
|
|
if(target.props == nil) then
|
|
target.props = PropsContainer.new(UserProxy.Instance.creatureProps,true)
|
|
end
|
|
target:SetProps(data.attrs)
|
|
-- print("creature Prop---End----")
|
|
if(data.attrs ~= nil and #data.attrs >0) then
|
|
GameFacade.Instance:sendNotification(SceneCreatureEvent.PropChange, target)
|
|
end
|
|
|
|
-- if(data.datas ~= nil and #data.datas >0) then
|
|
-- GameFacade.Instance:sendNotification(MyselfEvent.MyDataChange, data.datas)
|
|
-- end
|
|
|
|
-- GameFacade.Instance:sendNotification(MyselfEvent.MyAttrChange, UserAttrSyncCmd)
|
|
end
|
|
|
|
function CreaturePropCommand:UpdatePropHp(target,data)
|
|
if target.props == nil then
|
|
return
|
|
end
|
|
|
|
if data.hp ~= nil then
|
|
local oldHP = target.props.Hp:GetValue()
|
|
target.props.Hp:SetValue(data.hp)
|
|
GameFacade.Instance:sendNotification(SceneCreatureEvent.PropHpChange, target)
|
|
end
|
|
end
|
|
|