CardComposeItemCtr.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. local CardComposeItemCtr = {}
  2. local CardIconBigItemCtr = require("Common/CardIconBigItemCtr")
  3. function CardComposeItemCtr:SetData(wnd, item, logicData, onClickOwner, onClickCB)
  4. local task = logicData.task
  5. local cfgId = task.cfgId
  6. local isAdd = task.isAdd
  7. local needShow = task.needShow
  8. local isCurIdx = logicData.isCurIdx
  9. local data = {cfgId = cfgId}
  10. CardIconBigItemCtr:SetData(wnd, item.cardIconBigItem, data, Enum.ItemIEnterType.CardRecreate)
  11. --DG.Tweening.DOTween.Kill(item.transform)
  12. item.animator:Play("CardMoveKeep")
  13. if isCurIdx and needShow then
  14. if item.oldTask and item.oldTask.cfgId ~= task.cfgId then
  15. if item.oldTask.isAnimationing then
  16. item.oldTask.isAnimationing = false
  17. if onClickOwner and onClickCB then
  18. onClickCB(onClickOwner, item.oldTask, item)
  19. end
  20. end
  21. end
  22. local animationName = isAdd and "CardMoveIn" or "CardMoveOut"
  23. item.animator:Play(animationName)
  24. task.isAnimationing = true
  25. item.oldTask = task
  26. item.transform:DOScale(1, 0.25):OnComplete(function ()
  27. task.isAnimationing = false
  28. item.oldTask = nil
  29. if onClickOwner and onClickCB then
  30. onClickCB(onClickOwner, task, item)
  31. end
  32. end)
  33. else
  34. logicData.task.isAnimationing = false
  35. end
  36. end
  37. return CardComposeItemCtr