zhengniehua 5 лет назад
Родитель
Сommit
5752e31eb4
75 измененных файлов с 6248 добавлено и 427 удалено
  1. 0 0
      tools/apkmaker/apkmaker.js
  2. 9 0
      tools/apkmaker/readme.md
  3. 15 15
      tools/messages.md
  4. 3 0
      tools/安卓自动打包.bat
  5. 8 5
      tower_sanguo/assets/MOKA/manager/SDKManager.ts
  6. 231 0
      tower_sanguo/assets/MOKA/util/TimeUtil.ts
  7. 9 0
      tower_sanguo/assets/MOKA/util/TimeUtil.ts.meta
  8. 35 0
      tower_sanguo/assets/resources/animation/MoveRightHide.anim
  9. 5 0
      tower_sanguo/assets/resources/animation/MoveRightHide.anim.meta
  10. BIN
      tower_sanguo/assets/resources/data/1.bin
  11. 99 99
      tower_sanguo/assets/resources/data/barrack_data.json
  12. 12 0
      tower_sanguo/assets/resources/data/fundes_data.json
  13. 5 0
      tower_sanguo/assets/resources/data/fundes_data.json.meta
  14. 11 9
      tower_sanguo/assets/resources/data/help_data.json
  15. 112 112
      tower_sanguo/assets/resources/data/monster_data.json
  16. 48 0
      tower_sanguo/assets/resources/data/openfun_data.json
  17. 5 0
      tower_sanguo/assets/resources/data/openfun_data.json.meta
  18. 4 0
      tower_sanguo/assets/resources/data/resList.json
  19. 2 1
      tower_sanguo/assets/resources/data/serverConfig_data.json
  20. 50 0
      tower_sanguo/assets/resources/data/task_data.json
  21. 5 0
      tower_sanguo/assets/resources/data/task_data.json.meta
  22. 18 0
      tower_sanguo/assets/resources/font/font3.fnt
  23. 7 0
      tower_sanguo/assets/resources/font/font3.fnt.meta
  24. BIN
      tower_sanguo/assets/resources/font/font3.png
  25. 36 0
      tower_sanguo/assets/resources/font/font3.png.meta
  26. 7 0
      tower_sanguo/assets/resources/module/getRewarded.meta
  27. 2169 0
      tower_sanguo/assets/resources/module/getRewarded/getRewarded.prefab
  28. 8 0
      tower_sanguo/assets/resources/module/getRewarded/getRewarded.prefab.meta
  29. 7 0
      tower_sanguo/assets/resources/module/redEnvelopes.meta
  30. 49 0
      tower_sanguo/assets/resources/module/redEnvelopes/TopScale.anim
  31. 5 0
      tower_sanguo/assets/resources/module/redEnvelopes/TopScale.anim.meta
  32. 2331 0
      tower_sanguo/assets/resources/module/redEnvelopes/redEnvelopes.prefab
  33. 8 0
      tower_sanguo/assets/resources/module/redEnvelopes/redEnvelopes.prefab.meta
  34. 7 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture.meta
  35. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb1.png
  36. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb1.png.meta
  37. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb2.png
  38. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb2.png.meta
  39. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb3.png
  40. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb3.png.meta
  41. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb4.png
  42. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb4.png.meta
  43. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb5.png
  44. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb5.png.meta
  45. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb_bg.png
  46. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/hb_bg.png.meta
  47. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/icon_hb.png
  48. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/icon_hb.png.meta
  49. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/word1.png
  50. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/word1.png.meta
  51. BIN
      tower_sanguo/assets/resources/module/redEnvelopes/texture/word2.png
  52. 36 0
      tower_sanguo/assets/resources/module/redEnvelopes/texture/word2.png.meta
  53. 26 4
      tower_sanguo/assets/resources/module/task/prefab/task_item.prefab
  54. 13 7
      tower_sanguo/assets/resources/module/task/task.prefab
  55. 3 18
      tower_sanguo/assets/scripts/GameController.ts
  56. 13 5
      tower_sanguo/assets/scripts/component/TableViewUtils.ts
  57. 49 88
      tower_sanguo/assets/scripts/data/GameData.ts
  58. 11 9
      tower_sanguo/assets/scripts/data/GameDefinition.ts
  59. 1 2
      tower_sanguo/assets/scripts/module/fight/FightUI.ts
  60. 7 0
      tower_sanguo/assets/scripts/module/getRewarded.meta
  61. 128 0
      tower_sanguo/assets/scripts/module/getRewarded/GetRewardedUI.ts
  62. 9 0
      tower_sanguo/assets/scripts/module/getRewarded/GetRewardedUI.ts.meta
  63. 14 0
      tower_sanguo/assets/scripts/module/main/MainUI.ts
  64. 7 0
      tower_sanguo/assets/scripts/module/redEnvelopes.meta
  65. 128 0
      tower_sanguo/assets/scripts/module/redEnvelopes/RedEnvelopesUI.ts
  66. 9 0
      tower_sanguo/assets/scripts/module/redEnvelopes/RedEnvelopesUI.ts.meta
  67. 82 16
      tower_sanguo/assets/scripts/module/task/TaskUI.ts
  68. 27 2
      tower_sanguo/assets/scripts/module/task/task_item.ts
  69. 17 3
      tower_sanguo/assets/scripts/net/HttpCommand.ts
  70. 7 10
      tower_sanguo/assets/scripts/net/msg/PlayerUpdateRequest.ts
  71. 2 4
      tower_sanguo/assets/scripts/net/msg/PlayerUpdateResponse.ts
  72. 23 17
      tower_sanguo/assets/scripts/net/servertest/ServerManager.ts
  73. 1 1
      tower_sanguo/assets/scripts/vo/MonsterVO.ts
  74. 18 0
      tower_sanguo/assets/scripts/vo/TaskVO.ts
  75. 9 0
      tower_sanguo/assets/scripts/vo/TaskVO.ts.meta

+ 0 - 0
tools/apkmaker/apkmaker.js


+ 9 - 0
tools/apkmaker/readme.md

@@ -0,0 +1,9 @@
+### 安卓自动打包
+
+### 配置gradle环境变量
+https://blog.csdn.net/u014743890/article/details/84316176
+cmd到安卓包目录下使用 gradlew -v   或  gradle -v
+
+### 使用命令行打包
+https://www.jianshu.com/p/45fdcc6f00a4
+https://blog.csdn.net/qq_32816979/article/details/79113826

+ 15 - 15
tools/messages.md

