Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

100 rader
3.2 KiB

  1. local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJFunction = MJFramework.MJImport("mj.luaScript.MJFunction")
  3. local CommonMahjongCard = require("mj.luaScript.Common.2d.CommonMahjongCard")
  4. local Card2D = class("Card2D", CommonMahjongCard)
  5. function Card2D:ctor(...)
  6. Card2D.super.ctor(self, ...)
  7. end
  8. --- Card2D:setLuoBoVisible 显示萝卜标识
  9. -- @param isVisible 是否显示,为true时,count可不传
  10. -- @param count 萝卜牌数量
  11. function Card2D:setLuoBoVisible(isVisible, count, groupIndex)
  12. if self._mjType == MJDefine.MJConfig_2d.MJType.Stand then
  13. if self._viewId ~= MJDefine.PlayerViewType.My then
  14. return
  15. end
  16. end
  17. local viewId = self:getViewId()
  18. local imgFlag = self:getChildByName("img_luobo_flag")
  19. if not imgFlag then
  20. imgFlag = cc.ImageView:create()
  21. self:addChild(imgFlag)
  22. end
  23. imgFlag:setVisible(isVisible)
  24. if not isVisible then
  25. imgFlag:setVisible(false)
  26. return
  27. end
  28. local imgPath = string.format("mj_huamajiang/res/zy_fangjian/card/flag_luobo/huamajiang_flag_luobo_%d.png", count)
  29. imgFlag:loadTexture(imgPath, 0)
  30. imgFlag:setName("img_luobo_flag")
  31. local cfg = nil
  32. local rotationCfg = nil
  33. if self._mjType == MJDefine.MJConfig_2d.MJType.Operate or self._mjType == MJDefine.MJConfig_2d.MJType.OperateBlack then
  34. cfg = MJDefine.MJConfig_2d.OpCardLuoBoFlagPos[viewId]
  35. rotationCfg = MJDefine.MJConfig_2d.OpCardLuoBoFlagScale[viewId]
  36. elseif self._mjType == MJDefine.MJConfig_2d.MJType.Open then
  37. cfg = MJDefine.MJConfig_2d.OpenCardLuoBoFlagPos[viewId]
  38. rotationCfg = MJDefine.MJConfig_2d.OpenCardLuoBoFlagScale[viewId]
  39. else
  40. cfg = MJDefine.HandCardLuoBoFlagPos[MJDefine.DesktopType.ThreeD][viewId];
  41. end
  42. if cfg then
  43. imgFlag:setPosition(cc.p(cfg.x, cfg.y));
  44. imgFlag:setScale(cfg.scale);
  45. end
  46. if rotationCfg then
  47. imgFlag:setEulerRotation(cc.vec3(rotationCfg.x, rotationCfg.y, rotationCfg.z))
  48. end
  49. end
  50. ---
  51. -- 刷新多头杠数量
  52. -- @param cardNum
  53. -- @return
  54. --
  55. function Card2D:refreshCardNum(cardNum, groupIndex)
  56. local viewId = self:getViewId()
  57. local imgFlag = self:getChildByName("img_cardnum_flag")
  58. if not imgFlag then
  59. imgFlag = cc.ImageView:create()
  60. self:addChild(imgFlag)
  61. end
  62. imgFlag:setVisible(cardNum > 4)
  63. if not (cardNum and cardNum > 4) then
  64. return
  65. end
  66. local imgPath = string.format("mj_huamajiang/res/zy_fangjian/card/flag_gang/huamajiang_flag_gang_%d.png", cardNum)
  67. imgFlag:loadTexture(imgPath, 0)
  68. imgFlag:setName("img_cardnum_flag")
  69. local cfg = nil
  70. local rotationCfg = nil
  71. if self._mjType == MJDefine.MJConfig_2d.MJType.Out then
  72. cfg = MJDefine.OutDuoGangFlagPos[MJDefine.DesktopType.ThreeD][viewId];
  73. cfg.x = cfg.pos.x
  74. cfg.y = cfg.pos.y
  75. else
  76. cfg = MJDefine.MJConfig_2d.OpDuoGangFlagPos[viewId]
  77. rotationCfg = MJDefine.MJConfig_2d.OpDuoGangFlagRotationConfig[viewId]
  78. end
  79. if cfg then
  80. imgFlag:setPosition(cc.p(cfg.x, cfg.y));
  81. imgFlag:setScale(cfg.scale);
  82. end
  83. if rotationCfg then
  84. imgFlag:setEulerRotation(cc.vec3(rotationCfg.x, rotationCfg.y, rotationCfg.z))
  85. end
  86. end
  87. return Card2D