You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

733 lines
30 KiB

  1. local linshuiDefine=MJFramework.MJFrameworkClassImprot("mj.luaScript.MJDefine")
  2. linshuiDefine.GameID = 58
  3. linshuiDefine.IS_NEW_3D = true
  4. --碰牌后推送的听牌提示
  5. linshuiDefine.MJEvent.OutCardTings="MJEvent_OutCardTings"
  6. linshuiDefine.MJEvent.HuResponse = "MJEvent_HuResponse"
  7. --通知庄家爆牌
  8. linshuiDefine.MJEvent.BankerBaoPai= "MJEvent_BankerBaoPai"
  9. --请求爆牌
  10. linshuiDefine.MJEvent.BaoPaiRequest= "MJEvent_BaoPaiRequest"
  11. --广播爆牌
  12. linshuiDefine.MJEvent.BaoPaiResponse = "MJEvent_BaoPaiResponse"
  13. --发送过操作
  14. linshuiDefine.MJEvent.SendGuo = "MJEvent_SendGuo"
  15. --抢断操作操作
  16. linshuiDefine.MJEvent.QiangDuanOperates = "MJEvent_QiangDuanOperates"
  17. --广播开始飘
  18. linshuiDefine.MJEvent.StartPiao = "MJEvent_StartPiao"
  19. --请求飘
  20. linshuiDefine.MJEvent.PiaoRequest = "MJEvent_PiaoRequest"
  21. --飘返回
  22. linshuiDefine.MJEvent.PiaoResponse = "MJEvent_PiaoResponse"
  23. --通知换三张
  24. linshuiDefine.MJEvent.NoticeSwapCard = "MJEvent_NoticeSwapCard"
  25. --请求换三张
  26. linshuiDefine.MJEvent.RequestSwapCard = "MJEvent_RequestSwapCard"
  27. --换三张错误
  28. linshuiDefine.MJEvent.SwapCardErr = "MJEvent_SwapCardErr"
  29. --换三张成功
  30. linshuiDefine.MJEvent.SwapCardSucc = "MJEvent_SwapCardSucc"
  31. --换三张成功信息
  32. linshuiDefine.MJEvent.SwapCardSuccInfo = "MJEvent_SwapCardSuccInfo"
  33. --通知定缺
  34. linshuiDefine.MJEvent.NoticeDingQue = "MJEvent_NoticeDingQue"
  35. --请求定缺
  36. linshuiDefine.MJEvent.RequestDingQue = "MJEvent_RequestDingQue"
  37. --定缺成功
  38. linshuiDefine.MJEvent.DingQueSucc = "MJEvent_DingQueSucc"
  39. --定缺成功广播告诉玩家定缺类型
  40. linshuiDefine.MJEvent.DingQueSuccInfo = "MJEvent_DingQueSuccInfo"
  41. --定缺之后的操作,内容和0x8106保持统一 广播桌子上所有玩家庄家起手操作
  42. linshuiDefine.MJEvent.AfterDingQue = "MJEvent_AfterDingQue"
  43. --请求躺牌
  44. linshuiDefine.MJEvent.TangPaiRequest= "MJEvent_TangPaiRequest"
  45. --广播躺牌
  46. linshuiDefine.MJEvent.TangPaiResponse = "MJEvent_TangPaiResponse"
  47. --红中是否参与碰杠
  48. linshuiDefine.isTieGui = true
  49. --发牌是否自动对齐
  50. linshuiDefine.isAutomatic = true
  51. --发牌时有操作可以出牌,并发送过操作
  52. linshuiDefine.outCardSendGuo = false
  53. linshuiDefine.isReady = false
  54. linshuiDefine.isSendGuo = false
  55. linshuiDefine.isLanguage = true
  56. --出牌速度
  57. linshuiDefine.MJ_TIME_OUT_CARD=0
  58. linshuiDefine.MJ_TIME_OUT_CARD_SCALE=0.1
  59. linshuiDefine.MJ_TIME_OUT_CARD_WAIT=1.0
  60. linshuiDefine.MJ_OUT_CARD_SCALE=0.5
  61. linshuiDefine.MJRes = {
  62. [linshuiDefine.DesktopType.TwoD] = {"mj/res/ui/zy_fangjian/mj.plist", "mj/res/ui/zy_fangjian/mj_2d.plist","mj_linshui/res/zy_fangjian/mj_2d_cards.plist",},
  63. [linshuiDefine.DesktopType.ThreeD] = {"mj/res/ui/zy_fangjian/mj.plist", "mj/res/ui/zy_fangjian/mahjong/mj_3d_cards_1.plist", "mj/res/ui/zy_fangjian/mahjong/mj_3d_cards_2.plist", "mj_linshui/res/zy_fangjian/mj_2d_cards.plist","mj/res/ui/zy_fangjian/mj_2d.plist",},
  64. [linshuiDefine.DesktopType.TwoDGold] = {"mj/res/ui/zy_fangjian/mj.plist","mj_linshui/res/zy_fangjian/mj_2d_gold.plist", "mj_linshui/res/zy_fangjian/mj_2d_cards.plist"},
  65. [linshuiDefine.DesktopType.TwoDL] = {"mj/res/ui/zy_fangjian/mj.plist", "mj/res/ui/zy_fangjian/mj_2d.plist","mj_linshui/res/zy_fangjian/mj_2d_cards.plist","mj_linshui/res/zy_fangjian/mj_2d_lgold.plist"},
  66. }
  67. -- 游戏状态
  68. linshuiDefine.GameStatus={
  69. GAME_STATUS_INIT = 0, --//初始状态
  70. GAME_STATUS_WAIT_BANKER_START = 1, --//等待庄家开始游戏
  71. GAME_STATUS_SHUFFLE = 2, --//洗牌中即定庄与开打之间的状态
  72. GAME_STATUS_GANG_AFTER = 3, --//杠完牌之后
  73. GAME_STATUS_WAIT_OUT_CARD = 4, --//等待玩家出牌
  74. GAME_STATUS_WAIT_OPERATE = 5, --//等待玩家操作
  75. GAME_STATUS_WAIT_QIANG_GANG_HU = 6, --//等待抢杠胡
  76. GAME_STATUS_WAIT_SWAP_CARDS = 7, --//等待玩家换牌
  77. GAME_STATUS_WAIT_SELECT_QUE = 8, --//等待选缺
  78. GAME_STATUS_ROUND_OVER = 9, --//小局结束
  79. GAME_STATUS_GAME_OVER = 10,--//总结算
  80. }
  81. linshuiDefine.MJOperateType={
  82. OPREATE_CANCEL = 0x0000, --没有任何操作
  83. OPREATE_CHUPAI = 0x0001, --出牌
  84. OPREATE_CHI = 0x0002, --吃操作
  85. OPREATE_PENG = 0x0004, --碰操作
  86. OPREATE_ZHIGANG = 0x0008, --直杠操作
  87. OPREATE_BAGANG = 0x0010, --巴杠
  88. OPREATE_ANGANG = 0x0020, --暗杠
  89. OPREATE_DIANPAOHU = 0x0040, --点炮胡牌
  90. OPREATE_ZIMOHU = 0x0080, --自胡牌
  91. OPREATE_GUOSHOUGANG = 0x0100, --过手杠 只做标识,操作值不会有
  92. OPREATE_MINGGANG = 0x0200, --明杠
  93. OPREATE_QIANG_GANG_HU = 0x0400, --抢杠胡
  94. }
  95. linshuiDefine.MJOperateNeedRemoveCard={
  96. OPREATE_CHI = 0x0002, --吃操作
  97. OPREATE_PENG = 0x0004, --碰操作
  98. OPREATE_ZHIGANG = 0x0008, --直杠操作
  99. -- OPREATE_BAGANG = 0x0010, --巴杠
  100. --OPREATE_ANGANG = 0x0020, --暗杠
  101. }
  102. linshuiDefine.MJOperateImage={
  103. [linshuiDefine.MJOperateType.OPREATE_CANCEL]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_guo.png",
  104. [linshuiDefine.MJOperateType.OPREATE_CHI]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_chi.png",
  105. [linshuiDefine.MJOperateType.OPREATE_PENG]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_peng.png",
  106. [linshuiDefine.MJOperateType.OPREATE_ZHIGANG]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_gang.png",
  107. [linshuiDefine.MJOperateType.OPREATE_BAGANG]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_gang.png",
  108. [linshuiDefine.MJOperateType.OPREATE_ANGANG]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_gang.png",
  109. [linshuiDefine.MJOperateType.OPREATE_DIANPAOHU]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_hu.png",
  110. [linshuiDefine.MJOperateType.OPREATE_ZIMOHU]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_hu.png",
  111. [linshuiDefine.MJOperateType.OPREATE_QIANG_GANG_HU]="mj_linshui/res/zy_fangjian/linshuiadd/mj_btn_qiang_gang_hu.png",
  112. }
  113. linshuiDefine.MJGameHuType={
  114. HU_ZIMO = 1, --自摸
  115. HU_DIANPAO = 2, --点炮胡
  116. HU_QIANGGANG = 3, --抢杠胡
  117. }
  118. linshuiDefine.MJGamePaiType = {
  119. PING_HU = 0x0001, --平胡
  120. TIAN_HU = 0x0002, --天胡
  121. DI_HU = 0x0004, --地胡
  122. QI_DUI = 0x0008, --七对胡
  123. LONG_QI_DUI_SC = 0x0010, --龙七对
  124. QING_YI_SE = 0x0020, --清一色
  125. DUI_DUI_HU = 0x0040, --对对胡
  126. MEN_QING_HU_SC = 0x0080, --门清
  127. DAN_DIAO = 0x0100, --单调
  128. KA_ZHANG = 0x0200, --卡张
  129. BIAN_ZHANG = 0x0400, --边张
  130. DA_SAN_YUAN = 0x0800, --大三元
  131. SHIBA_XUE = 0x01000, --十八学士
  132. GANG_SHANG_HUA = 0x02000, --杠上花
  133. GANG_SHANG_PAO = 0x04000, --杠上炮
  134. QIANG_GANG_HU = 0x08000, --抢杠胡
  135. HAI_DI_HU = 0x10000, --海底胡
  136. JIN_GOU_DIAO = 0x20000, --金钩胡
  137. }
  138. linshuiDefine.MJGameHuStr = {
  139. [linshuiDefine.MJGamePaiType.PING_HU] = "平胡",
  140. [linshuiDefine.MJGamePaiType.TIAN_HU] = "天胡",
  141. [linshuiDefine.MJGamePaiType.DI_HU] = "地胡",
  142. [linshuiDefine.MJGamePaiType.QI_DUI] = "七对",
  143. [linshuiDefine.MJGamePaiType.LONG_QI_DUI_SC] = "龙七对",
  144. [linshuiDefine.MJGamePaiType.QING_YI_SE] = "清一色",
  145. [linshuiDefine.MJGamePaiType.DUI_DUI_HU] = "大对子",
  146. [linshuiDefine.MJGamePaiType.MEN_QING_HU_SC] = "门清",
  147. [linshuiDefine.MJGamePaiType.DAN_DIAO] = "单调",
  148. [linshuiDefine.MJGamePaiType.KA_ZHANG] = "卡张",
  149. [linshuiDefine.MJGamePaiType.BIAN_ZHANG] = "边张",
  150. [linshuiDefine.MJGamePaiType.DA_SAN_YUAN] = "大三元",
  151. [linshuiDefine.MJGamePaiType.SHIBA_XUE] = "十八学士",
  152. [linshuiDefine.MJGamePaiType.GANG_SHANG_HUA] = "杠上花",
  153. [linshuiDefine.MJGamePaiType.GANG_SHANG_PAO] = "杠上炮",
  154. [linshuiDefine.MJGamePaiType.QIANG_GANG_HU] = "抢杠胡",
  155. [linshuiDefine.MJGamePaiType.HAI_DI_HU] = "海底胡",
  156. [linshuiDefine.MJGamePaiType.JIN_GOU_DIAO] = "金钩钓",
  157. }
  158. --合并字符
  159. linshuiDefine.MJGameHuMargeTab = {
  160. {tab={"清一色","七对胡","1归"},name="清龙七对"},
  161. {tab={"清一色","七对胡","2归"},name="清双龙七对"},
  162. {tab={"清一色","七对胡","3归"},name="清三龙七对"},
  163. {tab={"清一色","大对子"},name="清大对"},
  164. {tab={"清一色","七对胡"},name="清七对"},
  165. {tab={"1归","七对胡"},name="龙七对"},
  166. {tab={"2归","七对胡"},name="双龙七对"},
  167. {tab={"3归","七对胡"},name="三龙七对"},
  168. }
  169. linshuiDefine.MJGameChatTxt = {
  170. [1] = "速度些塞,都又少打两盘咯",
  171. [2] = "我可不可以笑一下,哈哈哈",
  172. [3] = "催撒子嘛,雀都没雀清楚",
  173. [4] = "菩萨菩萨,来个咔咔",
  174. [5] = "心不黑,到不了美国",
  175. [6] = "赢家怕吃饭,输家怕停电",
  176. [7] = "万水千山总是情,多收一点行不行",
  177. [8] = "哎,手气好的遭不住",
  178. [9] = "怎么又掉线了,网络太差了",
  179. [10] = "你们一群棒老二,手气咋个那么好",
  180. [11] = "必须点个赞",
  181. [12] = "打牌打的精,说明思路清",
  182. [13] = "打牌没有巧,全靠手气好",
  183. [14] = "顶上家,卡下家,自摸三家",
  184. [15] = "输赢都不走,能做一把手",
  185. [16] = "耶,帽子手气硬哦",
  186. }
  187. linshuiDefine.MJChatTxt = {
  188. [1] = {txt="速度些塞,都又少打两盘咯",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_1.ogg"},
  189. [2] = {txt="我可不可以笑一下,哈哈哈",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_2.ogg"},
  190. [3] = {txt="催撒子嘛,雀都没雀清楚",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_3.ogg"},
  191. [4] = {txt="菩萨菩萨,来个咔咔",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_4.ogg"},
  192. [5] = {txt="心不黑,到不了美国",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_5.ogg"},
  193. [6] = {txt="赢家怕吃饭,输家怕停电",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_6.ogg"},
  194. [7] = {txt="万水千山总是情,多收一点行不行",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_7.ogg"},
  195. [8] = {txt="哎,手气好的遭不住",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_8.ogg"},
  196. [9] = {txt="怎么又掉线了,网络太差了",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_9.ogg"},
  197. [10] = {txt="你们一群棒老二,手气咋个那么好",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_10.ogg"},
  198. [11] = {txt="必须点个赞",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_11.ogg"},
  199. [12] = {txt="打牌打的精,说明思路清",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_12.ogg"},
  200. [13] = {txt="打牌没有巧,全靠手气好",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_13.ogg"},
  201. [14] = {txt="顶上家,卡下家,自摸三家",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_14.ogg"},
  202. [15] = {txt="输赢都不走,能做一把手",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_15.ogg"},
  203. [16] = {txt="耶,帽子手气硬哦",oggStandard="mj_linshui/res/sound/f_%s/f_linshui_%s_text_16.ogg"},
  204. }
  205. linshuiDefine.LuoBoPos = {
  206. [1] = {[1] = cc.p(getWinSize().width/2,getWinSize().height/2-40)},
  207. [2] = {[1] = cc.p(getWinSize().width/2-50,getWinSize().height/2),[2] = cc.p(getWinSize().width/2+50,getWinSize().height/2)},
  208. }
  209. --操作值映射到实际显示麻将组类型
  210. linshuiDefine.MJOperateToGroupType={
  211. [linshuiDefine.MJOperateType.OPREATE_CHI]=linshuiDefine.MJGroupType.Chi,
  212. [linshuiDefine.MJOperateType.OPREATE_PENG]=linshuiDefine.MJGroupType.Peng,
  213. [linshuiDefine.MJOperateType.OPREATE_ZHIGANG]=linshuiDefine.MJGroupType.Gang,
  214. [linshuiDefine.MJOperateType.OPREATE_BAGANG]=linshuiDefine.MJGroupType.BaGang,
  215. [linshuiDefine.MJOperateType.OPREATE_GUOSHOUGANG]=linshuiDefine.MJGroupType.Gang,
  216. [linshuiDefine.MJOperateType.OPREATE_ANGANG]=linshuiDefine.MJGroupType.AnGang,
  217. }
  218. linshuiDefine.CHANGE_GAME_BG =
  219. {
  220. [3] = {
  221. ['2d'] = "mj_linshui/res/zy_fangjian/linshui_2d_bg_lan.jpg",--"mj_linshui/res/zy_fangjian/linshui_2d_bg.png",
  222. ['3d'] = "mj_linshui/res/zy_fangjian/linshui_3d_bg.jpg",
  223. },
  224. [2] = {
  225. ['2d'] = "mj/res/ui/zy_fangjian/mj_2d_bg_zong.jpg",--"mj_linshui/res/zy_fangjian/linshui_jingdian_2d.png",
  226. ['3d'] = "mj_linshui/res/zy_fangjian/linshui_jingdian_25d.jpg",
  227. },
  228. [1] = {
  229. ['2d'] = "mj_linshui/res/zy_fangjian/linshui_shishang_2d.jpg",
  230. ['3d'] = "mj_linshui/res/zy_fangjian/linshui_shishang_25d.jpg",
  231. },
  232. }
  233. --麻将标准手牌图片
  234. linshuiDefine.MJStandImage={
  235. [linshuiDefine.DesktopType.TwoD]={
  236. [linshuiDefine.PlayerViewType.My]="handCards/mj_2d_handcard_%d.png",
  237. [linshuiDefine.PlayerViewType.Left]="other/mj_2d_stand_left.png",
  238. [linshuiDefine.PlayerViewType.Right]="other/mj_2d_stand_left.png",
  239. [linshuiDefine.PlayerViewType.Top]="other/mj_2d_stand_top.png",
  240. },
  241. [linshuiDefine.DesktopType.ThreeD]={
  242. [linshuiDefine.PlayerViewType.My]="handCards/mj_handcard_%d.png",
  243. [linshuiDefine.PlayerViewType.Left]="other/mj_stand_left.png",
  244. [linshuiDefine.PlayerViewType.Right]="other/mj_stand_left.png",
  245. [linshuiDefine.PlayerViewType.Top]="other/mj_stand_top.png",
  246. },
  247. [linshuiDefine.DesktopType.TwoDGold]={
  248. [linshuiDefine.PlayerViewType.My]="handCards/mj_2d_gold_handcard_%d.png",
  249. [linshuiDefine.PlayerViewType.Left]="other/mj_2d_gold_stand_left.png",
  250. [linshuiDefine.PlayerViewType.Right]="other/mj_2d_gold_stand_left.png",
  251. [linshuiDefine.PlayerViewType.Top]="other/mj_2d_gold_stand_top.png",
  252. },
  253. [linshuiDefine.DesktopType.TwoDL]={
  254. [linshuiDefine.PlayerViewType.My]="handCards/mj_2d_lgold_handcard_%d.png",
  255. [linshuiDefine.PlayerViewType.Left]="other/mj_2d_lgold_stand_left.png",
  256. [linshuiDefine.PlayerViewType.Right]="other/mj_2d_lgold_stand_left.png",
  257. [linshuiDefine.PlayerViewType.Top]="other/mj_2d_lgold_stand_top.png",
  258. },
  259. }
  260. --麻将出牌图片
  261. linshuiDefine.MJOutImage={
  262. [linshuiDefine.DesktopType.TwoD]={
  263. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_2d_outcard_my_%d.png",
  264. [linshuiDefine.PlayerViewType.Left]="outCards/left/mj_2d_outcard_left_%d.png",
  265. [linshuiDefine.PlayerViewType.Right]="outCards/right/mj_2d_outcard_right_%d.png",
  266. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_2d_outcard_top_%d.png",
  267. },
  268. [linshuiDefine.DesktopType.ThreeD]={
  269. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_outcard_my_%d.png",
  270. [linshuiDefine.PlayerViewType.Left]="outCards/left/mj_outcard_left_%d.png",
  271. [linshuiDefine.PlayerViewType.Right]="outCards/right/mj_outcard_right_%d.png",
  272. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_outcard_top_%d.png",
  273. },
  274. [linshuiDefine.DesktopType.TwoDGold]={
  275. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_2d_gold_outcard_my_%d.png",
  276. [linshuiDefine.PlayerViewType.Left]="outCards/left/mj_2d_gold_outcard_left_%d.png",
  277. [linshuiDefine.PlayerViewType.Right]="outCards/right/mj_2d_gold_outcard_right_%d.png",
  278. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_2d_gold_outcard_top_%d.png",
  279. },
  280. [linshuiDefine.DesktopType.TwoDL]={
  281. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_2d_lgold_outcard_my_%d.png",
  282. [linshuiDefine.PlayerViewType.Left]="outCards/left/mj_2d_lgold_outcard_left_%d.png",
  283. [linshuiDefine.PlayerViewType.Right]="outCards/right/mj_2d_lgold_outcard_right_%d.png",
  284. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_2d_lgold_outcard_top_%d.png",
  285. },
  286. }
  287. --麻将操作图片
  288. linshuiDefine.MJOperateGroupImage={
  289. [linshuiDefine.DesktopType.TwoD]={
  290. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_2d_outcard_my_%d.png",
  291. [linshuiDefine.PlayerViewType.Left]="outCards/left/mj_2d_outcard_left_%d.png",
  292. [linshuiDefine.PlayerViewType.Right]="outCards/right/mj_2d_outcard_right_%d.png",
  293. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_2d_outcard_top_%d.png",
  294. },
  295. [linshuiDefine.DesktopType.ThreeD]={
  296. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_outcard_my_%d.png",
  297. [linshuiDefine.PlayerViewType.Left]="operateCards/left/mj_opcard_left_%d.png",
  298. [linshuiDefine.PlayerViewType.Right]="operateCards/right/mj_opcard_right_%d.png",
  299. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_outcard_top_%d.png",
  300. },
  301. [linshuiDefine.DesktopType.TwoDGold]={
  302. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_2d_gold_outcard_my_%d.png",
  303. [linshuiDefine.PlayerViewType.Left]="outCards/left/mj_2d_gold_outcard_left_%d.png",
  304. [linshuiDefine.PlayerViewType.Right]="outCards/right/mj_2d_gold_outcard_right_%d.png",
  305. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_2d_gold_outcard_top_%d.png",
  306. },
  307. [linshuiDefine.DesktopType.TwoDL]={
  308. [linshuiDefine.PlayerViewType.My]="outCards/my/mj_2d_lgold_outcard_my_%d.png",
  309. [linshuiDefine.PlayerViewType.Left]="outCards/left/mj_2d_lgold_outcard_left_%d.png",
  310. [linshuiDefine.PlayerViewType.Right]="outCards/right/mj_2d_lgold_outcard_right_%d.png",
  311. [linshuiDefine.PlayerViewType.Top]="outCards/top/mj_2d_lgold_outcard_top_%d.png",
  312. },
  313. }
  314. --麻将背牌图片
  315. linshuiDefine.MJOutBlackImage={
  316. [linshuiDefine.DesktopType.TwoD]={
  317. [linshuiDefine.PlayerViewType.My]="other/mj_2d_lie_down.png",
  318. [linshuiDefine.PlayerViewType.Left]="other/mj_2d_lie_left.png",
  319. [linshuiDefine.PlayerViewType.Right]="other/mj_2d_lie_left.png",
  320. [linshuiDefine.PlayerViewType.Top]="other/mj_2d_lie_top.png",
  321. },
  322. [linshuiDefine.DesktopType.ThreeD]={
  323. [linshuiDefine.PlayerViewType.My]="other/mj_lie_down.png",
  324. [linshuiDefine.PlayerViewType.Left]="other/mj_lie_left.png",
  325. [linshuiDefine.PlayerViewType.Right]="other/mj_lie_right.png",
  326. [linshuiDefine.PlayerViewType.Top]="other/mj_lie_top.png",
  327. },
  328. [linshuiDefine.DesktopType.TwoDGold]={
  329. [linshuiDefine.PlayerViewType.My]="other/mj_2d_gold_lie_down.png",
  330. [linshuiDefine.PlayerViewType.Left]="other/mj_2d_gold_lie_left.png",
  331. [linshuiDefine.PlayerViewType.Right]="other/mj_2d_gold_lie_left.png",
  332. [linshuiDefine.PlayerViewType.Top]="other/mj_2d_gold_lie_top.png",
  333. },
  334. [linshuiDefine.DesktopType.TwoDL]={
  335. [linshuiDefine.PlayerViewType.My]="other/mj_2d_lgold_lie_down.png",
  336. [linshuiDefine.PlayerViewType.Left]="other/mj_2d_lgold_lie_left.png",
  337. [linshuiDefine.PlayerViewType.Right]="other/mj_2d_lgold_lie_left.png",
  338. [linshuiDefine.PlayerViewType.Top]="other/mj_2d_lgold_lie_top.png",
  339. },
  340. }
  341. --麻将组内麻将的偏移量
  342. linshuiDefine.MJGroupOffSet={
  343. [linshuiDefine.DesktopType.TwoD]={
  344. [linshuiDefine.PlayerViewType.My]={x=3,y=0},
  345. [linshuiDefine.PlayerViewType.Left]={x=0,y=18},
  346. [linshuiDefine.PlayerViewType.Right]={x=0,y=18},
  347. [linshuiDefine.PlayerViewType.Top]={x=3,y=0},
  348. },
  349. [linshuiDefine.DesktopType.ThreeD]={
  350. [linshuiDefine.PlayerViewType.My]={x=3,y=0},
  351. [linshuiDefine.PlayerViewType.Left]={x=7,y=18},
  352. [linshuiDefine.PlayerViewType.Right]={x=7.5,y=18},
  353. [linshuiDefine.PlayerViewType.Top]={x=3,y=0},
  354. },
  355. [linshuiDefine.DesktopType.TwoDGold]={
  356. [linshuiDefine.PlayerViewType.My]={x=2,y=0},
  357. [linshuiDefine.PlayerViewType.Left]={x=0,y=14},
  358. [linshuiDefine.PlayerViewType.Right]={x=0,y=14},
  359. [linshuiDefine.PlayerViewType.Top]={x=2,y=0},
  360. },
  361. [linshuiDefine.DesktopType.TwoDL]={
  362. [linshuiDefine.PlayerViewType.My]={x=2,y=0},
  363. [linshuiDefine.PlayerViewType.Left]={x=0,y=14},
  364. [linshuiDefine.PlayerViewType.Right]={x=0,y=14},
  365. [linshuiDefine.PlayerViewType.Top]={x=2,y=0},
  366. },
  367. }
  368. --麻将组的起始偏移量
  369. linshuiDefine.MJGroupStartOffSet={
  370. [linshuiDefine.DesktopType.TwoD]={
  371. [linshuiDefine.PlayerViewType.My]={x=25,y=-25},
  372. [linshuiDefine.PlayerViewType.Left]={x=0,y=0},
  373. [linshuiDefine.PlayerViewType.Right]={x=0,y=-40},
  374. [linshuiDefine.PlayerViewType.Top]={x=-30,y=0},
  375. },
  376. [linshuiDefine.DesktopType.ThreeD]={
  377. [linshuiDefine.PlayerViewType.My]={x=25,y=-25},
  378. [linshuiDefine.PlayerViewType.Left]={x=-8,y=-55},
  379. [linshuiDefine.PlayerViewType.Right]={x=-12,y=23},
  380. [linshuiDefine.PlayerViewType.Top]={x=-30,y=0},
  381. },
  382. [linshuiDefine.DesktopType.TwoDGold]={
  383. [linshuiDefine.PlayerViewType.My]={x=25,y=-25},
  384. [linshuiDefine.PlayerViewType.Left]={x=0,y=0},
  385. [linshuiDefine.PlayerViewType.Right]={x=0,y=-40},
  386. [linshuiDefine.PlayerViewType.Top]={x=-30,y=0},
  387. },
  388. [linshuiDefine.DesktopType.TwoDL]={
  389. [linshuiDefine.PlayerViewType.My]={x=25,y=-25},
  390. [linshuiDefine.PlayerViewType.Left]={x=0,y=0},
  391. [linshuiDefine.PlayerViewType.Right]={x=0,y=-40},
  392. [linshuiDefine.PlayerViewType.Top]={x=-30,y=0},
  393. },
  394. }
  395. --麻将组偏移量
  396. linshuiDefine.MJGroupMarginOffSet={
  397. [linshuiDefine.DesktopType.TwoD]={
  398. [linshuiDefine.PlayerViewType.My]={x=5,y=0},
  399. [linshuiDefine.PlayerViewType.Left]={x=0,y=3},
  400. [linshuiDefine.PlayerViewType.Right]={x=0,y=3},
  401. [linshuiDefine.PlayerViewType.Top]={x=2,y=0},
  402. },
  403. [linshuiDefine.DesktopType.ThreeD]={
  404. [linshuiDefine.PlayerViewType.My]={x=25,y=0},
  405. [linshuiDefine.PlayerViewType.Left]={x=28,y=0},
  406. [linshuiDefine.PlayerViewType.Right]={x=28,y=0},
  407. [linshuiDefine.PlayerViewType.Top]={x=2,y=0},
  408. },
  409. [linshuiDefine.DesktopType.TwoDGold]={
  410. [linshuiDefine.PlayerViewType.My]={x=5,y=0},
  411. [linshuiDefine.PlayerViewType.Left]={x=0,y=3},
  412. [linshuiDefine.PlayerViewType.Right]={x=0,y=3},
  413. [linshuiDefine.PlayerViewType.Top]={x=2,y=0},
  414. },
  415. [linshuiDefine.DesktopType.TwoDL]={
  416. [linshuiDefine.PlayerViewType.My]={x=5,y=0},
  417. [linshuiDefine.PlayerViewType.Left]={x=0,y=3},
  418. [linshuiDefine.PlayerViewType.Right]={x=0,y=3},
  419. [linshuiDefine.PlayerViewType.Top]={x=2,y=0},
  420. },
  421. }
  422. --麻将组与麻将的间隔
  423. linshuiDefine.MJGroupWithMJMargin={
  424. [linshuiDefine.DesktopType.TwoD]={
  425. [linshuiDefine.PlayerViewType.My]={x=0,y=0},
  426. [linshuiDefine.PlayerViewType.Left]={x=-12,y=40},
  427. [linshuiDefine.PlayerViewType.Right]={x=12,y=43},
  428. [linshuiDefine.PlayerViewType.Top]={x=0,y=0},
  429. },
  430. [linshuiDefine.DesktopType.ThreeD]={
  431. [linshuiDefine.PlayerViewType.My]={x=0,y=0},
  432. [linshuiDefine.PlayerViewType.Left]={x=-6,y=30},
  433. [linshuiDefine.PlayerViewType.Right]={x=-12,y=33},
  434. [linshuiDefine.PlayerViewType.Top]={x=0,y=0},
  435. },
  436. [linshuiDefine.DesktopType.TwoDGold]={
  437. [linshuiDefine.PlayerViewType.My]={x=0,y=0},
  438. [linshuiDefine.PlayerViewType.Left]={x=0,y=40},
  439. [linshuiDefine.PlayerViewType.Right]={x=0,y=43},
  440. [linshuiDefine.PlayerViewType.Top]={x=0,y=0},
  441. },
  442. [linshuiDefine.DesktopType.TwoDL]={
  443. [linshuiDefine.PlayerViewType.My]={x=0,y=0},
  444. [linshuiDefine.PlayerViewType.Left]={x=0,y=40},
  445. [linshuiDefine.PlayerViewType.Right]={x=0,y=43},
  446. [linshuiDefine.PlayerViewType.Top]={x=0,y=0},
  447. },
  448. }
  449. --麻将出牌换行个数
  450. linshuiDefine.MJChangeLinCount={
  451. [linshuiDefine.DesktopType.TwoD]={
  452. [2]={
  453. [linshuiDefine.PlayerViewType.My]=20,
  454. [linshuiDefine.PlayerViewType.Left]=10,
  455. [linshuiDefine.PlayerViewType.Right]=10,
  456. [linshuiDefine.PlayerViewType.Top]=22,
  457. },
  458. [3]={
  459. [linshuiDefine.PlayerViewType.My]=10,
  460. [linshuiDefine.PlayerViewType.Left]=10,
  461. [linshuiDefine.PlayerViewType.Right]=10,
  462. [linshuiDefine.PlayerViewType.Top]=12,
  463. },
  464. [4]={
  465. [linshuiDefine.PlayerViewType.My]=10,
  466. [linshuiDefine.PlayerViewType.Left]=10,
  467. [linshuiDefine.PlayerViewType.Right]=10,
  468. [linshuiDefine.PlayerViewType.Top]=12,
  469. },
  470. },
  471. [linshuiDefine.DesktopType.ThreeD]={
  472. [2]={
  473. [linshuiDefine.PlayerViewType.My]=18,
  474. [linshuiDefine.PlayerViewType.Left]=9,
  475. [linshuiDefine.PlayerViewType.Right]=9,
  476. [linshuiDefine.PlayerViewType.Top]=20,
  477. },
  478. [3]={
  479. [linshuiDefine.PlayerViewType.My]=9,
  480. [linshuiDefine.PlayerViewType.Left]=9,
  481. [linshuiDefine.PlayerViewType.Right]=9,
  482. [linshuiDefine.PlayerViewType.Top]=10,
  483. },
  484. [4]={
  485. [linshuiDefine.PlayerViewType.My]=9,
  486. [linshuiDefine.PlayerViewType.Left]=9,
  487. [linshuiDefine.PlayerViewType.Right]=9,
  488. [linshuiDefine.PlayerViewType.Top]=10,
  489. },
  490. },
  491. [linshuiDefine.DesktopType.TwoDGold]={
  492. [2]={
  493. [linshuiDefine.PlayerViewType.My]=22,
  494. [linshuiDefine.PlayerViewType.Left]=10,
  495. [linshuiDefine.PlayerViewType.Right]=10,
  496. [linshuiDefine.PlayerViewType.Top]=22,
  497. },
  498. [3]={
  499. [linshuiDefine.PlayerViewType.My]=12,
  500. [linshuiDefine.PlayerViewType.Left]=10,
  501. [linshuiDefine.PlayerViewType.Right]=10,
  502. [linshuiDefine.PlayerViewType.Top]=12,
  503. },
  504. [4]={
  505. [linshuiDefine.PlayerViewType.My]=12,
  506. [linshuiDefine.PlayerViewType.Left]=10,
  507. [linshuiDefine.PlayerViewType.Right]=10,
  508. [linshuiDefine.PlayerViewType.Top]=12,
  509. },
  510. },
  511. [linshuiDefine.DesktopType.TwoDL]={
  512. [2]={
  513. [linshuiDefine.PlayerViewType.My]=20,
  514. [linshuiDefine.PlayerViewType.Left]=10,
  515. [linshuiDefine.PlayerViewType.Right]=10,
  516. [linshuiDefine.PlayerViewType.Top]=22,
  517. },
  518. [3]={
  519. [linshuiDefine.PlayerViewType.My]=11,
  520. [linshuiDefine.PlayerViewType.Left]=10,
  521. [linshuiDefine.PlayerViewType.Right]=10,
  522. [linshuiDefine.PlayerViewType.Top]=12,
  523. },
  524. [4]={
  525. [linshuiDefine.PlayerViewType.My]=11,
  526. [linshuiDefine.PlayerViewType.Left]=10,
  527. [linshuiDefine.PlayerViewType.Right]=10,
  528. [linshuiDefine.PlayerViewType.Top]=12,
  529. },
  530. },
  531. }
  532. --出牌麻将的换行的偏移量
  533. linshuiDefine.MJOutChangeOffSet={
  534. [linshuiDefine.DesktopType.TwoD]={
  535. [linshuiDefine.PlayerViewType.My]={x=4.5,y=20},
  536. [linshuiDefine.PlayerViewType.Left]={x=5,y=18},
  537. [linshuiDefine.PlayerViewType.Right]={x=5,y=18},
  538. [linshuiDefine.PlayerViewType.Top]={x=3,y=16},
  539. },
  540. [linshuiDefine.DesktopType.ThreeD]={
  541. [linshuiDefine.PlayerViewType.My]={x=4.5,y=20},
  542. [linshuiDefine.PlayerViewType.Left]={x=8,y=18},
  543. [linshuiDefine.PlayerViewType.Right]={x=8,y=18},
  544. [linshuiDefine.PlayerViewType.Top]={x=3,y=18},
  545. },
  546. [linshuiDefine.DesktopType.TwoDGold]={
  547. [linshuiDefine.PlayerViewType.My]={x=2,y=13},
  548. [linshuiDefine.PlayerViewType.Left]={x=2,y=13},
  549. [linshuiDefine.PlayerViewType.Right]={x=2,y=13},
  550. [linshuiDefine.PlayerViewType.Top]={x=2,y=13},
  551. },
  552. [linshuiDefine.DesktopType.TwoDL]={
  553. [linshuiDefine.PlayerViewType.My]={x=2,y=13},
  554. [linshuiDefine.PlayerViewType.Left]={x=2,y=13},
  555. [linshuiDefine.PlayerViewType.Right]={x=2,y=13},
  556. [linshuiDefine.PlayerViewType.Top]={x=2,y=13},
  557. },
  558. }
  559. linshuiDefine.MJOutOffSet={
  560. [linshuiDefine.DesktopType.TwoD]={
  561. [linshuiDefine.PlayerViewType.My]={x=3,y=20},
  562. [linshuiDefine.PlayerViewType.Left]={x=0,y=15},
  563. [linshuiDefine.PlayerViewType.Right]={x=0,y=15},
  564. [linshuiDefine.PlayerViewType.Top]={x=3,y=16},
  565. },
  566. [linshuiDefine.DesktopType.ThreeD]={
  567. [linshuiDefine.PlayerViewType.My]={x=3,y=20},
  568. [linshuiDefine.PlayerViewType.Left]={x=3,y=15},
  569. [linshuiDefine.PlayerViewType.Right]={x=3,y=15},
  570. [linshuiDefine.PlayerViewType.Top]={x=3,y=16},
  571. },
  572. [linshuiDefine.DesktopType.TwoDGold]={
  573. [linshuiDefine.PlayerViewType.My]={x=3,y=20},
  574. [linshuiDefine.PlayerViewType.Left]={x=0,y=15},
  575. [linshuiDefine.PlayerViewType.Right]={x=0,y=15},
  576. [linshuiDefine.PlayerViewType.Top]={x=3,y=16},
  577. },
  578. [linshuiDefine.DesktopType.TwoDL]={
  579. [linshuiDefine.PlayerViewType.My]={x=3,y=20},
  580. [linshuiDefine.PlayerViewType.Left]={x=0,y=15},
  581. [linshuiDefine.PlayerViewType.Right]={x=0,y=15},
  582. [linshuiDefine.PlayerViewType.Top]={x=3,y=16},
  583. },
  584. }
  585. --杠牌最上面牌的偏移
  586. linshuiDefine.MJOperateGangOffset={
  587. [linshuiDefine.DesktopType.TwoD]={x=0,y=12},
  588. [linshuiDefine.DesktopType.ThreeD]={x=5,y=15},
  589. [linshuiDefine.DesktopType.TwoDGold]={x=0,y=12},
  590. [linshuiDefine.DesktopType.TwoDL]={x=0,y=12},
  591. }
  592. --麻将人数位置配置
  593. linshuiDefine.MJRoomPlayerSitConfig={
  594. [4]={linshuiDefine.PlayerViewType.My,linshuiDefine.PlayerViewType.Right,linshuiDefine.PlayerViewType.Top,linshuiDefine.PlayerViewType.Left},
  595. [3]={linshuiDefine.PlayerViewType.My,linshuiDefine.PlayerViewType.Right,linshuiDefine.PlayerViewType.Left},
  596. [2]={linshuiDefine.PlayerViewType.My,linshuiDefine.PlayerViewType.Top},
  597. }
  598. --
  599. --麻将最后一个手牌位置偏移
  600. linshuiDefine.MJLastHandCardOffset={
  601. [linshuiDefine.DesktopType.TwoD]={
  602. [linshuiDefine.PlayerViewType.My]={x=20,y=0},
  603. [linshuiDefine.PlayerViewType.Left]={x=0,y=-20},
  604. [linshuiDefine.PlayerViewType.Right]={x=0,y=20},
  605. [linshuiDefine.PlayerViewType.Top]={x=-20,y=0},
  606. },
  607. [linshuiDefine.DesktopType.ThreeD]={
  608. [linshuiDefine.PlayerViewType.My]={x=20,y=0},
  609. [linshuiDefine.PlayerViewType.Left]={x=-3,y=-20},
  610. [linshuiDefine.PlayerViewType.Right]={x=-2,y=20},
  611. [linshuiDefine.PlayerViewType.Top]={x=-20,y=0},
  612. },
  613. [linshuiDefine.DesktopType.TwoDGold]={
  614. [linshuiDefine.PlayerViewType.My]={x=20,y=0},
  615. [linshuiDefine.PlayerViewType.Left]={x=0,y=-20},
  616. [linshuiDefine.PlayerViewType.Right]={x=0,y=20},
  617. [linshuiDefine.PlayerViewType.Top]={x=-20,y=0},
  618. },
  619. [linshuiDefine.DesktopType.TwoDL]={
  620. [linshuiDefine.PlayerViewType.My]={x=20,y=0},
  621. [linshuiDefine.PlayerViewType.Left]={x=0,y=-20},
  622. [linshuiDefine.PlayerViewType.Right]={x=0,y=20},
  623. [linshuiDefine.PlayerViewType.Top]={x=-20,y=0},
  624. },
  625. }
  626. --左边麻将的高度
  627. -- linshuiDefine.MJ_HAND_CARD_LEFT_PADDING_HEIGHT=30
  628. linshuiDefine.MJ_HAND_CARD_LEFT_PADDING_HEIGHT={
  629. [linshuiDefine.DesktopType.TwoD]=30,
  630. [linshuiDefine.DesktopType.ThreeD]=30,
  631. [linshuiDefine.DesktopType.TwoDGold]=28,
  632. [linshuiDefine.DesktopType.TwoDL]=28,
  633. }
  634. --左边麻将的X轴偏移修正
  635. linshuiDefine.MJ_HAND_CARD_LEFT_OFFSET_X=7
  636. linshuiDefine.MJHandCardLeftOffsetX={
  637. [linshuiDefine.DesktopType.TwoD]=0,
  638. [linshuiDefine.DesktopType.ThreeD]=7,
  639. [linshuiDefine.DesktopType.TwoDGold]=0,
  640. [linshuiDefine.DesktopType.TwoDL]=0,
  641. }
  642. --右边麻将的X轴偏移修正
  643. linshuiDefine.MJ_HAND_CARD_RIGHT_OFFSET_X=7.5
  644. linshuiDefine.MJHandCardRightOffsetX={
  645. [linshuiDefine.DesktopType.TwoD]=0,
  646. [linshuiDefine.DesktopType.ThreeD]=7.5,
  647. [linshuiDefine.DesktopType.TwoDGold]=0,
  648. [linshuiDefine.DesktopType.TwoDL]=0,
  649. }
  650. function loadMJConfig(desktopType)
  651. local AllMJConfigs = {
  652. [linshuiDefine.DesktopType.ThreeD] = "mj_linshui.luaScript.Views.3d.MJConfig_3d",
  653. [linshuiDefine.DesktopType.TwoD] = "mj_linshui.luaScript.Views.2d.MJConfig_2d",
  654. [linshuiDefine.DesktopType.TwoDL] = "mj_linshui.luaScript.Views.2d.MJConfig_2d_L",
  655. [linshuiDefine.DesktopType.TwoDGold] = "mj_linshui.luaScript.Views.2d.MJConfig_2d_gold",
  656. }
  657. -- 修复2d金黄切墨绿时,部分配置没有重写成功的bug
  658. package.loaded['mj.luaScript.Common.2d.CommonMahjongConfig'] = nil
  659. package.loaded['mj_linshui.luaScript.Views.2d.MJConfig_2d'] = nil
  660. package.loaded['mj_linshui.luaScript.Views.2d.MJConfig_2d_L'] = nil
  661. package.loaded['mj_linshui.luaScript.Views.2d.MJConfig_3d'] = nil
  662. package.loaded['mj_linshui.luaScript.Views.2d.MJConfig_2d_gold'] = nil
  663. package.loaded['mj_linshui.luaScript.Views.2d.Card_2d'] = nil
  664. package.loaded['mj_linshui.luaScript.Views.2d.Card_2d_L'] = nil
  665. package.loaded['mj_linshui.luaScript.Views.2d.GroupBaGang_2d'] = nil
  666. package.loaded['mj_linshui.luaScript.Views.2d.HandCard_2d'] = nil
  667. desktopType = desktopType or app.systemSetting.info.viewType
  668. if not desktopType then
  669. desktopType = linshuiDefine.DesktopType.TwoD
  670. end
  671. linshuiDefine.MJConfig_3d = require(AllMJConfigs[linshuiDefine.DesktopType.ThreeD])
  672. if desktopType ~= linshuiDefine.DesktopType.ThreeD then
  673. linshuiDefine.MJConfig_2d = require(AllMJConfigs[desktopType])
  674. else
  675. linshuiDefine.MJConfig_2d = require(AllMJConfigs[linshuiDefine.DesktopType.TwoD])
  676. end
  677. end
  678. linshuiDefine.loadMJConfig = loadMJConfig
  679. loadMJConfig()
  680. return linshuiDefine