25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

106 satır
2.8 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. local Color_Ting_Yong_Card = cc.c3b(255, 255, 215)
  6. function Card2D:ctor(...)
  7. self._isTingYongCard = false
  8. self._isDingQueCard = false
  9. Card2D.super.ctor(self, ...)
  10. end
  11. ---
  12. -- 刷新多头杠数量
  13. -- @param cardNum
  14. -- @return
  15. --
  16. -- function Card2D:refreshCardNum(cardNum, groupIndex)
  17. -- local viewId = self:getViewId()
  18. -- local imgFlag = self:getChildByName("img_cardnum_flag")
  19. -- if not imgFlag then
  20. -- imgFlag = cc.ImageView:create()
  21. -- self:addChild(imgFlag)
  22. -- end
  23. -- imgFlag:setVisible(cardNum > 4)
  24. -- if not (cardNum and cardNum > 4) then
  25. -- return
  26. -- end
  27. -- local imgPath = string.format("mj_yibinmajiang/res/zy_fangjian/card/flag_gang/yibinmajiang_flag_gang_%d.png", cardNum)
  28. -- imgFlag:loadTexture(imgPath, 0)
  29. -- imgFlag:setName("img_cardnum_flag")
  30. -- local cfg = nil
  31. -- local rotationCfg = nil
  32. -- if self._mjType == MJDefine.MJConfig_2d.MJType.Out then
  33. -- cfg = MJDefine.OutDuoGangFlagPos[MJDefine.DesktopType.ThreeD][viewId];
  34. -- cfg.x = cfg.pos.x
  35. -- cfg.y = cfg.pos.y
  36. -- else
  37. -- cfg = MJDefine.MJConfig_2d.OpDuoGangFlagPos[viewId]
  38. -- rotationCfg = MJDefine.MJConfig_2d.OpDuoGangFlagRotationConfig[viewId]
  39. -- end
  40. -- if cfg then
  41. -- imgFlag:setPosition(cc.p(cfg.x, cfg.y));
  42. -- imgFlag:setScale(cfg.scale);
  43. -- end
  44. -- if rotationCfg then
  45. -- imgFlag:setEulerRotation(cc.vec3(rotationCfg.x, rotationCfg.y, rotationCfg.z))
  46. -- end
  47. -- end
  48. -- 设置状态
  49. function Card2D:setStatus(status)
  50. self.status = status
  51. if status == MJDefine.MJStatus.Disable then
  52. self:setColor(cc.c3b(150, 150, 150))
  53. else
  54. if self:getIsTingYongCard() then
  55. self:setColor(Color_Ting_Yong_Card)
  56. else
  57. self:setColor(cc.c3b(255, 255, 255))
  58. end
  59. end
  60. end
  61. -- 设置为听用牌
  62. function Card2D:setIsTingYongCard(isBool)
  63. self._isTingYongCard = isBool or false
  64. if isBool then
  65. self:setTingColor()
  66. else
  67. self:setStatus(MJDefine.MJStatus.Normal)
  68. end
  69. end
  70. -- 获取本牌是否是听用牌
  71. function Card2D:getIsTingYongCard()
  72. return self._isTingYongCard
  73. end
  74. -- 设置为定缺牌
  75. function Card2D:setIsDingQueCard(isBool)
  76. self._isDingQueCard = isBool or false
  77. end
  78. -- 获取本牌是否是定缺牌
  79. function Card2D:getIsDingQueCard()
  80. return self._isDingQueCard
  81. end
  82. function Card2D:setValueImage(value)
  83. local imgName = string.format("mj_2d_mahjong_card_%x.png", value)
  84. self._mahjongImage:loadTextureFromPlist(imgName)
  85. end
  86. function Card2D:setTingColor()
  87. self:setColor(Color_Ting_Yong_Card)
  88. end
  89. return Card2D