EveryDaySign.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. cc.Class({
  2. extends: cc.Component,
  3. properties: {
  4. GotBTN: cc.Node,
  5. ManageAd: cc.Node,
  6. },
  7. start() {
  8. // this.EveryDaySignView = this.getNode("EveryDaySignView");
  9. this.EveryDaySignContainer = this.node.parent.parent;
  10. this.EveryDaySignView = this.node.parent;
  11. this.ManageUI = cc.find("GameNode/ManageUI");
  12. //每日签到
  13. let myDate = new Date();
  14. //'2019/05/01'
  15. let Today = myDate.toLocaleDateString();
  16. let LastTimeEveryDayRewardsDate = GlobalD.GameData.GetLastTimeEveryDayRewardsDate();
  17. // let Today = '2019/05/03';
  18. // let LastTimeEveryDayRewardsDate = '2019/05/04';
  19. // cc.log('Today='+Today);
  20. // cc.log('LastTimeEveryDayRewardsDate='+LastTimeEveryDayRewardsDate);
  21. var dateStart = new Date(Today);
  22. var dateEnd = new Date(LastTimeEveryDayRewardsDate);
  23. var difValue = ((dateEnd - dateStart) / (1000 * 60 * 60 * 24));
  24. // cc.log('difValue='+difValue);
  25. // cc.log('LastTimeEveryDayRewardsDate='+LastTimeEveryDayRewardsDate);
  26. // if(difValue == 0 && LastTimeEveryDayRewardsDate!='0000/00/00')
  27. // {
  28. // this.GotBTN.active=false;
  29. // }
  30. // else
  31. // {
  32. // //过了一天
  33. // GlobalD.GameData.SetLotteryTimes(10);
  34. // }
  35. // console.log("today", Today);
  36. // console.log("LastTimeEveryDayRewardsDate", LastTimeEveryDayRewardsDate);
  37. if (Today == LastTimeEveryDayRewardsDate && LastTimeEveryDayRewardsDate != '0000/00/00') {
  38. this.GotBTN.active = false;
  39. }
  40. else {
  41. //过了一天
  42. // GlobalD.GameData.SetLotteryTimes(10);
  43. }
  44. //Show Got Rewards Item to BG Black
  45. let EveryDayRewardsArray = GlobalD.GameData.GetEveryDayRewardsArray();
  46. let GotRewarsNum = 0;
  47. // cc.log('111111111111='+EveryDayRewardsArray);
  48. // return;
  49. for (let i = 0; i < EveryDayRewardsArray.length; i++) {
  50. if (EveryDayRewardsArray[i] == 1) {
  51. GotRewarsNum++;
  52. }
  53. }
  54. if (GotRewarsNum == 7) {
  55. GlobalD.GameData.InitEveryDayRewardsArrayFirst();
  56. }
  57. for (let i = 0; i < EveryDayRewardsArray.length; i++) {
  58. if (EveryDayRewardsArray[i] == 1) {
  59. let TodayNode = null;
  60. //0 is monday
  61. switch (i) {
  62. case 0:
  63. TodayNode = this.node.getChildByName('0');
  64. break;
  65. case 1:
  66. TodayNode = this.node.getChildByName('1');
  67. break;
  68. case 2:
  69. TodayNode = this.node.getChildByName('2');
  70. break;
  71. case 3:
  72. TodayNode = this.node.getChildByName('3');
  73. break;
  74. case 4:
  75. TodayNode = this.node.getChildByName('4');
  76. break;
  77. case 5:
  78. TodayNode = this.node.getChildByName('5');
  79. break;
  80. case 6:
  81. TodayNode = this.node.getChildByName('6');
  82. break;
  83. }
  84. let Achieved = TodayNode.getChildByName('Achieved');
  85. Achieved.active = true;
  86. }
  87. }
  88. },
  89. onPlayVideoAd() {
  90. //预加载广告
  91. //'adunit-443ba9a35779ba97',//视频激励广告5
  92. AD.loadVideoAdFromIndex('EveryDaySign', 0, (res) => {
  93. console.log('预加载广告回调:', res);
  94. });
  95. cc.loader.loadRes("prefab/dialogEveryDayView", function (err, texture) {
  96. this.dialogPlayVideo = cc.instantiate(texture);
  97. if (this.node.parent.getChildByName(this.dialogPlayVideo.name) != null) {
  98. this.node.parent.getChildByName(this.dialogPlayVideo.name).destroy();
  99. }
  100. this.node.parent.addChild(this.dialogPlayVideo);
  101. // this.dialogPlayVideo.y = -100;
  102. // this.dialogPlayVideo.x = -10;
  103. let watchvideo = this.getNode("watchvideo", this.dialogPlayVideo);
  104. let close = this.getNode("close", this.dialogPlayVideo);
  105. watchvideo.on(cc.Node.EventType.TOUCH_END, function (event) {
  106. //关闭一下底部广告组件
  107. this.ManageAd.getComponent('ManageAd').onCloseBannerAd();
  108. //观看广告视频
  109. AD.playVideoAd((res) => {
  110. if (!res.isPlay) {
  111. console.log('不能播放广告:', res.data);
  112. } else {
  113. this.GetRewards();
  114. }
  115. });
  116. if (this.node.parent.getChildByName(this.dialogPlayVideo.name) != null) {
  117. this.node.parent.getChildByName(this.dialogPlayVideo.name).destroy();
  118. }
  119. }.bind(this));
  120. close.on(cc.Node.EventType.TOUCH_END, function (event) {
  121. if (this.node.parent.getChildByName(this.dialogPlayVideo.name) != null) {
  122. this.node.parent.getChildByName(this.dialogPlayVideo.name).destroy();
  123. }
  124. }.bind(this));
  125. }.bind(this));
  126. },
  127. getNode: function (name, parent) {
  128. if (parent == null) {
  129. return this.node.getChildByName(name);
  130. } else {
  131. return parent.getChildByName(name);
  132. }
  133. },
  134. //点击了 点击领取
  135. //每日签到 领取按钮
  136. GetRewards() {
  137. // console.log('看视频后签到');
  138. // return;
  139. let EveryDayRewardsArray = GlobalD.GameData.GetEveryDayRewardsArray();
  140. for (let i = 0; i < EveryDayRewardsArray.length; i++) {
  141. if (EveryDayRewardsArray[i] == 0) {
  142. let TodayNode = null;
  143. //0 is monday
  144. switch (i) {
  145. case 0:
  146. TodayNode = this.node.getChildByName('0');
  147. break;
  148. case 1:
  149. TodayNode = this.node.getChildByName('1');
  150. break;
  151. case 2:
  152. TodayNode = this.node.getChildByName('2');
  153. break;
  154. case 3:
  155. TodayNode = this.node.getChildByName('3');
  156. break;
  157. case 4:
  158. TodayNode = this.node.getChildByName('4');
  159. break;
  160. case 5:
  161. TodayNode = this.node.getChildByName('5');
  162. break;
  163. case 6:
  164. TodayNode = this.node.getChildByName('6');
  165. break;
  166. }
  167. this.TodayNode = TodayNode;
  168. let Achieved = TodayNode.getChildByName('Achieved');
  169. Achieved.active = true;
  170. EveryDayRewardsArray[i] = 1;
  171. GlobalD.GameData.SetEveryDayRewardsArray(EveryDayRewardsArray);
  172. let myDate = new Date();
  173. let Today = myDate.toLocaleDateString();
  174. GlobalD.GameData.SetLastTimeEveryDayRewardsDate(Today);
  175. this.GotBTN.active = false;
  176. this.ShowRewards(i);
  177. return;
  178. }
  179. }
  180. },
  181. //点了签到之后 签到按钮
  182. ShowRewards(Index) {
  183. UtilsPrefabs
  184. .init(this.EveryDaySignContainer)
  185. .addPrefabs(UtilsPrefabs.PrefabsName[1], null, function (node) {
  186. node.y = -200;
  187. node.x = -20;
  188. var GivePrize = UtilsPrefabs.getNode("GivePrize", node);
  189. //转
  190. var Sunshine = UtilsPrefabs.getNode("Sunshine", GivePrize);
  191. //物品
  192. var Rewards = UtilsPrefabs.getNode("Rewards", GivePrize);
  193. //关闭按钮
  194. var close = UtilsPrefabs.getNode("close", node);
  195. Rewards.getComponent(cc.Sprite).spriteFrame = this.getNode("ItemSprite", this.TodayNode).getComponent(cc.Sprite).spriteFrame
  196. Rewards.scale = 2;
  197. console.log("进来的说");
  198. Sunshine.scaleX = 0;
  199. Sunshine.scaleY = 0;
  200. Rewards.scaleX = 0;
  201. Rewards.scaleY = 0;
  202. Sunshine.stopAllActions();
  203. Rewards.stopAllActions();
  204. var sc2 = cc.scaleTo(0.5, 0.5, 0.5);
  205. Sunshine.runAction(sc2);
  206. var sc3 = cc.scaleTo(0.5, 2, 2);
  207. Rewards.runAction(sc3);
  208. var repeat = cc.repeatForever(cc.rotateBy(5.0, 360));
  209. Sunshine.runAction(repeat);
  210. this.EveryDaySignView.active = false;
  211. UtilsPrefabs.setOn(close, function () {
  212. this.ManageUI.getComponent("ManageUI").onButtonEvent_EveryDay_Close();
  213. UtilsPrefabs.setOff(close);
  214. UtilsPrefabs.removePrefabs(this.EveryDaySignContainer, node.name);
  215. this.next();
  216. this.startsharebtn();
  217. }.bind(this));
  218. }.bind(this));
  219. // if (task.taskCursor == 5) {
  220. // task.addTaskCount();
  221. // // task.removeTaskNodes();
  222. // task.removeTaskNode(task.taskCursorName[3]);
  223. //
  224. //
  225. // }
  226. switch (Index) {
  227. case 0:
  228. GlobalD.GameData.PlusGolden(2000);
  229. break;
  230. case 1:
  231. GlobalD.GameData.PlusDiamond(500);
  232. break;
  233. case 2:
  234. GlobalD.GameData.PlusGolden(5000);
  235. break;
  236. case 3:
  237. // let Golden = this.GetRandomRange(50,200);
  238. // GlobalD.GameData.PlusGolden(Golden);
  239. GlobalD.GameData.PlusDiamond(1000);
  240. break;
  241. case 4:
  242. GlobalD.GameData.PlusGolden(8000);
  243. break;
  244. case 5:
  245. GlobalD.GameData.PlusDiamond(1500);
  246. break;
  247. case 6:
  248. //随机获得钻石x1 或者金币50-300 或者建筑物一个
  249. GlobalD.GameData.PlusGolden(10000);
  250. GlobalD.GameData.PlusDiamond(4000);
  251. break;
  252. }
  253. },
  254. isTask: function () {
  255. if (task.TaskIconCountClick == 4) {
  256. task.addTaskIconCountClick();
  257. task.removeTaskNodes();
  258. }
  259. },
  260. startsharebtn: function () {
  261. UtilsPrefabs
  262. .init(this.EveryDaySignContainer)
  263. .addPrefabs(UtilsPrefabs.sharePrefab[1], null, function (node) {
  264. node.y = -200;
  265. node.x = -20;
  266. var gosharebtn = UtilsPrefabs.getNode("gosharebtn", node);
  267. var img1 = UtilsPrefabs.getNode("img1", node);
  268. var NewLabel1 = UtilsPrefabs.getNode("New Label", img1);
  269. var img2 = UtilsPrefabs.getNode("img2", node);
  270. var NewLabel2 = UtilsPrefabs.getNode("New Label", img2);
  271. // NewLabel1.getComponent(cc.Label).string = 'x'+GlobalD.GameData.signInGive[0];
  272. // NewLabel2.getComponent(cc.Label).string = 'x'+GlobalD.GameData.signInGive[1];
  273. var close = UtilsPrefabs.getNode("close", node);
  274. UtilsPrefabs.setOn(close, function () {
  275. this.isTask();
  276. UtilsPrefabs.removePrefabs(this.EveryDaySignContainer, node.name);
  277. // if (task.taskCursor == 4) {
  278. // task.addTaskCount();
  279. // task.removeTaskNodes();
  280. // }
  281. }.bind(this));
  282. UtilsPrefabs.setOn(gosharebtn, function () {
  283. // console.log("点击分享按钮");
  284. UtilsWX.sharebtn(function () {
  285. UtilsPrefabs.setOff(gosharebtn);
  286. GlobalD.GameData.PlusGolden(GlobalD.GameData.signInGive[0]);
  287. GlobalD.GameData.PlusDiamond(GlobalD.GameData.signInGive[1]);
  288. this.isTask();
  289. }.bind(this));
  290. UtilsPrefabs.removePrefabs(this.EveryDaySignContainer, node.name);
  291. }.bind(this))
  292. }.bind(this));
  293. },
  294. next: function () {
  295. if (task.taskCursor == 5) {
  296. // task.addTaskCount();
  297. // // task.removeTaskNodes();
  298. // task.removeTaskNode(task.taskCursorName[3]);
  299. // console.log("现在需要提示去看管理");
  300. var Canvas = cc.find("Canvas/UICamera");
  301. task.addTaskTips(Canvas, task.taskPrefab[5], 0, 0, task.taskCursorName[0], function (nodePrefabs) {
  302. UtilsPrefabs.setOn(nodePrefabs.getChildByName("SureBtn"), function () {
  303. task.removeTaskNode(task.taskCursorName[0]);
  304. if (task.taskCursor == 5) {
  305. task.addTaskCount();
  306. var personnel = cc.find("Canvas/UICamera/BelowTheMask/personnel");
  307. //转盘提示
  308. task.addTaskTips(personnel, task.taskPrefab[1], 0, 0, task.taskCursorName[1], function (nodePrefabs1) {
  309. nodePrefabs1.x = -50;
  310. nodePrefabs1.y = -50;
  311. }.bind(this));
  312. }
  313. }.bind(this))
  314. }.bind(this));
  315. }
  316. },
  317. GetRandomRange(n, m) {
  318. var random = Math.floor(Math.random() * (m - n + 1) + n);
  319. return random;
  320. },
  321. getNode: function (name, parent) {
  322. if (parent == null) {
  323. return this.node.getChildByName(name);
  324. } else {
  325. return parent.getChildByName(name);
  326. }
  327. },
  328. });