LittleResultItem_21201.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. cc.Class({
  2. extends: cc.BaseClass,
  3. properties: {
  4. m_EndScore:cc.Label,
  5. m_GangScore:cc.Label,
  6. // m_BirdCount:cc.Label,
  7. m_Piao:cc.Label,
  8. m_Double:cc.Node,
  9. m_CardCtrl:cc.Node,
  10. m_LittleResultBanker:cc.Node,
  11. m_Rule:cc.Label,
  12. m_Hu:cc.Node,
  13. m_DianPao:cc.Node,
  14. m_ZiMo:cc.Node,
  15. m_LiuJu:cc.Node,
  16. m_HandControlPrefab:cc.Prefab,
  17. m_Font:[cc.Font],
  18. },
  19. // LIFE-CYCLE CALLBACKS:
  20. // onLoad () {},
  21. ctor:function(){
  22. },
  23. start:function () {
  24. },
  25. onLoad(){
  26. this.m_LittleResultBanker.active = false;
  27. this.m_DianPao.active = false;
  28. this.m_EndScore.string = "";
  29. var node = cc.instantiate(this.m_HandControlPrefab);
  30. node.setPosition(cc.v2(0,0));
  31. this.m_CardCtrl.addChild(node);
  32. this.m_UserCard = node.getComponent('CardControl');
  33. this.m_WeaveCtrl = node.getComponent('WeaveControl');
  34. this.m_WeaveCtrl.Init(GameDef.HAND_BOTTOM);
  35. this.m_UserCard.SetPositively(false);
  36. },
  37. AddCountString:function(count){
  38. if (count == 0) {
  39. count = 1;
  40. }
  41. return 'x'+count;
  42. },
  43. // GetHuRightString:function(rules,EndInfo,wChair){
  44. // var str ='';
  45. // if (rules & GameDef.CHR_MENQiNG ) str+=' 門清';
  46. // if (rules & GameDef.CHR_PENG_PENG ) str+=' 碰碰胡';
  47. // if (rules & GameDef.CHR_QI_DUI ) str+=' 八對';
  48. // if (rules & GameDef.CHR_BAXIANGUOHAI ) str+=' 八仙過海';
  49. // if (rules & GameDef.CHR_GANG_KAI ) str+=' 杠上開花';
  50. // if (rules & GameDef.CHR_KUN_SI_SE ) str+=' 混一色';
  51. // if (rules & GameDef.CHR_QING_YI_SE ) str+=' 清一色';
  52. // if (rules & GameDef.CHR_QUAN_QIU_PAO ) str+=' 全求';
  53. // if (rules & GameDef.CHR_DI_TING ) str+=' 地聼';
  54. // if (rules & GameDef.CHR_TIAN_TING ) str+=' 天聼';
  55. // if (rules & GameDef.CHR_SHAN_YUAN ) str+=' 三元';
  56. // if (rules & GameDef.CHR_SHAN_YUAN_XIAO ) str+=' 小三元';
  57. // if (rules & GameDef.CHR_XIAO_SI_XI ) str+=' 小四喜';
  58. // if (rules & GameDef.CHR_HAI_DI ) str+=' 海底撈';
  59. // if (rules & GameDef.CHR_GANG_PAO ) str+=' 杠后炮';
  60. // if (rules & GameDef.CHR_QI_QIANG_YI ) str+=' 7抢1';
  61. // if (rules & GameDef.CHR_QIANG_GANG ) str+=' 搶杠胡';
  62. // if (rules & GameDef.CHR_DUN_TING ) str+=' 獨聼';
  63. // if (rules & GameDef.CHR_ZI_SI_SE ) str+=' 字一色';
  64. // if (rules & GameDef.CHR_SHAN_KAN ) str+=' 三暗坎';
  65. // if (rules & GameDef.CHR_SI_KAN ) str+=' 四暗坎';
  66. // if (rules & GameDef.CHR_WU_KAN ) str+=' 五暗坎';
  67. // if (rules & GameDef.CHR_HUA_GANG ) str+=' 花杠';
  68. // if (rules & GameDef.CHR_PING_HU ) str+=' 平胡';
  69. // if (rules & GameDef.CHR_ZI_MO ) str+=' 自摸';
  70. // if (rules & GameDef.CHR_CHI_HU ) str+=' 放炮';
  71. // if (rules & GameDef.CHR_MEN_FENG ) str+=' 門風';
  72. // return str;
  73. // },
  74. InitPre:function(){
  75. this.node.active = false;
  76. },
  77. SetPreInfo:function(ParaArr) {
  78. this.node.active = true;
  79. this.SetEndInfo(ParaArr[0],ParaArr[1],ParaArr[2],ParaArr[3]);
  80. },
  81. SetEndInfo:function(wChair, EndInfo, bBanker, Rule) {
  82. this.ResetControl();
  83. this.m_dwUserID = EndInfo.dwUserID[wChair];
  84. this.node.getComponent('UserCtrl').SetUserByID( this.m_dwUserID);
  85. this.node.getComponent('UserCtrl').SetShowFullName(false, 5);
  86. console.log(EndInfo,"1122333")
  87. this.m_Double.active = EndInfo.cbDouble[wChair] > 1;
  88. //文字
  89. if(EndInfo.dwChiHuKind[wChair] == GameDef.WIK_CHI_HU)
  90. {
  91. if(EndInfo.dwChiHuRight[wChair] & GameDef.CHR_ZI_MO)
  92. {
  93. this.m_Hu.active = false;
  94. this.m_ZiMo.active = true;
  95. }
  96. else
  97. {
  98. this.m_Hu.active = true;
  99. this.m_ZiMo.active = false;
  100. }
  101. }
  102. else
  103. {
  104. this.m_Hu.active = false;
  105. this.m_ZiMo.active = false;
  106. }
  107. this.m_DianPao.active = (EndInfo.dwChiHuRight[wChair] & GameDef.CHR_CHI_HU);
  108. if( EndInfo.cbWinner == 255)
  109. {
  110. this.m_LiuJu.active = true;
  111. this.m_DianPao.active = false;
  112. this.m_Hu.active = false;
  113. this.m_ZiMo.active = false;
  114. }
  115. else
  116. {
  117. this.m_LiuJu.active = false;
  118. }
  119. var hrS = EndInfo.cbWinner == 255 ? GameDef.GetHuRightString(0) : GameDef.GetHuRightString(EndInfo.dwChiHuRight[wChair],EndInfo.dwChiHuKind[wChair]); //this.GetHuRightString(EndInfo.dwChiHuRight[wChair],EndInfo,wChair)
  120. //胡法
  121. this.m_Rule.string = hrS;
  122. console.log("規則:",hrS)
  123. //总分
  124. var Score = /* EndInfo.lGameScore[wChair] + EndInfo.lGangScore[wChair];// + */EndInfo.lGangScore[wChair];
  125. console.log("Score:",Score);
  126. if (Score > 0) {
  127. this.m_EndScore.string =""+ Score;//"+" + Score2Str(Score);
  128. // this.m_EndScore.node.color = cc.color(0, 151,64);
  129. // this.m_EndScore.font = this.m_Font[0];
  130. } else {
  131. this.m_EndScore.string = ""+Score;//Score2Str(Score);
  132. // this.m_EndScore.node.color = cc.color(225,75,43);
  133. //this.m_EndScore.font = this.m_Font[1];
  134. }
  135. //杠分
  136. // var GangScore = EndInfo.lGangScore[wChair];
  137. // if(GangScore > 0)
  138. // {
  139. // this.m_GangScore.string = '+' + Score2Str(GangScore);
  140. // this.m_GangScore.font = this.m_Font[0];
  141. // }
  142. // else
  143. // {
  144. // this.m_GangScore.string = Score2Str(GangScore);
  145. // this.m_GangScore.font = this.m_Font[1];
  146. // }
  147. //鸟
  148. // if(EndInfo.dwChiHuKind[wChair] == GameDef.WIK_CHI_HU)
  149. // {
  150. // this.m_BirdCount.string = EndInfo.wBirdCount;
  151. // this.m_BirdCount.font = this.m_Font[0];
  152. // }
  153. // else
  154. // {
  155. // this.m_BirdCount.string = 0;
  156. // this.m_BirdCount.font = this.m_Font[0];
  157. // }
  158. //飘
  159. var fen = EndInfo.lGameScore[wChair];
  160. if (fen > 0) {
  161. this.m_Piao.string = ""+fen;//"+" + Score2Str(Score);
  162. //this.m_Piao.font = this.m_Font[0];
  163. } else {
  164. this.m_Piao.string =""+ fen;//Score2Str(Score);
  165. //this.m_Piao.font = this.m_Font[1];
  166. }
  167. if(bBanker){
  168. this.m_LittleResultBanker.active = true;
  169. }else{
  170. this.m_LittleResultBanker.active = false;
  171. }
  172. var cbCardData = EndInfo.cbCardData[wChair];
  173. var wCardCount = EndInfo.cbCardCount[wChair];
  174. this.m_UserCard.SetMagicIndex(EndInfo.cbMagicIndex);
  175. if((wCardCount+1)%3==0) {
  176. var tmpCardData = new Array();
  177. for (var j = 0; j < wCardCount; j++) {
  178. tmpCardData[j] = cbCardData[j];
  179. }
  180. var cbRemoveCard = new Array();
  181. if( EndInfo.cbProvideCard != 0){
  182. cbRemoveCard[0] = EndInfo.cbProvideCard;
  183. }
  184. else{
  185. cbRemoveCard[0] = tmpCardData[wCardCount-1];
  186. }
  187. if (EndInfo.cbLastCardData[wChair]) {
  188. cbRemoveCard[0] = EndInfo.cbLastCardData[wChair];
  189. }
  190. if(GameDef.g_GameLogic.RemoveCard4(tmpCardData,wCardCount,cbRemoveCard,1)){
  191. this.m_UserCard.SetCardData(tmpCardData,wCardCount-1, false, true);
  192. this.m_UserCard.SetCurrentCard(cbRemoveCard[0], false, true);
  193. }
  194. }else{
  195. this.m_UserCard.SetCardData(cbCardData,wCardCount, false, true);
  196. }
  197. for(var j=0;j<EndInfo.cbWeaveCount[wChair];++j){
  198. var cbCenterCard = EndInfo.weaveItem[wChair][j].cbCenterCard;
  199. var wWeaveKind=EndInfo.weaveItem[wChair][j].wWeaveKind;
  200. var cbCardData = EndInfo.weaveItem[wChair][j].cbCardData;
  201. var cbWeaveCardCount=EndInfo.weaveItem[wChair][j].cbCardCount;
  202. var cbPublicCard=EndInfo.weaveItem[wChair][j].cbPublicCard;
  203. this.m_WeaveCtrl.SetWeaveData(j,cbCardData,cbWeaveCardCount,cbPublicCard);
  204. this.m_WeaveCtrl.SetWeaveState(j,EndInfo.weaveItem[wChair][j], true);
  205. if( !cbPublicCard && cbWeaveCardCount == 4){
  206. this.m_WeaveCtrl.SetWeaveState(j,GameDef.GAME_THREE_BACK_SELF);
  207. }
  208. }
  209. },
  210. ResetControl:function(wChair,EndInfo){
  211. this.m_WeaveCtrl.ResetData();
  212. this.m_UserCard.SetPositively(false);
  213. },
  214. // update (dt) {},
  215. });