@@ -1,3 +1,4 @@
+塔防三国接口说明文档
 ### 接口说明
         {
             //获取网络配置,和以前一样
@@ -63,10 +64,11 @@
             "name": "updatePlayerProp",
             "method": "POST",
             "send": {
-                proptype:number,    //属性类型
-                propvalue:number,   //属性值
-                add:number      //0当前值  1增加值
-            },
+                [   proptype:number,    //属性类型
+                    propvalue:number,   //属性值
+                    add:number      //0当前值  1增加值
+                ]
+            },]
             "response": {
                 "data": {
                     proptype:number,    //属性类型
@@ -107,7 +109,6 @@
             "name": "updateMission",
             "method": "POST",
             "data": {
-                mid:number,//关卡id
                 max:[gid],//最大战力武将id
                 last:[gid]//通关时武将id
             },
@@ -122,16 +123,14 @@
             "id": 10,
             "name": "generalExpUp",
             "method": "POST",
-            "data": "null",
-            "response": {
-                "data": {
-                    gid: number;    //武将id
-                    exp: number;    //当前武将经验
-                    addExp:number;  //增加的经验
-                    lv: number;     //当前武将等级
-                    food:number;    //当前剩余粮草
-                }
-            }
+            "data": " [
+                    {
+                        gid:number,
+                        lv:number,
+                        exp:number
+                    }
+                ],
+            "response":null
         },
         {
             //兵营升级
@@ -256,6 +255,7 @@ export enum PLAYERPROP {
 
     MISSION_ARRIVE = 20,//当前到达的最大关卡
     MISSION_PASSED = 21,//当前通过的最大关卡
+    USESKILL_TIME = 22,//上次使用统帅技能的时间
 }
 
 //道具类型

+ 3 - 0
tools/安卓自动打包.bat

@@ -0,0 +1,3 @@
+cd D:\work\cocos\tower_sanguo\tower_sanguo\build\jsb-link\frameworks\runtime-src\proj.android-studio
+gradlew -v
+gradlew assembleRelease

+ 8 - 5
tower_sanguo/assets/MOKA/manager/SDKManager.ts

@@ -18,17 +18,20 @@ export default class SDKManager {
     static sendReport: boolean = false
 
     init() {
-        // if (cc.sys.os == cc.sys.OS_WINDOWS) {
-        if (true) {
+        console.log("sdkManager.init", cc.sys.os, cc.sys.platform, cc.sys.isNative);
+
+        if (cc.sys.isNative) {
+            this.sdk = new AndroidSDK();
+        }
+        else if (cc.sys.os == cc.sys.OS_WINDOWS) {
             this.sdk = new WindowTest();
         }
         else if (cc.sys.platform == cc.sys.WECHAT_GAME) {
             this.sdk = new MokaWxSDK();
         }
-        else {
-            this.sdk = new AndroidSDK();
+        if (this.sdk) {
+            this.sdk.init();
         }
-        this.sdk.init();
     }
 
     /**

+ 231 - 0
tower_sanguo/assets/MOKA/util/TimeUtil.ts

@@ -0,0 +1,231 @@
+class TimeUtil {
+	public constructor() {
+	}
+
+	/**
+	 * 真正的当前时间
+	 */
+	public static getCurrentTime():number
+	{
+		var time:Date = new Date();
+		return time.getTime();// + time.getTimezoneOffset() * 60 * 1000; 这个时间不对,直接getTime是对的,除非这取的不是本地时间@zhang
+	}
+
+	private static localTime:number;
+	private static offTime:number = 0;
+	/**获取当前的服务器时间 */
+	public static getCrtServerTime():number{
+		return Math.ceil(new Date().getTime() / 1000 + this.offTime);
+	}
+
+	/**
+	 * 获取服务器日期
+	 */
+	public static getServerDate(){
+		return new Date(TimeUtil.getCrtServerTime()*1000);
+	}
+
+	/**
+	 * 返回一年中的第N天
+	 * @param t 秒
+	 */
+
+
+	public static GetDayInYear(t:number):number{
+		var time:Date = new Date(t);
+		var month = time.getMonth()+1;
+		var year = time.getFullYear();
+		var days = time.getDate();
+		var sum = 0;
+
+		let a = [31,28,31,30,31,30,31,31,30,31,30,31];
+		let b = [31,29,31,30,31,30,31,31,30,31,30,31];
+		if(year%400==0 || (year%4==0 && year%100!=0)){
+			for(var i:number=0;i<month-1;i++){
+				sum += b[i];
+		    }
+			return sum + days;
+		}else{
+			for(var i:number=0;i<month-1;i++){
+				sum += a[i];
+		    }
+			return sum + days;
+		}
+		
+
+		// if(year%400==0 || (year%4==0 && year%100!=0)){
+		// 	return 1;
+		// }else{
+		// 	return 0;
+		// }
+
+		
+		
+		
+
+		// function get_month_days(m){
+		// 	var d = 0;
+		// 	if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)
+		// 		d = 31;
+		// 	else if(m==4 || m==6 || m==9 || m==11)
+		// 		d = 30;
+		// 	else if(year%400==0 || (year%4==0 && year%100!=0))
+		// 		d = 29;
+		// 	else
+		// 		d = 28;
+		// 	return d;
+		// }
+		
+		// var all_days = 0
+		// for(var i = 1; i<=month; i++){
+		// 	if(i == month){
+		// 		all_days += days
+		// 	}else{
+		// 		all_days += get_month_days(i);
+		// 	}
+		// }
+		
+		// return all_days;
+	}
+
+	/**
+	 * 返回时间点在当天的秒数
+	 */
+	public static getSecondInDay(date:Date){
+		return date.getHours()*3600 + date.getMinutes()*60 + date.getSeconds();
+	}
+
+	/**
+	 * 倒计时转换为时间格式(h:m:s) ,可自定义
+	 * @param t 秒
+	 * @param f 格式
+	 */
+	public static ParseTime2Format(t:number, f:string = "h:m:s"):string{
+		var d:number=Math.floor(t/24/3600);
+		var h:number = Math.floor((t/3600)%24);
+		var m:number = Math.floor((t%3600)/60);
+		var s:number = (t%3600)%60;
+
+		function parse_format(t:number):string{
+			var s:string = t.toString();
+			if (t < 10){
+				s = "0" + t;
+			}
+			return s;
+		}
+		if(f.indexOf("d")!=-1){
+			f=f.replace(/d/g, parse_format(d));
+		}
+		else{
+			h+=d*24;
+		}
+		if (f.indexOf("h") != -1){
+			f = f.replace(/h/g, parse_format(h));
+		}else{
+			m += h*60;
+		}
+		if (f.indexOf("m") != -1){
+			f = f.replace(/m/g, parse_format(m));
+		}else{
+			if (f.indexOf("h") != -1){
+				s += m*60;
+			}else{
+				s = t;
+			}
+		}
+		if (f.indexOf("s") != -1){
+			f = f.replace(/s/g, parse_format(s));
+		}
+		return f;
+	}
+
+	/**
+	 * 转换为日期格式
+	 * @param t 毫秒
+	 * @param f 格式 Y/M/D h:m:s
+	 */
+	public static ParseTime2Date(t:number, f:string = "Y-M-D h:m:s"){
+		var d:Date = new Date(t);
+		var Y:number = d.getFullYear();
+		var M:number = d.getMonth()+1;
+		var D:number = d.getDate();
+		var h:number = d.getHours();
+		var m:number = d.getMinutes();
+		var s:number = d.getSeconds();
+
+		function parse_format(t:number):string{
+			var s:string = t.toString();
+			if (t < 10){
+				s = "0" + t;
+			}
+			return s;
+		}
+
+		if (f.indexOf("Y") != -1){
+			f = f.replace(/Y/g, parse_format(Y));
+		}
+		if (f.indexOf("M") != -1){
+			f = f.replace(/M/g, parse_format(M));
+		}
+		if (f.indexOf("D") != -1){
+			f = f.replace(/D/g, parse_format(D));
+		}
+		if (f.indexOf("h") != -1){
+			f = f.replace(/h/g, parse_format(h));
+		}
+		if (f.indexOf("m") != -1){
+			f = f.replace(/m/g, parse_format(m));
+		}
+		if (f.indexOf("s") != -1){
+			f = f.replace(/s/g, parse_format(s));
+		}
+		return f;
+	}
+
+	/**
+	 * 将时间转换为天/小时/分钟/秒
+	 * @param t 秒
+	 */
+	public static ParseTimeChangeToUtil(t:number){
+		var str:string = "";
+		
+		if(t >= 3600*24){
+			str = Math.floor(t/(3600*24)) + "天";
+		}else if(t >= 3600){
+			str = Math.floor(t/3600) + "小时";
+		}else if(t >= 60){
+			str = Math.floor(t/60) + "分钟";
+		}else if(t<60 && t > 0){
+			str = t + "秒";
+		}
+		return str;
+	}
+
+	/**
+	 * 获得带单位的时间字符串
+	 * * @param t 秒
+	 * @param f 格式 "d" "h" "m" "s"
+	 */
+	public static ParseTime2Units(t:number, f:string = "h"):string{
+		var str:string = "";
+		
+		if(f == "d"){
+			str = Math.ceil(t/(3600*24)) + "天";
+		}else if(f == "h"){
+			str = Math.ceil(t/3600) + "小时";
+		}else if(f == "m"){
+			str = Math.ceil(t/60) + "分钟";
+		}else if(f == "s"){
+			str = t + "秒";
+		}else{
+			var d = Math.floor(t/(3600*24));
+			var h = Math.floor(t/3600);
+			var m = Math.floor(t/60);
+			var s = t%60;
+			str = d + "天" + h + "时" + m + "分" + s + "秒";
+		}
+		
+		return str;
+	}
+
+}

+ 9 - 0
tower_sanguo/assets/MOKA/util/TimeUtil.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "5c35ab61-0e84-4dd1-a13d-eadc77180c6a",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 35 - 0
tower_sanguo/assets/resources/animation/MoveRightHide.anim

@@ -0,0 +1,35 @@
+{
+  "__type__": "cc.AnimationClip",
+  "_name": "MoveRightHide",
+  "_objFlags": 0,
+  "_native": "",
+  "_duration": 0.3333333333333333,
+  "sample": 60,
+  "speed": 1,
+  "wrapMode": 1,
+  "curveData": {
+    "props": {
+      "x": [
+        {
+          "frame": 0,
+          "value": 0
+        },
+        {
+          "frame": 0.3333333333333333,
+          "value": 620
+        }
+      ],
+      "opacity": [
+        {
+          "frame": 0,
+          "value": 255
+        },
+        {
+          "frame": 0.3333333333333333,
+          "value": 0
+        }
+      ]
+    }
+  },
+  "events": []
+}

+ 5 - 0
tower_sanguo/assets/resources/animation/MoveRightHide.anim.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "2.1.0",
+  "uuid": "27061dcf-ec19-48d3-a7ec-122a6bc0a6b2",
+  "subMetas": {}
+}

BIN
tower_sanguo/assets/resources/data/1.bin


+ 99 - 99
tower_sanguo/assets/resources/data/barrack_data.json

@@ -1,497 +1,497 @@
 {
 	"1": {
 		"campLv": 1,
-		"cost": "4:100",
+		"cost": 100,
 		"unlockHero": "123011,111001,132004,112007,143013,132006,121001,114016,122004,123013,141003,113015,133012,122003,123008"
 	},
 	"2": {
 		"campLv": 2,
-		"cost": "4:100",
+		"cost": 100,
 		"unlockHero": ""
 	},
 	"3": {
 		"campLv": 3,
-		"cost": "4:100",
+		"cost": 100,
 		"unlockHero": ""
 	},
 	"4": {
 		"campLv": 4,
-		"cost": "4:100",
+		"cost": 100,
 		"unlockHero": ""
 	},
 	"5": {
 		"campLv": 5,
-		"cost": "4:100",
+		"cost": 100,
 		"unlockHero": ""
 	},
 	"6": {
 		"campLv": 6,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"7": {
 		"campLv": 7,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"8": {
 		"campLv": 8,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"9": {
 		"campLv": 9,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"10": {
 		"campLv": 10,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": "133011,113010,122005"
 	},
 	"11": {
 		"campLv": 11,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"12": {
 		"campLv": 12,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"13": {
 		"campLv": 13,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"14": {
 		"campLv": 14,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"15": {
 		"campLv": 15,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": "112005,142006,141004"
 	},
 	"16": {
 		"campLv": 16,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"17": {
 		"campLv": 17,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"18": {
 		"campLv": 18,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"19": {
 		"campLv": 19,
-		"cost": "4:150",
+		"cost": 150,
 		"unlockHero": ""
 	},
 	"20": {
 		"campLv": 20,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": "142005,133008,111004"
 	},
 	"21": {
 		"campLv": 21,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"22": {
 		"campLv": 22,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"23": {
 		"campLv": 23,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"24": {
 		"campLv": 24,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"25": {
 		"campLv": 25,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": "112008,111002,143015"
 	},
 	"26": {
 		"campLv": 26,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"27": {
 		"campLv": 27,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"28": {
 		"campLv": 28,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"29": {
 		"campLv": 29,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"30": {
 		"campLv": 30,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": "134014,142009,143012"
 	},
 	"31": {
 		"campLv": 31,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"32": {
 		"campLv": 32,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"33": {
 		"campLv": 33,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": "113009,122006,113011"
 	},
 	"34": {
 		"campLv": 34,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"35": {
 		"campLv": 35,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"36": {
 		"campLv": 36,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": "121002,132005,142008"
 	},
 	"37": {
 		"campLv": 37,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"38": {
 		"campLv": 38,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": ""
 	},
 	"39": {
 		"campLv": 39,
-		"cost": "4:200",
+		"cost": 200,
 		"unlockHero": "124014,133013,113014"
 	},
 	"40": {
 		"campLv": 40,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"41": {
 		"campLv": 41,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"42": {
 		"campLv": 42,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": "143011,132007,123012"
 	},
 	"43": {
 		"campLv": 43,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"44": {
 		"campLv": 44,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"45": {
 		"campLv": 45,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": "133009,123007,141001"
 	},
 	"46": {
 		"campLv": 46,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"47": {
 		"campLv": 47,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": "131002,143014,142007"
 	},
 	"48": {
 		"campLv": 48,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"49": {
 		"campLv": 49,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": "123010,112006,113013"
 	},
 	"50": {
 		"campLv": 50,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"51": {
 		"campLv": 51,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": "142010,144016,111003"
 	},
 	"52": {
 		"campLv": 52,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"53": {
 		"campLv": 53,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": "133010,131001,141002"
 	},
 	"54": {
 		"campLv": 54,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"55": {
 		"campLv": 55,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": "123009,131003,113012"
 	},
 	"56": {
 		"campLv": 56,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"57": {
 		"campLv": 57,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"58": {
 		"campLv": 58,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"59": {
 		"campLv": 59,
-		"cost": "4:300",
+		"cost": 300,
 		"unlockHero": ""
 	},
 	"60": {
 		"campLv": 60,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"61": {
 		"campLv": 61,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"62": {
 		"campLv": 62,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"63": {
 		"campLv": 63,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"64": {
 		"campLv": 64,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"65": {
 		"campLv": 65,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"66": {
 		"campLv": 66,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"67": {
 		"campLv": 67,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"68": {
 		"campLv": 68,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"69": {
 		"campLv": 69,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"70": {
 		"campLv": 70,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"71": {
 		"campLv": 71,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"72": {
 		"campLv": 72,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"73": {
 		"campLv": 73,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"74": {
 		"campLv": 74,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"75": {
 		"campLv": 75,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"76": {
 		"campLv": 76,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"77": {
 		"campLv": 77,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"78": {
 		"campLv": 78,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"79": {
 		"campLv": 79,
-		"cost": "4:400",
+		"cost": 400,
 		"unlockHero": ""
 	},
 	"80": {
 		"campLv": 80,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"81": {
 		"campLv": 81,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"82": {
 		"campLv": 82,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"83": {
 		"campLv": 83,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"84": {
 		"campLv": 84,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"85": {
 		"campLv": 85,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"86": {
 		"campLv": 86,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"87": {
 		"campLv": 87,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"88": {
 		"campLv": 88,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"89": {
 		"campLv": 89,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"90": {
 		"campLv": 90,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"91": {
 		"campLv": 91,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"92": {
 		"campLv": 92,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"93": {
 		"campLv": 93,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"94": {
 		"campLv": 94,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"95": {
 		"campLv": 95,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"96": {
 		"campLv": 96,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"97": {
 		"campLv": 97,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"98": {
 		"campLv": 98,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"99": {
 		"campLv": 99,
-		"cost": "4:500",
+		"cost": 500,
 		"unlockHero": ""
 	},
 	"100": {

+ 12 - 0
tower_sanguo/assets/resources/data/fundes_data.json

@@ -0,0 +1,12 @@
+{
+	"barracks_help": {
+		"id": "barracks_help",
+		"title": "兵营升级",
+		"des": "1.兵营升级需要威望石。\\n\\n2.通关BOSS关卡可以获得\\n威望石\\n\\n3.兵营升级后,可以大大加快\\n武将的升级速度\\n\\n4.武将的训练等级随兵营等级\\n提升而提高。"
+	},
+	"turntable_help": {
+		"id": "turntable_help",
+		"title": "玩法说明",
+		"des": "1.每次转转盘都可100%获得\\n奖励\\n\\n2.每天有10次转转盘机会\\n\\n3.每日12点、18点、0点、将\\n自动重置转盘次数"
+	}
+}

+ 5 - 0
tower_sanguo/assets/resources/data/fundes_data.json.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.0",
+  "uuid": "dea8365b-bdec-443c-9b6c-97df0b163d82",
+  "subMetas": {}
+}

+ 11 - 9
tower_sanguo/assets/resources/data/help_data.json

@@ -1,10 +1,12 @@
-{
-    "barracks_help": {
-        "title": "兵营升级",
-        "des": "1.兵营升级需要威望石。\n\n2.通关BOSS关卡可以获得\n威望石\n\n3.兵营升级后,可以大大加快\n武将的升级速度\n\n4.武将的训练等级随兵营等级\n提升而提高。"
-    },
-    "turntable_help": {
-        "title": "玩法说明",
-        "des": "1.每次转转盘都可100%获得\n奖励\n\n2.每天有10次转转盘机会\n\n3.每日12点、18点、0点、将\n自动重置转盘次数"
-    }
+{
+	"barracks_help": {
+		"id": "barracks_help",
+		"title": "兵营升级",
+		"des": "1.兵营升级需要威望石。\\n\\n2.通关BOSS关卡可以获得\\n威望石\\n\\n3.兵营升级后,可以大大加快\\n武将的升级速度\\n\\n4.武将的训练等级随兵营等级\\n提升而提高。"
+	},
+	"turntable_help": {
+		"id": "turntable_help",
+		"title": "玩法说明",
+		"des": "1.每次转转盘都可100%获得\\n奖励\\n\\n2.每天有10次转转盘机会\\n\\n3.每日12点、18点、0点、将\\n自动重置转盘次数"
+	}
 }

Разница между файлами не показана из-за своего большого размера
+ 112 - 112
tower_sanguo/assets/resources/data/monster_data.json


+ 48 - 0
tower_sanguo/assets/resources/data/openfun_data.json

@@ -0,0 +1,48 @@
+{
+	"1": {
+		"id": 1,
+		"name": "统帅台",
+		"openmission": 3,
+		"btn_src": "btn_marshalstage",
+		"uiID": 1,
+		"ui_src": "marshalStageUI"
+	},
+	"2": {
+		"id": 2,
+		"name": "兵营",
+		"openmission": 5,
+		"btn_src": "btn_barracks",
+		"uiID": 2,
+		"ui_src": "barracksUI"
+	},
+	"3": {
+		"id": 3,
+		"name": "武将",
+		"openmission": 7,
+		"btn_src": "btn_general",
+		"uiID": 3
+	},
+	"4": {
+		"id": 4,
+		"name": "日常任务",
+		"openmission": 9,
+		"btn_src": "btn_task",
+		"uiID": 4,
+		"ui_src": "TaskUI"
+	},
+	"5": {
+		"id": 5,
+		"name": "点将台",
+		"openmission": 7,
+		"btn_src": "btn_getgeneral",
+		"uiID": 5,
+		"ui_src": "GetGeneralUI"
+	},
+	"6": {
+		"id": 6,
+		"name": "转盘",
+		"openmission": 8,
+		"uiID": 6,
+		"ui_src": "GetGeneralUI"
+	}
+}

+ 5 - 0
tower_sanguo/assets/resources/data/openfun_data.json.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.0",
+  "uuid": "e2e9b129-375e-4943-86f6-5cea71e3e715",
+  "subMetas": {}
+}

+ 4 - 0
tower_sanguo/assets/resources/data/resList.json

@@ -44,6 +44,10 @@
 		"type": "json"
 	},
 	{
+		"url": "data/task_data",
+		"type": "json"
+	},
+	{
 		"url": "data/commanderskill_data",
 		"type": "json"
 	},

+ 2 - 1
tower_sanguo/assets/resources/data/serverConfig_data.json

@@ -3,5 +3,6 @@
 	"embattle_open": "1,10,20,30,40",
 	"needQuality": "2,3,4",
 	"skillCD": 1200,
-	"dailyClearTimes": 3
+	"dailyClearTimes": 3,
+	"initHero": "112005,122005,132005,142007"
 }

+ 50 - 0
tower_sanguo/assets/resources/data/task_data.json

@@ -0,0 +1,50 @@
+{
+	"1": {
+		"id": 1,
+		"description": "武将训练{0}次",
+		"count1": 5,
+		"activevalue1": 5,
+		"count2": 20,
+		"activevalue2": 15
+	},
+	"2": {
+		"id": 2,
+		"description": "投资{0}次",
+		"count1": 2,
+		"activevalue1": 5,
+		"count2": 4,
+		"activevalue2": 10
+	},
+	"3": {
+		"id": 3,
+		"description": "抽取武将{0}次",
+		"count1": 5,
+		"activevalue1": 5,
+		"count2": 10,
+		"activevalue2": 15
+	},
+	"4": {
+		"id": 4,
+		"description": "转盘抽奖{0}次",
+		"count1": 5,
+		"activevalue1": 5,
+		"count2": 10,
+		"activevalue2": 15
+	},
+	"5": {
+		"id": 5,
+		"description": "使用统帅技能{0}次",
+		"count1": 1,
+		"activevalue1": 5,
+		"count2": 3,
+		"activevalue2": 15
+	},
+	"6": {
+		"id": 6,
+		"description": "观看视频广告{0}次",
+		"count1": 15,
+		"activevalue1": 5,
+		"count2": 30,
+		"activevalue2": 20
+	}
+}

+ 5 - 0
tower_sanguo/assets/resources/data/task_data.json.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "1.0.0",
+  "uuid": "543979fd-7402-4c02-804c-391cd0848831",
+  "subMetas": {}
+}

+ 18 - 0
tower_sanguo/assets/resources/font/font3.fnt

@@ -0,0 +1,18 @@
+info size=51 unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
+common lineHeight=51 base=23 scaleW=512 scaleH=256 pages=1 packed=0
+page id=0 file="font3.png"
+chars count=15char id=51 x=2 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 
+char id=52 x=22 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 
+char id=53 x=42 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 
+char id=54 x=62 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 
+char id=55 x=82 y=2 width=19 height=22 xoffset=0 yoffset=0 xadvance=19 
+char id=56 x=103 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 
+char id=57 x=123 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 
+char id=110 x=143 y=2 width=22 height=26 xoffset=0 yoffset=0 xadvance=22 
+char id=107 x=167 y=2 width=16 height=20 xoffset=0 yoffset=0 xadvance=16 
+char id=109 x=185 y=2 width=45 height=25 xoffset=0 yoffset=0 xadvance=45 
+char id=102 x=232 y=2 width=134 height=51 xoffset=0 yoffset=0 xadvance=134 
+char id=45 x=368 y=2 width=22 height=26 xoffset=0 yoffset=0 xadvance=22 
+char id=48 x=392 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 
+char id=49 x=412 y=2 width=11 height=22 xoffset=0 yoffset=0 xadvance=11 
+char id=50 x=425 y=2 width=18 height=22 xoffset=0 yoffset=0 xadvance=18 

+ 7 - 0
tower_sanguo/assets/resources/font/font3.fnt.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "2.1.0",
+  "uuid": "08f95e11-0fc9-4f8b-ac26-d112c3b1a438",
+  "textureUuid": "754c02ad-ff1e-414d-97cb-266e59b9f536",
+  "fontSize": 51,
+  "subMetas": {}
+}

BIN
tower_sanguo/assets/resources/font/font3.png


+ 36 - 0
tower_sanguo/assets/resources/font/font3.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "754c02ad-ff1e-414d-97cb-266e59b9f536",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 512,
+  "height": 256,
+  "platformSettings": {},
+  "subMetas": {
+    "font3": {
+      "ver": "1.0.4",
+      "uuid": "44ed2c58-da23-46fa-9d20-4e9cb0f333e1",
+      "rawTextureUuid": "754c02ad-ff1e-414d-97cb-266e59b9f536",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": -33.5,
+      "offsetY": 100.5,
+      "trimX": 2,
+      "trimY": 2,
+      "width": 441,
+      "height": 51,
+      "rawWidth": 512,
+      "rawHeight": 256,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 7 - 0
tower_sanguo/assets/resources/module/getRewarded.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "26877866-9de1-4752-b1ed-6152cf58c048",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

+ 2169 - 0
tower_sanguo/assets/resources/module/getRewarded/getRewarded.prefab

@@ -0,0 +1,2169 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "getRewarded",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 55
+      },
+      {
+        "__id__": 56
+      }
+    ],
+    "_prefab": {
+      "__id__": 57
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 1334
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        375,
+        667,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_ui",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 14
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 53
+      }
+    ],
+    "_prefab": {
+      "__id__": 54
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 1334
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_top",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [
+      {
+        "__id__": 4
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 12
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 1334
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_title",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 3
+    },
+    "_children": [
+      {
+        "__id__": 5
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 11
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        494.334,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_bg",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 4
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 6
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 180,
+      "height": 60
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 5
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "aa9svkeTxLLKpdDP6uovrj",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "lbl_title",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 4
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      }
+    ],
+    "_prefab": {
+      "__id__": 10
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 160,
+      "height": 50.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_useOriginalSize": false,
+    "_string": "恭喜获得",
+    "_N$string": "恭喜获得",
+    "_fontSize": 40,
+    "_lineHeight": 40,
+    "_enableWrapText": true,
+    "_N$file": {
+      "__uuid__": "2bec5164-bd32-4719-bbbf-97e2c8b3ab1a"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 0,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 1,
+    "_N$verticalAlign": 1,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "66GobFgrRDE7FzcEaLpVi8",
+    "sync": false
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "aaVIGCwgBHSY0YQEjOPL67",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 3
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": {
+      "__id__": 2
+    },
+    "_alignFlags": 41,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 750,
+    "_originalHeight": 1334,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "cbWUkzKFxHLp9gDy2LV7dv",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_center",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [
+      {
+        "__id__": 15
+      },
+      {
+        "__id__": 26
+      },
+      {
+        "__id__": 31
+      },
+      {
+        "__id__": 40
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 51
+      }
+    ],
+    "_prefab": {
+      "__id__": 52
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 1334
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_btn",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 14
+    },
+    "_children": [
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 20
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 24
+      }
+    ],
+    "_prefab": {
+      "__id__": 25
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 300,
+      "height": 170.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -266.676,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_double_receive",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 17
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 19
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 200,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        35.2,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 16
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 16
+    },
+    "_enabled": true,
+    "_normalMaterial": {
+      "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+    },
+    "_grayMaterial": null,
+    "duration": 0.1,
+    "zoomScale": 1.2,
+    "clickEvents": [],
+    "_N$interactable": true,
+    "_N$enableAutoGrayEffect": false,
+    "_N$transition": 3,
+    "transition": 3,
+    "_N$normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_N$hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_N$normalSprite": null,
+    "_N$pressedSprite": null,
+    "pressedSprite": null,
+    "_N$hoverSprite": null,
+    "hoverSprite": null,
+    "_N$disabledSprite": null,
+    "_N$target": {
+      "__id__": 16
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "51A2xpCs1ATI2R0izSlyfL",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_receive",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 21
+      },
+      {
+        "__id__": 22
+      }
+    ],
+    "_prefab": {
+      "__id__": 23
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 160,
+      "height": 50.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -60,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 20
+    },
+    "_enabled": true,
+    "_normalMaterial": {
+      "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+    },
+    "_grayMaterial": null,
+    "duration": 0.1,
+    "zoomScale": 1.2,
+    "clickEvents": [],
+    "_N$interactable": true,
+    "_N$enableAutoGrayEffect": false,
+    "_N$transition": 3,
+    "transition": 3,
+    "_N$normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_N$hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_N$normalSprite": null,
+    "_N$pressedSprite": null,
+    "pressedSprite": null,
+    "_N$hoverSprite": null,
+    "hoverSprite": null,
+    "_N$disabledSprite": null,
+    "_N$target": {
+      "__id__": 20
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 20
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_useOriginalSize": true,
+    "_string": "普通领取",
+    "_N$string": "普通领取",
+    "_fontSize": 40,
+    "_lineHeight": 40,
+    "_enableWrapText": true,
+    "_N$file": {
+      "__uuid__": "2bec5164-bd32-4719-bbbf-97e2c8b3ab1a"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 4,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 0,
+    "_N$verticalAlign": 0,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "e8MVARkThEZZLY02lS5pAX",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 15
+    },
+    "_enabled": true,
+    "_layoutSize": {
+      "__type__": "cc.Size",
+      "width": 300,
+      "height": 170.4
+    },
+    "_resize": 1,
+    "_N$layoutType": 2,
+    "_N$cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_N$startAxis": 0,
+    "_N$paddingLeft": 0,
+    "_N$paddingRight": 0,
+    "_N$paddingTop": 0,
+    "_N$paddingBottom": 0,
+    "_N$spacingX": 0,
+    "_N$spacingY": 20,
+    "_N$verticalDirection": 1,
+    "_N$horizontalDirection": 0,
+    "_N$affectedByScale": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "3aT4ISylpKA5oCejMCjSsh",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_reward_pos",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 14
+    },
+    "_children": [
+      {
+        "__id__": 27
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 30
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        266.329,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_test",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 26
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 28
+      }
+    ],
+    "_prefab": {
+      "__id__": 29
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 110,
+      "height": 110
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 27
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "8230a88b-bd36-4e99-9613-c6393037f051"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "4cvxUBLKNKbIHPXaN/J6ZY",
+    "sync": false
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "29y5schzFBfJxLpErGuF1P",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_reward_box",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 14
+    },
+    "_children": [
+      {
+        "__id__": 32
+      },
+      {
+        "__id__": 36
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 39
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_light",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 31
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 33
+      },
+      {
+        "__id__": 34
+      }
+    ],
+    "_prefab": {
+      "__id__": 35
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Animation",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "_defaultClip": {
+      "__uuid__": "f54aa75b-0ef3-4d3e-8f0b-f3eabad96ce3"
+    },
+    "_clips": [
+      {
+        "__uuid__": "f54aa75b-0ef3-4d3e-8f0b-f3eabad96ce3"
+      }
+    ],
+    "playOnLoad": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "9aM4SnpdVA/LflNDjMkpbF",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "spr_box",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 31
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 37
+      }
+    ],
+    "_prefab": {
+      "__id__": 38
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 36
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": null,
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "54SWK1X5dGWLe7kL7YzpkW",
+    "sync": false
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "e3cCWx0pZEiJ/JgYcphK02",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_reward",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 14
+    },
+    "_children": [
+      {
+        "__id__": 41
+      },
+      {
+        "__id__": 44
+      },
+      {
+        "__id__": 47
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 50
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_box",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 40
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 42
+      }
+    ],
+    "_prefab": {
+      "__id__": 43
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 41
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "4dTsmFBSRLZJO0WQM7JuuT",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "spr_reward_icon",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 40
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 45
+      }
+    ],
+    "_prefab": {
+      "__id__": 46
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 44
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "5ad3zp9LZGQrZpT9FdhUs2",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "lbl_reward_count",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 40
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 48
+      }
+    ],
+    "_prefab": {
+      "__id__": 49
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 128.75,
+      "height": 50.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 1,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        50.236,
+        -24.42,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 47
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_useOriginalSize": true,
+    "_string": "123456",
+    "_N$string": "123456",
+    "_fontSize": 40,
+    "_lineHeight": 40,
+    "_enableWrapText": true,
+    "_N$file": {
+      "__uuid__": "2bec5164-bd32-4719-bbbf-97e2c8b3ab1a"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 0,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 1,
+    "_N$verticalAlign": 0,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "b23XjehhlBGJFXjpLSI4c1",
+    "sync": false
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "0aFp/2s3ZMJbIP098MCkD1",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 14
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": {
+      "__id__": 2
+    },
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 750,
+    "_originalHeight": 1334,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "f6jrSLrv5ECJ7dKYAMy0Qz",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": {
+      "__id__": 1
+    },
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 750,
+    "_originalHeight": 1334,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "edrml4TalFvbPbFcLhWTqZ",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": null,
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 750,
+    "_originalHeight": 1334,
+    "_id": ""
+  },
+  {
+    "__type__": "ea42c0baNFDSJFz1DUaMIXq",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "mask_type": 1,
+    "close_node": null,
+    "design_block_node": null,
+    "use_modal": true,
+    "use_outside_close": false,
+    "effect_par": null,
+    "open_effect": 0,
+    "close_effect": 0,
+    "close_toPoint": "",
+    "btn_double_receive": {
+      "__id__": 18
+    },
+    "btn_receive": {
+      "__id__": 21
+    },
+    "node_light": {
+      "__id__": 32
+    },
+    "spr_box": {
+      "__id__": 37
+    },
+    "spr_reward_icon": {
+      "__id__": 45
+    },
+    "lbl_reward_count": {
+      "__id__": 48
+    },
+    "node_reward_pos": {
+      "__id__": 26
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "687b4a66-251e-4c4b-af2d-61454276d916"
+    },
+    "fileId": "a9kWUw9v1Lp5lu0uwV5ASZ",
+    "sync": false
+  }
+]

+ 8 - 0
tower_sanguo/assets/resources/module/getRewarded/getRewarded.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.7",
+  "uuid": "687b4a66-251e-4c4b-af2d-61454276d916",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 7 - 0
tower_sanguo/assets/resources/module/redEnvelopes.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "cec066b2-0ad1-4d53-ae8b-5c91218f2417",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

+ 49 - 0
tower_sanguo/assets/resources/module/redEnvelopes/TopScale.anim

@@ -0,0 +1,49 @@
+{
+  "__type__": "cc.AnimationClip",
+  "_name": "TopScale",
+  "_objFlags": 0,
+  "_native": "",
+  "_duration": 0.16666666666666666,
+  "sample": 60,
+  "speed": 1,
+  "wrapMode": 1,
+  "curveData": {
+    "props": {
+      "scale": [
+        {
+          "frame": 0,
+          "value": {
+            "__type__": "cc.Vec2",
+            "x": 1,
+            "y": 1
+          }
+        },
+        {
+          "frame": 0.08333333333333333,
+          "value": {
+            "__type__": "cc.Vec2",
+            "x": 1,
+            "y": 0
+          }
+        },
+        {
+          "frame": 0.1,
+          "value": {
+            "__type__": "cc.Vec2",
+            "x": 1,
+            "y": -1
+          }
+        },
+        {
+          "frame": 0.16666666666666666,
+          "value": {
+            "__type__": "cc.Vec2",
+            "x": 1,
+            "y": -1
+          }
+        }
+      ]
+    }
+  },
+  "events": []
+}

+ 5 - 0
tower_sanguo/assets/resources/module/redEnvelopes/TopScale.anim.meta

@@ -0,0 +1,5 @@
+{
+  "ver": "2.1.0",
+  "uuid": "7212db11-a5ca-4073-8180-a5d89d3b88a8",
+  "subMetas": {}
+}

+ 2331 - 0
tower_sanguo/assets/resources/module/redEnvelopes/redEnvelopes.prefab

@@ -0,0 +1,2331 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "getRewarded",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 59
+      },
+      {
+        "__id__": 60
+      }
+    ],
+    "_prefab": {
+      "__id__": 61
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 1334
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        375,
+        667,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_ui",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 3
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 57
+      }
+    ],
+    "_prefab": {
+      "__id__": 58
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 1334
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_center",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [
+      {
+        "__id__": 4
+      },
+      {
+        "__id__": 15
+      },
+      {
+        "__id__": 37
+      },
+      {
+        "__id__": 48
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 55
+      }
+    ],
+    "_prefab": {
+      "__id__": 56
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 750,
+      "height": 1334
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_btn",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 3
+    },
+    "_children": [
+      {
+        "__id__": 5
+      },
+      {
+        "__id__": 9
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 13
+      }
+    ],
+    "_prefab": {
+      "__id__": 14
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 300,
+      "height": 170.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -266.676,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_double_receive",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 4
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 6
+      },
+      {
+        "__id__": 7
+      }
+    ],
+    "_prefab": {
+      "__id__": 8
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 200,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        35.2,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 5
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 5
+    },
+    "_enabled": true,
+    "_normalMaterial": {
+      "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+    },
+    "_grayMaterial": null,
+    "duration": 0.1,
+    "zoomScale": 1.2,
+    "clickEvents": [],
+    "_N$interactable": true,
+    "_N$enableAutoGrayEffect": false,
+    "_N$transition": 3,
+    "transition": 3,
+    "_N$normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_N$hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_N$normalSprite": null,
+    "_N$pressedSprite": null,
+    "pressedSprite": null,
+    "_N$hoverSprite": null,
+    "hoverSprite": null,
+    "_N$disabledSprite": null,
+    "_N$target": {
+      "__id__": 5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "51A2xpCs1ATI2R0izSlyfL",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_receive",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 4
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 10
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 12
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 160,
+      "height": 50.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -60,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 9
+    },
+    "_enabled": true,
+    "_normalMaterial": {
+      "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+    },
+    "_grayMaterial": null,
+    "duration": 0.1,
+    "zoomScale": 1.2,
+    "clickEvents": [],
+    "_N$interactable": true,
+    "_N$enableAutoGrayEffect": false,
+    "_N$transition": 3,
+    "transition": 3,
+    "_N$normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_N$hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_N$normalSprite": null,
+    "_N$pressedSprite": null,
+    "pressedSprite": null,
+    "_N$hoverSprite": null,
+    "hoverSprite": null,
+    "_N$disabledSprite": null,
+    "_N$target": {
+      "__id__": 9
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 9
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_useOriginalSize": true,
+    "_string": "普通领取",
+    "_N$string": "普通领取",
+    "_fontSize": 40,
+    "_lineHeight": 40,
+    "_enableWrapText": true,
+    "_N$file": {
+      "__uuid__": "2bec5164-bd32-4719-bbbf-97e2c8b3ab1a"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 4,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 0,
+    "_N$verticalAlign": 0,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "e8MVARkThEZZLY02lS5pAX",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 4
+    },
+    "_enabled": true,
+    "_layoutSize": {
+      "__type__": "cc.Size",
+      "width": 300,
+      "height": 170.4
+    },
+    "_resize": 1,
+    "_N$layoutType": 2,
+    "_N$cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_N$startAxis": 0,
+    "_N$paddingLeft": 0,
+    "_N$paddingRight": 0,
+    "_N$paddingTop": 0,
+    "_N$paddingBottom": 0,
+    "_N$spacingX": 0,
+    "_N$spacingY": 20,
+    "_N$verticalDirection": 1,
+    "_N$horizontalDirection": 0,
+    "_N$affectedByScale": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "3aT4ISylpKA5oCejMCjSsh",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_reward_box",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 3
+    },
+    "_children": [
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 20
+      },
+      {
+        "__id__": 23
+      },
+      {
+        "__id__": 26
+      },
+      {
+        "__id__": 29
+      },
+      {
+        "__id__": 33
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 36
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_light",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 17
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 19
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 16
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Animation",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 16
+    },
+    "_enabled": true,
+    "_defaultClip": {
+      "__uuid__": "f54aa75b-0ef3-4d3e-8f0b-f3eabad96ce3"
+    },
+    "_clips": [
+      {
+        "__uuid__": "f54aa75b-0ef3-4d3e-8f0b-f3eabad96ce3"
+      }
+    ],
+    "playOnLoad": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "9aM4SnpdVA/LflNDjMkpbF",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "hb3",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 21
+      }
+    ],
+    "_prefab": {
+      "__id__": 22
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 578,
+      "height": 701
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        67.071,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 20
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "671f8ee9-022c-4ee0-96a7-4b8ecf3cabad"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "fbiMVvF8hI1qiKdSiDxAaI",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "hb5",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 24
+      }
+    ],
+    "_prefab": {
+      "__id__": 25
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 586,
+      "height": 437
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -289,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 23
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "4a110797-9064-4e58-9b44-402d3af993b3"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "26nUlPC0NA26JwdIzPX47v",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "hb1",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 27
+      }
+    ],
+    "_prefab": {
+      "__id__": 28
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 584,
+      "height": 578
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        -4.814,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 26
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "1824f01b-115d-4d1c-a30b-3d62c7798f84"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "224vu+buJOgKMWLZAWfykO",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "hb2",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 30
+      },
+      {
+        "__id__": 31
+      }
+    ],
+    "_prefab": {
+      "__id__": 32
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 602,
+      "height": 325
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 1
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        437.83,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 29
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "5f1c4259-1a08-410a-8a64-87b1fc0bf79c"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Animation",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 29
+    },
+    "_enabled": true,
+    "_defaultClip": {
+      "__uuid__": "7212db11-a5ca-4073-8180-a5d89d3b88a8"
+    },
+    "_clips": [
+      {
+        "__uuid__": "7212db11-a5ca-4073-8180-a5d89d3b88a8"
+      }
+    ],
+    "playOnLoad": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "1cJVKSUGdHQYNqjGIenfTh",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "spr_box",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 15
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 34
+      }
+    ],
+    "_prefab": {
+      "__id__": 35
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 33
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": null,
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "54SWK1X5dGWLe7kL7YzpkW",
+    "sync": false
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "e3cCWx0pZEiJ/JgYcphK02",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_reward",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 3
+    },
+    "_children": [
+      {
+        "__id__": 38
+      },
+      {
+        "__id__": 41
+      },
+      {
+        "__id__": 44
+      }
+    ],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 47
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_box",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 37
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 39
+      }
+    ],
+    "_prefab": {
+      "__id__": 40
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 38
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "4dTsmFBSRLZJO0WQM7JuuT",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "spr_reward_icon",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 37
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 42
+      }
+    ],
+    "_prefab": {
+      "__id__": 43
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 41
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "5ad3zp9LZGQrZpT9FdhUs2",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "lbl_reward_count",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 37
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 45
+      }
+    ],
+    "_prefab": {
+      "__id__": 46
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 128.75,
+      "height": 50.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 1,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        50.236,
+        -24.42,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 44
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_useOriginalSize": true,
+    "_string": "123456",
+    "_N$string": "123456",
+    "_fontSize": 40,
+    "_lineHeight": 40,
+    "_enableWrapText": true,
+    "_N$file": {
+      "__uuid__": "2bec5164-bd32-4719-bbbf-97e2c8b3ab1a"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 0,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 1,
+    "_N$verticalAlign": 0,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "b23XjehhlBGJFXjpLSI4c1",
+    "sync": false
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "0aFp/2s3ZMJbIP098MCkD1",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_close",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 3
+    },
+    "_children": [
+      {
+        "__id__": 49
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 52
+      },
+      {
+        "__id__": 53
+      }
+    ],
+    "_prefab": {
+      "__id__": 54
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        277.311,
+        302.959,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "lbl_desc",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 48
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 50
+      }
+    ],
+    "_prefab": {
+      "__id__": 51
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 26.68,
+      "height": 50.4
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        2,
+        2,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 49
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_useOriginalSize": false,
+    "_string": "X",
+    "_N$string": "X",
+    "_fontSize": 40,
+    "_lineHeight": 40,
+    "_enableWrapText": true,
+    "_N$file": null,
+    "_isSystemFontUsed": true,
+    "_spacingX": 0,
+    "_batchAsBitmap": false,
+    "_styleFlags": 0,
+    "_underlineHeight": 0,
+    "_N$horizontalAlign": 1,
+    "_N$verticalAlign": 1,
+    "_N$fontFamily": "Arial",
+    "_N$overflow": 0,
+    "_N$cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "078JraTo1Jyaqzm2JGPX06",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 48
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91"
+    },
+    "_type": 0,
+    "_sizeMode": 0,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 48
+    },
+    "_enabled": true,
+    "_normalMaterial": {
+      "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+    },
+    "_grayMaterial": null,
+    "duration": 0.1,
+    "zoomScale": 1.2,
+    "clickEvents": [],
+    "_N$interactable": true,
+    "_N$enableAutoGrayEffect": false,
+    "_N$transition": 3,
+    "transition": 3,
+    "_N$normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "pressedColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_N$hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "hoverColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_N$disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_N$normalSprite": null,
+    "_N$pressedSprite": null,
+    "pressedSprite": null,
+    "_N$hoverSprite": null,
+    "hoverSprite": null,
+    "_N$disabledSprite": null,
+    "_N$target": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "59pFBmwC1E845Ngg0GrijU",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 3
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": {
+      "__id__": 2
+    },
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 750,
+    "_originalHeight": 1334,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "f6jrSLrv5ECJ7dKYAMy0Qz",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": {
+      "__id__": 1
+    },
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 750,
+    "_originalHeight": 1334,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "edrml4TalFvbPbFcLhWTqZ",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Widget",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "alignMode": 1,
+    "_target": null,
+    "_alignFlags": 45,
+    "_left": 0,
+    "_right": 0,
+    "_top": 0,
+    "_bottom": 0,
+    "_verticalCenter": 0,
+    "_horizontalCenter": 0,
+    "_isAbsLeft": true,
+    "_isAbsRight": true,
+    "_isAbsTop": true,
+    "_isAbsBottom": true,
+    "_isAbsHorizontalCenter": true,
+    "_isAbsVerticalCenter": true,
+    "_originalWidth": 750,
+    "_originalHeight": 1334,
+    "_id": ""
+  },
+  {
+    "__type__": "b3cecwue3hM3KFWgNiuiVbA",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "mask_type": 1,
+    "close_node": {
+      "__id__": 48
+    },
+    "design_block_node": null,
+    "use_modal": true,
+    "use_outside_close": false,
+    "effect_par": null,
+    "open_effect": 0,
+    "close_effect": 0,
+    "close_toPoint": "",
+    "btn_double_receive": {
+      "__id__": 7
+    },
+    "btn_receive": {
+      "__id__": 10
+    },
+    "node_light": {
+      "__id__": 16
+    },
+    "spr_box": {
+      "__id__": 34
+    },
+    "spr_reward_icon": null,
+    "lbl_reward_count": null,
+    "node_reward_pos": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9c445f3e-7e34-4c6c-b217-4b83d09dad47"
+    },
+    "fileId": "a9kWUw9v1Lp5lu0uwV5ASZ",
+    "sync": false
+  }
+]

+ 8 - 0
tower_sanguo/assets/resources/module/redEnvelopes/redEnvelopes.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.7",
+  "uuid": "9c445f3e-7e34-4c6c-b217-4b83d09dad47",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 7 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "ee3b76ef-9917-44d4-847e-3efdb77ad246",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb1.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb1.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "9148ba0a-d3eb-4f24-a38a-6c9afc1a18c0",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 584,
+  "height": 578,
+  "platformSettings": {},
+  "subMetas": {
+    "hb1": {
+      "ver": "1.0.4",
+      "uuid": "1824f01b-115d-4d1c-a30b-3d62c7798f84",
+      "rawTextureUuid": "9148ba0a-d3eb-4f24-a38a-6c9afc1a18c0",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 584,
+      "height": 578,
+      "rawWidth": 584,
+      "rawHeight": 578,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb2.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb2.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "784fb8a7-b529-4fca-a0b9-5eb73817db60",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 602,
+  "height": 325,
+  "platformSettings": {},
+  "subMetas": {
+    "hb2": {
+      "ver": "1.0.4",
+      "uuid": "5f1c4259-1a08-410a-8a64-87b1fc0bf79c",
+      "rawTextureUuid": "784fb8a7-b529-4fca-a0b9-5eb73817db60",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 602,
+      "height": 325,
+      "rawWidth": 602,
+      "rawHeight": 325,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb3.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb3.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "4c21182b-60d4-4f00-914c-68350f8b696c",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 578,
+  "height": 701,
+  "platformSettings": {},
+  "subMetas": {
+    "hb3": {
+      "ver": "1.0.4",
+      "uuid": "671f8ee9-022c-4ee0-96a7-4b8ecf3cabad",
+      "rawTextureUuid": "4c21182b-60d4-4f00-914c-68350f8b696c",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 578,
+      "height": 701,
+      "rawWidth": 578,
+      "rawHeight": 701,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb4.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb4.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "562279cd-078d-4c5a-a416-f12f68f67080",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 533,
+  "height": 699,
+  "platformSettings": {},
+  "subMetas": {
+    "hb4": {
+      "ver": "1.0.4",
+      "uuid": "cb47d4d7-60e8-49dc-85d4-7ae23d306ab3",
+      "rawTextureUuid": "562279cd-078d-4c5a-a416-f12f68f67080",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 533,
+      "height": 699,
+      "rawWidth": 533,
+      "rawHeight": 699,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb5.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb5.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "f44eff16-a525-443f-8ee7-16bfd25dd5ce",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 586,
+  "height": 437,
+  "platformSettings": {},
+  "subMetas": {
+    "hb5": {
+      "ver": "1.0.4",
+      "uuid": "4a110797-9064-4e58-9b44-402d3af993b3",
+      "rawTextureUuid": "f44eff16-a525-443f-8ee7-16bfd25dd5ce",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 586,
+      "height": 437,
+      "rawWidth": 586,
+      "rawHeight": 437,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb_bg.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/hb_bg.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "7fde5b4c-5b5d-40f9-8706-c4343c0bdb6a",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 382,
+  "height": 102,
+  "platformSettings": {},
+  "subMetas": {
+    "hb_bg": {
+      "ver": "1.0.4",
+      "uuid": "26d7e393-fc2b-4c06-899f-fab0e147b443",
+      "rawTextureUuid": "7fde5b4c-5b5d-40f9-8706-c4343c0bdb6a",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 382,
+      "height": 102,
+      "rawWidth": 382,
+      "rawHeight": 102,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/icon_hb.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/icon_hb.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "2e437793-c797-491b-8ebf-e671353ea047",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 65,
+  "height": 83,
+  "platformSettings": {},
+  "subMetas": {
+    "icon_hb": {
+      "ver": "1.0.4",
+      "uuid": "35765427-ec81-44f9-b169-9164dc412be3",
+      "rawTextureUuid": "2e437793-c797-491b-8ebf-e671353ea047",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 65,
+      "height": 83,
+      "rawWidth": 65,
+      "rawHeight": 83,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/word1.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/word1.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "92ca7a62-08bf-46ce-b1cd-3ceeedf0c82f",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 308,
+  "height": 66,
+  "platformSettings": {},
+  "subMetas": {
+    "word1": {
+      "ver": "1.0.4",
+      "uuid": "821a7e1c-5ec1-46a6-8d47-ab130acaa858",
+      "rawTextureUuid": "92ca7a62-08bf-46ce-b1cd-3ceeedf0c82f",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 308,
+      "height": 66,
+      "rawWidth": 308,
+      "rawHeight": 66,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

BIN
tower_sanguo/assets/resources/module/redEnvelopes/texture/word2.png


+ 36 - 0
tower_sanguo/assets/resources/module/redEnvelopes/texture/word2.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.4",
+  "uuid": "cf0b5c94-78fd-49aa-8b8f-efbda90415d0",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 476,
+  "height": 69,
+  "platformSettings": {},
+  "subMetas": {
+    "word2": {
+      "ver": "1.0.4",
+      "uuid": "15915d7f-1f30-40a9-94d1-b58b47080f62",
+      "rawTextureUuid": "cf0b5c94-78fd-49aa-8b8f-efbda90415d0",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 476,
+      "height": 69,
+      "rawWidth": 476,
+      "rawHeight": 69,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 26 - 4
tower_sanguo/assets/resources/module/task/prefab/task_item.prefab

@@ -40,10 +40,13 @@
     "_components": [
       {
         "__id__": 27
+      },
+      {
+        "__id__": 28
       }
     ],
     "_prefab": {
-      "__id__": 28
+      "__id__": 29
     },
     "_opacity": 255,
     "_color": {
@@ -1046,12 +1049,12 @@
     "node_reward_icon": {
       "__id__": 9
     },
-    "lbl_task_desc": {
-      "__id__": 12
-    },
     "lbl_reward_icon": {
       "__id__": 7
     },
+    "lbl_task_desc": {
+      "__id__": 12
+    },
     "lbl_btn_desc": {
       "__id__": 16
     },
@@ -1064,6 +1067,25 @@
     "_id": ""
   },
   {
+    "__type__": "cc.Animation",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_defaultClip": {
+      "__uuid__": "27061dcf-ec19-48d3-a7ec-122a6bc0a6b2"
+    },
+    "_clips": [
+      {
+        "__uuid__": "27061dcf-ec19-48d3-a7ec-122a6bc0a6b2"
+      }
+    ],
+    "playOnLoad": false,
+    "_id": ""
+  },
+  {
     "__type__": "cc.PrefabInfo",
     "root": {
       "__id__": 1

+ 13 - 7
tower_sanguo/assets/resources/module/task/task.prefab

@@ -2108,7 +2108,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "node_pro_bar",
+    "_name": "spr_pro_bar",
     "_objFlags": 0,
     "_parent": {
       "__id__": 46
@@ -2197,7 +2197,7 @@
       "y": 0
     },
     "_fillStart": 0,
-    "_fillRange": 0.4,
+    "_fillRange": 0,
     "_isTrimmedMode": true,
     "_atlas": null,
     "_id": ""
@@ -2417,7 +2417,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 45.63,
+      "width": 22.81,
       "height": 50.4
     },
     "_anchorPoint": {
@@ -2468,8 +2468,8 @@
       }
     ],
     "_useOriginalSize": false,
-    "_string": "40",
-    "_N$string": "40",
+    "_string": "0",
+    "_N$string": "0",
     "_fontSize": 40,
     "_lineHeight": 40,
     "_enableWrapText": true,
@@ -5663,7 +5663,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "lbl_desc",
+    "_name": "lbl_reward_desc",
     "_objFlags": 0,
     "_parent": {
       "__id__": 141
@@ -5835,7 +5835,7 @@
     "asset": {
       "__uuid__": "f262394b-b17a-454c-abb4-17ad1bd0abf6"
     },
-    "fileId": "76fYlXV6hO2LaUVXVKnL2U",
+    "fileId": "b1j//y/gtOWa8SZ5LJThEu",
     "sync": false
   },
   {
@@ -6273,9 +6273,15 @@
     "lbl_pro_value": {
       "__id__": 61
     },
+    "spr_pro_bar": {
+      "__id__": 54
+    },
     "node_reward_desc": {
       "__id__": 141
     },
+    "lbl_reward_desc": {
+      "__id__": 146
+    },
     "btn_reward_node": {
       "__id__": 152
     },

+ 3 - 18
tower_sanguo/assets/scripts/GameController.ts

@@ -210,14 +210,13 @@ class GameController {
         }
     }
 
-
-
-    private initErrorHandler() {
+    private initErrorHandler() {        
         if (cc.sys.isNative) {
             let __handler
             if (window['__errorHandler']) {
                 __handler = window['__errorHandler']
             }
+            
             window['__errorHandler'] = function (...args) {
                 console.log('游戏报错,原生系统')
                 GameController.handleError(...args)
@@ -226,26 +225,13 @@ class GameController {
                 }
             }
         }
-        else if (cc.sys.isBrowser) {
-            let __handler;
-            if (window.onerror) {
-                __handler = window.onerror
-            }
-            window.onerror = function (...args) {
-                console.log('游戏报错,浏览器')
-                GameController.handleError(...args)
-                if (__handler) {
-                    __handler(...args)
-                }
-            }
-        }
     }
 
     static handleError(...args) {
         let senddata = {
             "level": "error",
             "game": "tower",
-            "message": args,
+            "message": "testTowerSanguo",
         }
         console.log('handleError',args);
         
@@ -263,7 +249,6 @@ class GameController {
         str = Utils.RSAEncryptLong(str);
         httpRequest.send(str);
     }
-
 }
 
 export default new GameController();

+ 13 - 5
tower_sanguo/assets/scripts/component/TableViewUtils.ts

@@ -339,10 +339,14 @@ export default class TableViewUtils extends cc.Component {
             this.itemArr[i].y = 3000;
         }
     }
-    /** 删除item */
+    /** 删除item 
+     * 通过节点上的index属性定位
+    */
     public deleteItem(i) {
         this.itemData.splice(i, 1);
-        this.getItemPos(this.itemData.length - 1);
+        const item_data_count = this.itemData.length;
+        if (item_data_count <= 0) return;
+        this.getItemPos(item_data_count - 1);
 
         //改变this.itemArr的内容
         for (let j = 0; j < this.itemArr.length; j++) {
@@ -359,12 +363,16 @@ export default class TableViewUtils extends cc.Component {
             }
         }
         this.updateContentHeigh(this.itemPosMap.get(this.itemData.length - 1).endPos);
-        this.itemMoveUp(this.firstItemIndex);
+        if (!this.lastItemIndex) this.getItemIndex();// 初始化时没有初始化此值,会导致为0.不能创建新的item,此处校验
+        this.itemMoveUp(this.firstItemIndex);//
     }
-    /** 重置指定item */
-    public resetItemData(index) {
+    /** 重置指定item 
+     * - 通过节点上的index属性定位
+    */
+    public resetItemData(index, item_data?: any) {
         for (let i = 0; i < this.itemArr.length; i++) {
             if (this.itemArr[i].index === index) {
+                if (item_data) this.itemData[i] = item_data;
                 let comp_script = this.itemArr[i].getComponent(this.itemArr[i].name);
                 comp_script && comp_script.setItemData(this.itemData[index], this);
                 break;

+ 49 - 88
tower_sanguo/assets/scripts/data/GameData.ts

@@ -10,7 +10,6 @@ import PlayerUpdateResponse from "../net/msg/PlayerUpdateResponse";
 import { Dictionary } from "../utils/Dictionary";
 import BarrackVO from "../vo/BarrackVO";
 import BuffVO from "../vo/BuffVO";
-import CommanderSkillVO from "../vo/CommanderSkillVO";
 import FetterVO from "../vo/FetterVO";
 import GeneralVO from "../vo/GeneralVO";
 import MissionVO from "../vo/MissionVO";
@@ -18,6 +17,7 @@ import MonsterVO from "../vo/MonsterVO";
 import PlayerVO from "../vo/PlayerVO";
 import Prop from "../vo/Prop";
 import SkillVO from "../vo/SkillVO";
+import TaskVO from "../vo/TaskVO";
 import { GENERALPROP, GENERALSTATUS, ITEMTYPE, PLAYERPROP } from "./GameDefinition";
 
 const { ccclass } = cc._decorator;
@@ -51,12 +51,13 @@ export default class GameData {
     private skill_data: any;
     private star_data: any;
     private item_data: any;
-    private barrack_data: Dictionary<number, BarrackVO> = new Dictionary<number, BarrackVO>();
-    private barrack_json: any;
+    private turntable_data: any;
+    private barrack_data: Dictionary<number, BarrackVO>;
     db_data: any;
     help_data: any;
-    server_data: any;
+    serverConfig_data: any;
     commanderskill_data: any;
+    private task_data: any;
 
     fullskillId: number[];
 
@@ -74,27 +75,29 @@ export default class GameData {
             this.mission_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/mission_data.json?v=' + new Date().getTime());
             this.star_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/star_data.json?v=' + new Date().getTime());
             this.item_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/item_data.json?v=' + new Date().getTime());
-            this.barrack_json = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/barrack_data.json?v=' + new Date().getTime());
+            this.barrack_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/barrack_data.json?v=' + new Date().getTime());
             this.db_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/db_data.json?v=' + new Date().getTime());
-            this.server_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/serverConfig_data.json?v=' + new Date().getTime());
+            this.serverConfig_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/serverConfig_data.json?v=' + new Date().getTime());
             this.help_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/help_data.json?v=' + new Date().getTime());
             this.commanderskill_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/commanderskill_data.json?v=' + new Date().getTime());
-            turntableModel.Instance.turntable_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/turntable_data.json?v=' + new Date().getTime());
-
-            this.db_data = cc.loader.getRes("data/db_data", cc.JsonAsset).json;
-            this.server_data = cc.loader.getRes("data/serverConfig_data", cc.JsonAsset).json;
-            this.fetter_data = cc.loader.getRes("data/fetter_data", cc.JsonAsset).json;
-            this.buff_data = cc.loader.getRes("data/buff_data", cc.JsonAsset).json;
-            this.skill_data = cc.loader.getRes("data/skill_data", cc.JsonAsset).json;
-            this.general_data = cc.loader.getRes("data/general_data", cc.JsonAsset).json;
-            this.monster_data = cc.loader.getRes("data/monster_data", cc.JsonAsset).json;
-            this.mission_data = cc.loader.getRes("data/mission_data", cc.JsonAsset).json;
-            this.item_data = cc.loader.getRes("data/item_data", cc.JsonAsset).json;
-            this.barrack_json = cc.loader.getRes("data/barrack_data", cc.JsonAsset).json;
-            this.star_data = cc.loader.getRes("data/star_data", cc.JsonAsset).json;
-            this.help_data = cc.loader.getRes("data/help_data", cc.JsonAsset).json;
-            this.commanderskill_data = cc.loader.getRes("data/commanderskill_data", cc.JsonAsset).json;
-            turntableModel.Instance.turntable_data = cc.loader.getRes("data/turntable_data", cc.JsonAsset).json;
+            this.task_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/task_data.json?v=' + new Date().getTime());
+            this.turntable_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/turntable_data.json?v=' + new Date().getTime());
+
+            // this.db_data = cc.loader.getRes("data/db_data", cc.JsonAsset).json;
+            // this.serverConfig_data = cc.loader.getRes("data/serverConfig_data", cc.JsonAsset).json;
+            // this.fetter_data = cc.loader.getRes("data/fetter_data", cc.JsonAsset).json;
+            // this.buff_data = cc.loader.getRes("data/buff_data", cc.JsonAsset).json;
+            // this.skill_data = cc.loader.getRes("data/skill_data", cc.JsonAsset).json;
+            // this.general_data = cc.loader.getRes("data/general_data", cc.JsonAsset).json;
+            // this.monster_data = cc.loader.getRes("data/monster_data", cc.JsonAsset).json;
+            // this.mission_data = cc.loader.getRes("data/mission_data", cc.JsonAsset).json;
+            // this.item_data = cc.loader.getRes("data/item_data", cc.JsonAsset).json;
+            // this.barrack_data = cc.loader.getRes("data/barrack_data", cc.JsonAsset).json;
+            // this.star_data = cc.loader.getRes("data/star_data", cc.JsonAsset).json;
+            // this.help_data = cc.loader.getRes("data/help_data", cc.JsonAsset).json;
+            // this.turntable_data = cc.loader.getRes("data/turntable_data", cc.JsonAsset).json;
+            // this.task_data = cc.loader.getRes("data/task_data", cc.JsonAsset).json;
+            // this.commanderskill_data = cc.loader.getRes("data/commanderskill_data", cc.JsonAsset).json;
 
             this.initJsonData();
         }
@@ -105,45 +108,7 @@ export default class GameData {
         }
     }
 
-    jsons = ['buff', 'fetter', 'skill', 'general', 'monster', 'mission', 'star', 'item', 'barrack', 'db', 'serverConfig', 'help'];
-    count = 0;
-
-    loadConfig(err = null, data = null) {
-        if (err) {
-            console.log(err, data);
-        }
-        let json = this.jsons[this.count];
-        if (data) {
-            if (json == "serverConfig") {
-                json = 'server'
-            }
-            if (json == 'barrack') {
-                this.barrack_json = data;
-            }
-            else {
-                this[json + "_data"] = data;
-            }
-            this.count++;
-            json = this.jsons[this.count];
-        }
-
-        if (json == null) {
-            if (GameController.servertest) {
-                GameController.servertest.init();
-            }
-
-            this.initJsonData();
-
-            // GameController.initSDK();
-            return;
-        }
-        let url = 'https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/' + json + '_data.json?v=' + new Date().getTime()
-        cc.loader.load({ url: url, type: "json" }, this.loadConfig.bind(this));
-    }
-
     initZip(buffer) {
-        console.log("initZIP:start");
-
         var self = this;
         JSZip.loadAsync(buffer).then((zip) => {
             let total = 0;
@@ -155,7 +120,6 @@ export default class GameData {
                     let dataname = key.slice(5, key.length - 5);
                     self[dataname] = JSON.parse(data);
                     count++;
-                    console.log("zip.file:" + count + "..." + total);
                     if (count == total) {
                         this.initJsonData();
                     }
@@ -165,8 +129,6 @@ export default class GameData {
     }
 
     private initJsonData() {
-        console.log("initJsonData");
-
         if (GameController.servertest) {
             GameController.servertest.init();
         }
@@ -313,16 +275,13 @@ export default class GameData {
         }
 
         //兵营
-        for (let i in this.barrack_json) {
-            let o = this.barrack_json[i];
+        let temp_data = this.barrack_data;
+        this.barrack_data = new Dictionary<number, BarrackVO>();
+        for (let i in temp_data) {
+            let o = temp_data[i];
             let vo = new BarrackVO();
             vo.campLv = o.campLv;
-            if (o.cost) {
-                vo.cost = parseInt(o.cost.split(':')[1]);
-            }
-            else {
-                vo.cost = o.cost;
-            }
+            vo.cost = o.cost;
             vo.unlockHero = [];
             if (o.unlockHero.length > 0) {
                 let arr: string[] = o.unlockHero.split(",");
@@ -349,9 +308,26 @@ export default class GameData {
         console.log("skill_data: ", this.skill_data);
 
 
+        turntableModel.Instance.turntable_data = this.turntable_data;
+        // 任务
+        this.initTaskData();
         GameController.initSDK();
     }
-
+    /** 初始化任务 */
+    private initTaskData() {
+        for (let i in this.task_data) {
+            let o = this.task_data[i];
+            let vo = new TaskVO();
+            vo.id = o.id;
+            vo.description = o.description;
+            vo.count1 = o.count1;
+            vo.activevalue1 = o.activevalue1;
+            vo.count2 = o.count2;
+            vo.activevalue2 = o.activevalue2;
+            this.task_data[i] = vo;
+        }
+        cc.log(this.task_data)
+    }
     getAllGeneral() {
         return this.general_data;
     }
@@ -561,9 +537,7 @@ export default class GameData {
         this.updateSkillData();
 
         GameController.loadMain();
-
-        //console.log("____________loadMain");
-    }
+        console.log("____________loadMain");    }
 
     private updateSkillData() {
         let stars = this.player.getAllStars();
@@ -669,19 +643,6 @@ export default class GameData {
         }
     }
 
-    private initScheduler() {
-        let self = this;
-        let count = 0;
-        let a = cc.director.getScheduler().schedule(() => {
-            count++;
-            if (count % 5 == 0) {
-                count = 1;
-                let vo: MissionVO = self.getMissionByID(self.player.current_mission);
-                self.updateProp(PLAYERPROP.FOOD, Math.floor(vo.foodRecover * 5), true);
-            }
-        }, this, 1);
-    }
-
     /**
      * 兵营等级更新后,更新开放武将及下个开放武将
      * @param barrackLv 

+ 11 - 9
tower_sanguo/assets/scripts/data/GameDefinition.ts

@@ -21,6 +21,8 @@ export enum PLAYERPROP {
 
     MISSION_ARRIVE = 20,//当前到达的最大关卡
     MISSION_PASSED = 21,//当前通过的最大关卡
+
+    USESKILL_TIME = 30,//上次使用统帅技能的时间
 }
 
 export enum ITEMTYPE {
@@ -70,15 +72,15 @@ export enum VIDEO_TYPE {
     turnTable,                              //转盘
     invest,                                 //投资
     investSpeed,                            //视频加速投资
-    adRbProgressAd, 
+    adRbProgressAd,
 }
 
-/**带消耗确认框界面参数 */
-export interface CustomDialogParams {
-    content: string,
-    count: number;
-    certainCb?: Function,
-    cancelCb?: Function,
-    closeUIOnCancle?: boolean,
-    thisObj?: any,
+/** 奖励状态 */
+export enum RewardState {
+    /** 未解锁 */
+    lock = 0,
+    /** 可领取 */
+    unlock = 1,
+    /** 已领取 */
+    none = 2,
 }

+ 1 - 2
tower_sanguo/assets/scripts/module/fight/FightUI.ts

@@ -1095,8 +1095,7 @@ export default class FightUI extends BaseUI {
                 this.resetMonster(m);
                 if (realdead) {
                     if (reward) {
-                        let arr = m.vo.award.split(":");
-                        this.roundYB += parseInt(arr[1]);
+                        this.roundYB += m.vo.award;
                     }
                     this.monster_arr.splice(i, 1);
                 }

+ 7 - 0
tower_sanguo/assets/scripts/module/getRewarded.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "58db93ba-ad69-43c9-9a4b-fff52c04ebaf",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

+ 128 - 0
tower_sanguo/assets/scripts/module/getRewarded/GetRewardedUI.ts

@@ -0,0 +1,128 @@
+
+const { ccclass, property } = cc._decorator;
+import BaseUI from "../../../MOKA/component/BaseUI";
+/**
+ * 获得奖励界面
+ * - 数据来源:打开界面时传进。
+ */
+@ccclass
+export default class GetRewardedUI extends BaseUI {
+
+    protected static prefabUrl = "module/getRewarded/getRewarded";
+    protected static className = "GetRewardedUI";
+
+    @property({ type: cc.Button, displayName: '双倍领取' })
+    private btn_double_receive: cc.Button = null;
+    @property({ type: cc.Button, displayName: '普通领取' })
+    private btn_receive: cc.Button = null;
+    @property({ type: cc.Node, displayName: 'spr宝箱光圈背景' })
+    private node_light: cc.Node = null;
+    @property({ type: cc.Sprite, displayName: 'spr宝箱' })
+    private spr_box: cc.Sprite = null;
+    @property({ type: cc.Sprite, displayName: 'spr奖励图标' })
+    private spr_reward_icon: cc.Sprite = null;
+    @property({ type: cc.Label, displayName: 'lbl奖励数量' })
+    private lbl_reward_count: cc.Label = null;
+    @property({ type: cc.Node, displayName: '奖励图标目标位置' })
+    private node_reward_pos: cc.Node = null;
+
+
+    /** 获得奖励数据 */
+    private reward_data = {
+        /** 奖励列表 */
+        arr_reward: [
+            {
+                reward_id: 0,
+                reward_count: 0,
+            }
+        ],
+        /** 光圈起始位置【世界坐标】,有值则代表有移动效果 */
+        light_start_pos: null,
+        /** 光圈起始缩放 */
+        light_start_scale: 0.4,
+        /** 存在双倍 */
+        exist_double: false,
+
+    };
+    onLoad() {
+        XXEvent.addClickEvent(this.btn_double_receive, this.onClickDoubleReceive, this);
+        XXEvent.addClickEvent(this.btn_receive, this.onClickReceive, this);
+    }
+
+    start() {
+        this.initData();
+        this.initStyle();
+    }
+    /** 初始化数据 */
+    private initData() {
+        if (this.ui_data.arr_reward) this.reward_data.arr_reward = this.ui_data.arr_reward;
+        if (this.ui_data.light_start_pos) this.reward_data.light_start_pos = this.ui_data.light_start_pos;
+        if (this.ui_data.light_start_scale) this.reward_data.light_start_scale = this.ui_data.light_start_scale;
+        if (this.ui_data.exist_double) this.reward_data.exist_double = this.ui_data.exist_double;
+        cc.log(this.ui_data)
+    }
+    /** 初始化样式 */
+    private initStyle() {
+        this.spr_box.node.active = false;
+        this.spr_reward_icon.node.parent.active = false;
+        if (this.reward_data.light_start_pos) {
+            this.nodeLightFly();
+        } else {
+            this.openBox();
+        }
+        this.lbl_reward_count.string = `${this.reward_data.arr_reward[0].reward_count}`;
+    }
+    /** 光圈飞行动画 */
+    private nodeLightFly() {
+        let start_node_pos = this.node_light.parent.convertToNodeSpaceAR(this.reward_data.light_start_pos);
+        this.node_light.setPosition(start_node_pos);
+        this.node_light.scale = this.reward_data.light_start_scale;
+        let pos1 = cc.tween().to(0.5, { position: new cc.Vec2(0, 0) })
+        let scale1 = cc.tween().to(0.5, { scale: 1 })
+        let parallel1 = cc.tween().parallel(pos1, scale1);
+        let call1 = cc.tween().call(() => {
+            this.openBox();
+        })
+        cc.tween(this.node_light).then(parallel1).then(call1).start();
+    }
+    /** 打开宝箱 */
+    private openBox() {
+        this.spr_box.node.active = true;
+        // 素材替换
+
+        // 飞奖励图标
+        this.nodeRewardFly();
+    }
+    /** 飞奖励图标 */
+    private nodeRewardFly() {
+        let node_reward = this.spr_reward_icon.node.parent;
+        node_reward.active = true;
+        node_reward.scale = 0.2;
+
+        let pos1 = cc.tween().to(0.2, { position: this.node_reward_pos.getPosition() })
+        let scale1 = cc.tween().to(0.2, { scale: 1 })
+        let parallel1 = cc.tween().parallel(pos1, scale1);
+        let call1 = cc.tween().call(() => {
+            this.showReceiveBtn();
+        })
+        cc.tween(node_reward).then(parallel1).then(call1).start();
+    }
+    /** 领取按钮显示 */
+    private showReceiveBtn() {
+        // 双倍开关显示
+        if (this.reward_data.exist_double) {
+            this.btn_double_receive.node.active = true;
+        } else {
+            this.btn_double_receive.node.active = false;
+        }
+    }
+    private onClickDoubleReceive() {
+        cc.log('双倍领取')
+        this.close();
+    }
+    private onClickReceive() {
+        cc.log('普通领取')
+        this.close();
+    }
+    // update (dt) {}
+}

+ 9 - 0
tower_sanguo/assets/scripts/module/getRewarded/GetRewardedUI.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "ea42cd1b-68d1-4348-9173-d4351a3085ea",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 14 - 0
tower_sanguo/assets/scripts/module/main/MainUI.ts

@@ -86,6 +86,20 @@ export default class MainUI extends BaseUI {
 
         this.barracks_red.active = barracksModel.getInstance().checkRed();
         turntableModel.Instance.updateResetTurntable();
+
+        this.initScheduler();
+    }
+
+    private initScheduler() {
+        let count = 0;
+        this.schedule(() => {
+            count++;
+            if (count % 5 == 0) {
+                count = 1;
+                let vo: MissionVO = GameController.gameData.getMissionByID(GameController.gameData.player.current_mission);
+                GameController.gameData.updateProp(PLAYERPROP.FOOD, Math.floor(vo.foodRecover * 5), true);
+            }
+        }, 1);
     }
 
     updateProp(type: PLAYERPROP, value: number) {

+ 7 - 0
tower_sanguo/assets/scripts/module/redEnvelopes.meta

@@ -0,0 +1,7 @@
+{
+  "ver": "1.0.1",
+  "uuid": "b3b1cbd0-6371-4545-bad5-b359d58d0e3b",
+  "isSubpackage": false,
+  "subpackageName": "",
+  "subMetas": {}
+}

+ 128 - 0
tower_sanguo/assets/scripts/module/redEnvelopes/RedEnvelopesUI.ts

@@ -0,0 +1,128 @@
+
+const { ccclass, property } = cc._decorator;
+import BaseUI from "../../../MOKA/component/BaseUI";
+/**
+ * 获得奖励界面
+ * - 数据来源:打开界面时传进。
+ */
+@ccclass
+export default class RedEnvelopesUI extends BaseUI {
+
+    protected static prefabUrl = "module/redEnvelopes/redEnvelopes";
+    protected static className = "RedEnvelopesUI";
+
+    @property({ type: cc.Button, displayName: '双倍领取' })
+    private btn_double_receive: cc.Button = null;
+    @property({ type: cc.Button, displayName: '普通领取' })
+    private btn_receive: cc.Button = null;
+    @property({ type: cc.Node, displayName: 'spr宝箱光圈背景' })
+    private node_light: cc.Node = null;
+    @property({ type: cc.Sprite, displayName: 'spr宝箱' })
+    private spr_box: cc.Sprite = null;
+    @property({ type: cc.Sprite, displayName: 'spr奖励图标' })
+    private spr_reward_icon: cc.Sprite = null;
+    @property({ type: cc.Label, displayName: 'lbl奖励数量' })
+    private lbl_reward_count: cc.Label = null;
+    @property({ type: cc.Node, displayName: '奖励图标目标位置' })
+    private node_reward_pos: cc.Node = null;
+
+
+    /** 获得奖励数据 */
+    private reward_data = {
+        /** 奖励列表 */
+        arr_reward: [
+            {
+                reward_id: 0,
+                reward_count: 0,
+            }
+        ],
+        /** 光圈起始位置【世界坐标】,有值则代表有移动效果 */
+        light_start_pos: null,
+        /** 光圈起始缩放 */
+        light_start_scale: 0.4,
+        /** 存在双倍 */
+        exist_double: false,
+
+    };
+    onLoad() {
+        XXEvent.addClickEvent(this.btn_double_receive, this.onClickDoubleReceive, this);
+        XXEvent.addClickEvent(this.btn_receive, this.onClickReceive, this);
+    }
+
+    start() {
+        // this.initData();
+        // this.initStyle();
+    }
+    /** 初始化数据 */
+    private initData() {
+        if (this.ui_data.arr_reward) this.reward_data.arr_reward = this.ui_data.arr_reward;
+        if (this.ui_data.light_start_pos) this.reward_data.light_start_pos = this.ui_data.light_start_pos;
+        if (this.ui_data.light_start_scale) this.reward_data.light_start_scale = this.ui_data.light_start_scale;
+        if (this.ui_data.exist_double) this.reward_data.exist_double = this.ui_data.exist_double;
+        cc.log(this.ui_data)
+    }
+    /** 初始化样式 */
+    private initStyle() {
+        this.spr_box.node.active = false;
+        this.spr_reward_icon.node.parent.active = false;
+        if (this.reward_data.light_start_pos) {
+            this.nodeLightFly();
+        } else {
+            this.openBox();
+        }
+        this.lbl_reward_count.string = `${this.reward_data.arr_reward[0].reward_count}`;
+    }
+    /** 光圈飞行动画 */
+    private nodeLightFly() {
+        let start_node_pos = this.node_light.parent.convertToNodeSpaceAR(this.reward_data.light_start_pos);
+        this.node_light.setPosition(start_node_pos);
+        this.node_light.scale = this.reward_data.light_start_scale;
+        let pos1 = cc.tween().to(0.5, { position: new cc.Vec2(0, 0) })
+        let scale1 = cc.tween().to(0.5, { scale: 1 })
+        let parallel1 = cc.tween().parallel(pos1, scale1);
+        let call1 = cc.tween().call(() => {
+            this.openBox();
+        })
+        cc.tween(this.node_light).then(parallel1).then(call1).start();
+    }
+    /** 打开宝箱 */
+    private openBox() {
+        this.spr_box.node.active = true;
+        // 素材替换
+
+        // 飞奖励图标
+        this.nodeRewardFly();
+    }
+    /** 飞奖励图标 */
+    private nodeRewardFly() {
+        let node_reward = this.spr_reward_icon.node.parent;
+        node_reward.active = true;
+        node_reward.scale = 0.2;
+
+        let pos1 = cc.tween().to(0.2, { position: this.node_reward_pos.getPosition() })
+        let scale1 = cc.tween().to(0.2, { scale: 1 })
+        let parallel1 = cc.tween().parallel(pos1, scale1);
+        let call1 = cc.tween().call(() => {
+            this.showReceiveBtn();
+        })
+        cc.tween(node_reward).then(parallel1).then(call1).start();
+    }
+    /** 领取按钮显示 */
+    private showReceiveBtn() {
+        // 双倍开关显示
+        if (this.reward_data.exist_double) {
+            this.btn_double_receive.node.active = true;
+        } else {
+            this.btn_double_receive.node.active = false;
+        }
+    }
+    private onClickDoubleReceive() {
+        cc.log('双倍领取')
+        this.close();
+    }
+    private onClickReceive() {
+        cc.log('普通领取')
+        this.close();
+    }
+    // update (dt) {}
+}

+ 9 - 0
tower_sanguo/assets/scripts/module/redEnvelopes/RedEnvelopesUI.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "b3cecc2e-7b78-4cdc-a156-80d8ae8956c0",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 82 - 16
tower_sanguo/assets/scripts/module/task/TaskUI.ts

@@ -1,7 +1,10 @@
 
 import BaseUI from "../../../MOKA/component/BaseUI";
 import { ViewZorder } from "../../../MOKA/data/ViewZOrder";
+import { RewardState } from "../../data/GameDefinition";
 import GameController from "../../GameController";
+import GetRewardedUI from "../getRewarded/GetRewardedUI";
+import RedEnvelopesUI from "../redEnvelopes/RedEnvelopesUI";
 const { ccclass, property } = cc._decorator;
 enum tab_type {
     TuJian = 0,
@@ -19,8 +22,14 @@ export default class TaskUI extends BaseUI {
     private progress_icon: cc.Sprite = null;
     @property({ type: cc.Label, displayName: '进度值' })
     private lbl_pro_value: cc.Label = null;
-    @property({ type: cc.Node, displayName: '奖励描述' })
+    @property({ type: cc.Sprite, displayName: '进度条' })
+    private spr_pro_bar: cc.Sprite = null;
+
+    @property({ type: cc.Node, displayName: 'node奖励描述' })
     private node_reward_desc: cc.Node = null;
+    @property({ type: cc.RichText, displayName: 'lbl奖励描述' })
+    private lbl_reward_desc: cc.RichText = null;
+
     @property({ type: cc.Button, displayName: '奖励描述父节点', tooltip: '触摸隐藏其他节点' })
     private btn_reward_node: cc.Button = null;
 
@@ -58,33 +67,74 @@ export default class TaskUI extends BaseUI {
         let btn_name = comp_btn.node.name;
         const _reward_id = parseInt(btn_name.split('_')[2]);
         cc.log('点击到:%o号奖励', _reward_id)
+        let box_state = RewardState.lock;
         switch (_reward_id) {
             case 0:
+                box_state = RewardState.none;
                 break;
             case 1:
+                box_state = RewardState.unlock;
                 break;
             case 2:
+                box_state = RewardState.lock;
                 break;
             case 3:
+                box_state = RewardState.lock;
                 break;
             case 4:
-                break;
-            case 5:
+                box_state = RewardState.unlock;
                 break;
             default:
                 break;
         }
-        // 防止文字超出屏幕边界,改变锚点
-        if (_reward_id === 4) {
-            this.node_reward_desc.anchorX = 0.9;
-        } else {
-            this.node_reward_desc.anchorX = 0.5;
+        if (box_state === RewardState.none) {
+            this.lbl_reward_desc.string = '奖励已领取';
+            // 防止文字超出屏幕边界,改变锚点
+            if (_reward_id === 4) {
+                this.node_reward_desc.anchorX = 0.9;
+            } else {
+                this.node_reward_desc.anchorX = 0.5;
+            }
+            let world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
+            let node_pos = this.node_reward_desc.parent.convertToNodeSpaceAR(world_pos);
+            this.node_reward_desc.x = node_pos.x;
+            this.btn_reward_node.node.active = true;// 说明文字的隐藏按钮
+
+        } else if (box_state === RewardState.unlock) {
+            if (_reward_id === 4) {
+                GameController.uiM.openUI(RedEnvelopesUI, null, ViewZorder.UI, null, null);
+            } else {
+                const world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
+                let reward_data = {
+                    /** 奖励列表 */
+                    arr_reward: [
+                        {
+                            reward_id: 1,
+                            reward_count: 1000,
+                        }
+                    ],
+                    /** 光圈起始位置【世界坐标】,有值则代表有移动效果 */
+                    light_start_pos: world_pos,
+                    /** 光圈起始缩放 */
+                    light_start_scale: 0.4,
+                    /** 存在双倍 */
+                    exist_double: false,
+                }
+                GameController.uiM.openUI(GetRewardedUI, null, ViewZorder.UI, null, null, reward_data);
+            }
+        } else if (box_state === RewardState.lock) {
+            this.lbl_reward_desc.string = '奖励描述';
+            // 防止文字超出屏幕边界,改变锚点
+            if (_reward_id === 4) {
+                this.node_reward_desc.anchorX = 0.9;
+            } else {
+                this.node_reward_desc.anchorX = 0.5;
+            }
+            let world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
+            let node_pos = this.node_reward_desc.parent.convertToNodeSpaceAR(world_pos);
+            this.node_reward_desc.x = node_pos.x;
+            this.btn_reward_node.node.active = true;// 说明文字的隐藏按钮
         }
-        let world_pos = comp_btn.node.parent.parent.convertToWorldSpaceAR(comp_btn.node.parent.getPosition());
-        let node_pos = this.node_reward_desc.parent.convertToNodeSpaceAR(world_pos);
-        // this.node_reward_desc.setPosition(node_pos);
-        this.node_reward_desc.x = node_pos.x;
-        this.btn_reward_node.node.active = true;
     }
     private hideRewardNode() {
         this.btn_reward_node.node.active = false;
@@ -100,7 +150,9 @@ export default class TaskUI extends BaseUI {
     private getData(): Array<any> {
         let test_arr = []
         for (let i = 0; i < 100; i++) {
-            let content = '';
+            let content = {
+                index: i,
+            };
             test_arr.push(content);
         }
         return test_arr;
@@ -128,12 +180,26 @@ export default class TaskUI extends BaseUI {
         }
         // 发起事件
         this.node.emit('ui-fly-node', fly_data)
-        // this.getNodeProgress(fly_data);
+        // 移除任务item
+        this.scheduleOnce(() => {
+            _data.task_item_node.emit('ui-playanim-hide', () => {
+                // 测试
+                if (_data.task_item_node.index) {
+                    cc.log('节点移除');
+                    this.comp_ScrollList.deleteItem(_data.task_item_node.index);
+                } else {
+                    cc.log('节点重置');
+                    this.comp_ScrollList.resetItemData(_data.task_item_node.index, { index: 666 });
+                }
+
+            });
+        }, 0.2)
     }
     /** 节点飞行完成动画 */
     private flyCompleteCall() {
-        cc.log('节点移动结束');
         this.lbl_pro_value.node.getComponent(cc.Animation).play();
+        this.spr_pro_bar.fillRange += 0.1;
+        this.lbl_pro_value.string = `${this.spr_pro_bar.fillRange * 100}`
     }
     // update (dt) {}
 }

+ 27 - 2
tower_sanguo/assets/scripts/module/task/task_item.ts

@@ -26,10 +26,19 @@ export default class task_item extends cc.Component {
 
     /** 数据 */
     private item_data = {
-
+        index: 0,
     };
+    /** 动画组件 */
+    private comp_ani: cc.Animation = null;
+    /** 是否正在移除中 */
+    private is_removing: boolean = false;
     onLoad() {
+        this.comp_ani = this.node.getComponent(cc.Animation);
         XXEvent.addClickEvent(this.btn_op, this.onClickOp, this);
+        this.node.on('ui-playanim-hide', this.playHide, this);
+        this.comp_ani.on(cc.Animation.EventType.FINISHED, () => {
+            this.removeSelf();
+        })
     }
 
     start() {
@@ -41,17 +50,33 @@ export default class task_item extends cc.Component {
      */
     async setItemData(data: any, tableviewUtils) {
         this.item_data = data;
+        this.node.opacity = 255;
+        this.node.x = 0;
+        this.is_removing = false;
         this.initItemStyle();
     }
     private initItemStyle() {
-
+        this.lbl_reward_icon.string = `${this.item_data.index}`;
     }
     private onClickOp() {
+        if (this.is_removing) return;
         let _data = {
             node: this.node_reward_icon.node,
             count: 10,
+            task_item_node: this.node,
         }
         XXEvent.emit(XXConst.EventGetReward, _data);
+        this.is_removing = true;
+    }
+    /** 播放隐藏动画 */
+    private playHide(removeFun) {
+        this.removeFun = removeFun;
+        this.comp_ani.play();
+    }
+    private removeFun: Function = null;
+    /** 移除自己 */
+    private removeSelf() {
+        this.removeFun();//this.removeFun && 
     }
     // update (dt) {}
 }

+ 17 - 3
tower_sanguo/assets/scripts/net/HttpCommand.ts

@@ -175,10 +175,16 @@ export default class HttpCommand {
 
     /** 更新货币 */
     updateProp(callback, type: PLAYERPROP, value, add: boolean = false) {
+        let prop = {} as UpdatePlayerProps;
+        prop.add = add ? 1 : 0;
+        prop.proptype = type;
+        prop.propvalue = value;
+        this.updateProps(callback,[prop]);
+    }
+    /** 更新货币 */
+    updateProps(callback, arr:UpdatePlayerProps[]) {
         let msg: PlayerUpdateRequest = new PlayerUpdateRequest();
-        msg.proptype = type;
-        msg.propvalue = value;
-        msg.add = add ? 1 : 0;
+        msg.arr = arr;
         let str = JSON.stringify(msg);
         this.httpM.sendRequest(HTTPTYPE.updateProp, 'POST', str, callback);
     }
@@ -290,3 +296,11 @@ export enum HTTPTYPE {
 
     updateADLog = 'updateADLog',
 }
+
+
+/** 更新玩家属性 */
+export interface UpdatePlayerProps {
+    add:number,         //0覆盖 1增加
+    proptype:number,    //需要更新的属性
+    propvalue:number,   //更新后的属性
+}

+ 7 - 10
tower_sanguo/assets/scripts/net/msg/PlayerUpdateRequest.ts

@@ -8,14 +8,11 @@ const { ccclass } = cc._decorator;
 export default class PlayerUpdateRequest {
     constructor() {
     }
-
-    /** 0覆盖 1增加 */
-    add:number = 0;
-
-    /** 需要更新的属性  */
-    proptype:number;
-
-    /** 更新后的属性 */
-    propvalue:number;
-
+    
+    /**
+     * add 0覆盖 1增加
+     * proptype 需要更新的属性
+     * propvalue 更新后的属性
+     */
+    arr:{add:number,proptype:number,propvalue:number}[] = [];
 }

+ 2 - 4
tower_sanguo/assets/scripts/net/msg/PlayerUpdateResponse.ts

@@ -1,3 +1,4 @@
+import { UpdatePlayerProps } from "../HttpCommand";
 import BaseResponse from "./BaseResponse";
 
 /**
@@ -11,8 +12,5 @@ export default class PlayerUpdateResponse extends BaseResponse{
         super();
     }
 
-    proptype:number;
-    propvalue:number;
-    addvalue:number;
-
+    arr:UpdatePlayerProps[] = [];
 }

+ 23 - 17
tower_sanguo/assets/scripts/net/servertest/ServerManager.ts

@@ -1,7 +1,7 @@
 import { GENERALPROP, GENERALSTATUS, ITEMTYPE, PLAYERPROP } from "../../data/GameDefinition";
 import GameController from "../../GameController";
 import barracksModel from "../../module/barracks/barracksModel";
-import { HTTPTYPE } from "../HttpCommand";
+import { HTTPTYPE, UpdatePlayerProps } from "../HttpCommand";
 import AddItemRequest from "../msg/AddItemRequest";
 import AddItemResponse from "../msg/AddItemResponse";
 import BarracksLvUpResponse from "../msg/BarracksLvUpResponse";
@@ -269,22 +269,28 @@ export default class ServerManager {
     private updateProp(url, data: string, callback) {
         let jsondata = JSON.parse(data);
         let msg = new PlayerUpdateResponse();
-        switch (jsondata.proptype) {
-            case PLAYERPROP.FOOD:
-                this.player.food = jsondata.add == 1 ? this.player.food + jsondata.propvalue : jsondata.propvalue;
-                msg.propvalue = this.player.food;
-                break;
-            case PLAYERPROP.YB:
-                this.player.yb = jsondata.add == 1 ? this.player.yb + jsondata.propvalue : jsondata.propvalue;
-                msg.propvalue = this.player.food;
-                break;
-            case PLAYERPROP.REDBAG:
-                this.player.redbag = jsondata.add == 1 ? this.player.redbag + jsondata.propvalue : jsondata.propvalue;
-                msg.propvalue = this.player.food;
-                break;
+        let arr = msg.arr;
+        let brr = [];
+        for (let i = 0; i < arr.length; i++) {
+            let prop: UpdatePlayerProps = arr[i];
+            let propresponse = {} as UpdatePlayerProps;
+            switch (prop.proptype) {
+                case PLAYERPROP.FOOD:
+                    this.player.food = jsondata.add == 1 ? this.player.food + jsondata.propvalue : jsondata.propvalue;
+                    propresponse.propvalue = this.player.food;
+                    break;
+                case PLAYERPROP.YB:
+                    this.player.yb = jsondata.add == 1 ? this.player.yb + jsondata.propvalue : jsondata.propvalue;
+                    propresponse.propvalue = this.player.food;
+                    break;
+                case PLAYERPROP.REDBAG:
+                    this.player.redbag = jsondata.add == 1 ? this.player.redbag + jsondata.propvalue : jsondata.propvalue;
+                    propresponse.propvalue = this.player.food;
+                    break;
+            }
+            propresponse.proptype = jsondata.type;
         }
-        msg.proptype = jsondata.type;
-        msg.addvalue = jsondata.propvalue;
+        msg.arr = brr;
 
         this.respone(url, msg, callback);
     }
@@ -404,7 +410,7 @@ export default class ServerManager {
     /** 网络配置 */
     private getServerConfig(url, data: string, callback) {
         let msg = new BaseMsg();
-        msg.data = GameController.gameData.server_data;
+        msg.data = GameController.gameData.serverConfig_data;
         this.respone(url, msg, callback);
     }
 

+ 1 - 1
tower_sanguo/assets/scripts/vo/MonsterVO.ts

@@ -32,7 +32,7 @@ export default class MonsterVO {
     }
 
     miss: number;
-    award: string;
+    award: number;
 
     isslow: boolean;
 

+ 18 - 0
tower_sanguo/assets/scripts/vo/TaskVO.ts

@@ -0,0 +1,18 @@
+
+export default class TaskVO {
+    constructor() {
+
+    }
+
+    id: number;
+    /** 任务描述 */
+    description: number;
+    /** 任务条件1 */
+    count1: number;
+    /** 奖励的活跃值1 */
+    activevalue1: number;
+    /** 任务条件2 */
+    count2: number;
+    /** 奖励的活跃值2 */
+    activevalue2: number;
+}

+ 9 - 0
tower_sanguo/assets/scripts/vo/TaskVO.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "2e35114f-26c8-4ad8-9c80-07907e119f24",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

Некоторые файлы не были показаны из-за большого количества измененных файлов