| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- local DropItemOutOfViewCommand = class('DropItemOutOfViewCommand', framework.SimpleCommand)
- requireProxy("actorUtils")
- function DropItemOutOfViewCommand:ctor()
- end
- function DropItemOutOfViewCommand:execute(notification)
- local data = notification:getBody()
- local actorID = data.actorID
-
- -- clear auto pick item ID
- local autoProxy = global.Facade:retrieveProxy(global.ProxyTable.Auto)
- if autoProxy:GetPickItemID() == actorID then
- autoProxy:SetPickItemID(nil)
- autoProxy:SetPickBeginTime(nil)
- -- 清理前往拾取物的路径
- local inputProxy = global.Facade:retrieveProxy(global.ProxyTable.PlayerInputProxy)
- inputProxy:SetPathFindPoints({})
- end
- local dropActor = global.actorManager:GetActor(actorID)
- if dropActor then
- local mapX = dropActor:GetMapX()
- local mapY = dropActor:GetMapY()
- local dItems = global.dropItemManager:FindDropItemAllInMapXY(mapX, mapY)
- if dItems and next(dItems) then
- for _, dropItem in pairs(dItems) do
- dropItem:ResetPickState()
- dropItem:ResetPickTimeout()
- end
- end
- end
- -- cleanup actor attr
- ClenupActorAttrByID(actorID)
- end
- return DropItemOutOfViewCommand
|