Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

88 řádky
2.7 KiB

  1. local MJSound = MJFramework.MJImport("mj.luaScript.MJSound")
  2. local Mahjong3DOutCardView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Common.3d.Mahjong3DOutCardView")
  3. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  4. local OutCardView3D = class("OutCardView3D", Mahjong3DOutCardView)
  5. function OutCardView3D:ctor(...)
  6. OutCardView3D.super.ctor(self, ...)
  7. end
  8. function OutCardView3D:onOutCard(card, callback)
  9. MJSound.PlayOutCard()
  10. self:addCard(card)
  11. self:refreshZOrder()
  12. if callback then
  13. callback()
  14. end
  15. self:runOutCardAction(card)
  16. end
  17. --łöĹĆśŻť­
  18. function OutCardView3D:runOutCardAction(value,callback)
  19. local outCard=self._outCardNodes[#self._outCardNodes]
  20. local linshui_mj_color = loadUserInfo("mj_linshui_desktop_2d_mjType") or MJDefine.DesktopType.TwoDL
  21. CardClass = require("mj_linshui.luaScript.Views.3d.Card_3d")--MJDefine.MJConfig_3d.MAHJONG_CARD
  22. local showCard = CardClass:new(value, 4, MJDefine.MJConfig_2d.MJType.Stand, 1)
  23. --local showCard=MJ:new(value,MJDefine.MJType.Stand,MJDefine.MyViewId,self.desktopType)
  24. self:addChild(showCard)
  25. showCard:setLocalZOrder(9999)
  26. --showCard:setScale(MJDefine.MJ_OUT_CARD_SCALE)
  27. showCardPostion = {
  28. [1] = {x = 1015*g_radio_x, y = 423*g_radio_y},
  29. [2] = {x = 641*g_radio_x, y = 571*g_radio_y},
  30. [3] = {x = 265*g_radio_x, y = 423*g_radio_y},
  31. [4] = {x = 640*g_radio_x, y = 210*g_radio_y},
  32. }
  33. showCard:setPosition(showCardPostion[self._viewId])
  34. local rotate=0
  35. if self._viewId==MJDefine.PlayerViewType.Left then
  36. rotate=-45
  37. elseif self._viewId==MJDefine.PlayerViewType.Right then
  38. rotate=45
  39. end
  40. local actions={
  41. --cc.ScaleTo:create(MJDefine.MJ_TIME_OUT_CARD_SCALE,1),
  42. cc.DelayTime:create(MJDefine.MJ_TIME_OUT_CARD_WAIT),
  43. --[[cc.Spawn:create(
  44. cc.Spawn:create(
  45. cc.MoveTo:create(MJDefine.MJ_TIME_OUT_CARD,outCard:getPosition()),
  46. cc.ScaleTo:create(MJDefine.MJ_TIME_OUT_CARD,MJDefine.MJ_OUT_CARD_SCALE)
  47. ),
  48. cc.RotateBy:create(MJDefine.MJ_TIME_OUT_CARD,rotate)
  49. ),--]]
  50. cc.CallFunc:create(function()
  51. -- MJSound.PlayOutCard()
  52. if outCard and not tolua.isnull(outCard) then
  53. --outCard:setVisible(true)
  54. end
  55. if callback then callback() end
  56. end),
  57. cc.RemoveSelf:create(),
  58. }
  59. showCard:runAction(cc.Sequence:create(actions))
  60. end
  61. function OutCardView3D:onSelectCard(event)
  62. if not event then
  63. return
  64. end
  65. local value = event.value;
  66. for k, v in ipairs(self._outCardNodes or {}) do
  67. if (not value) or value <= 0 then
  68. v:setNormalColor()
  69. else
  70. if v:getValue() == value then
  71. v:setColor(cc.c3b(243, 147, 9))
  72. else
  73. v:setNormalColor()
  74. end
  75. end
  76. end
  77. end
  78. return OutCardView3D