循环塔循环时间支持配置
This commit is contained in:
parent
1042cdfb15
commit
704ac9b16d
@ -2498,14 +2498,14 @@
|
||||
"ChoseCamp": [],
|
||||
"DisableCamp": [],
|
||||
"DefaultHero": 720021,
|
||||
"ChoseHero": [
|
||||
"24004"
|
||||
],
|
||||
"ChoseHero": [],
|
||||
"DisableHero": [],
|
||||
"LockSlots": [
|
||||
5
|
||||
],
|
||||
"HeroCheck": [],
|
||||
"HeroCheck": [
|
||||
"24004"
|
||||
],
|
||||
"RedAssistTeam": 720019,
|
||||
"BlueAssistTeam": 720020,
|
||||
"CanFriendHelp": false,
|
||||
|
@ -7,14 +7,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_1",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 1,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 1,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_1",
|
||||
"text": "循环之塔"
|
||||
@ -51,14 +48,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_2",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 2,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 2,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_2",
|
||||
"text": "循环之塔"
|
||||
@ -95,14 +89,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_3",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 3,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 3,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_3",
|
||||
"text": "循环之塔"
|
||||
@ -139,14 +130,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_4",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 4,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 4,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_4",
|
||||
"text": "循环之塔"
|
||||
@ -183,14 +171,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_5",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 5,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 5,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_5",
|
||||
"text": "循环之塔"
|
||||
@ -227,14 +212,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_6",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 6,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 6,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_6",
|
||||
"text": "循环之塔"
|
||||
@ -271,14 +253,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_7",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 7,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 7,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_7",
|
||||
"text": "循环之塔"
|
||||
@ -315,14 +294,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_8",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 8,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 8,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_8",
|
||||
"text": "循环之塔"
|
||||
@ -359,14 +335,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_9",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 9,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 9,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_9",
|
||||
"text": "循环之塔"
|
||||
@ -403,14 +376,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_10",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 10,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 10,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_10",
|
||||
"text": "循环之塔"
|
||||
@ -447,14 +417,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_11",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 11,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 11,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_11",
|
||||
"text": "循环之塔"
|
||||
@ -491,14 +458,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_12",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 12,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 12,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_12",
|
||||
"text": "循环之塔"
|
||||
@ -535,14 +499,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_13",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 13,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 13,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_13",
|
||||
"text": "循环之塔"
|
||||
@ -579,14 +540,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_14",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 14,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 14,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_14",
|
||||
"text": "循环之塔"
|
||||
@ -623,14 +581,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_15",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 15,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 15,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_15",
|
||||
"text": "循环之塔"
|
||||
@ -667,14 +622,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_16",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 16,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 16,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_16",
|
||||
"text": "循环之塔"
|
||||
@ -711,14 +663,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_17",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 17,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 17,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_17",
|
||||
"text": "循环之塔"
|
||||
@ -755,14 +704,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_18",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 18,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 18,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_18",
|
||||
"text": "循环之塔"
|
||||
@ -799,14 +745,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_19",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 19,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 19,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_19",
|
||||
"text": "循环之塔"
|
||||
@ -843,14 +786,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_20",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 20,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 20,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_20",
|
||||
"text": "循环之塔"
|
||||
@ -887,14 +827,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_21",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 21,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 21,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_21",
|
||||
"text": "循环之塔"
|
||||
@ -931,14 +868,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_22",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 22,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 22,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_22",
|
||||
"text": "循环之塔"
|
||||
@ -975,14 +909,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_23",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 23,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 23,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_23",
|
||||
"text": "循环之塔"
|
||||
@ -1019,14 +950,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_24",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 24,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 24,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_24",
|
||||
"text": "循环之塔"
|
||||
@ -1063,14 +991,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_25",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 25,
|
||||
"fightevents": [
|
||||
107
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 25,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_25",
|
||||
"text": "循环之塔"
|
||||
@ -1107,14 +1032,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_26",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 1,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 1,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_26",
|
||||
"text": "循环之塔"
|
||||
@ -1151,14 +1073,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_27",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 2,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 2,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_27",
|
||||
"text": "循环之塔"
|
||||
@ -1195,14 +1114,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_28",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 3,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 3,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_28",
|
||||
"text": "循环之塔"
|
||||
@ -1239,14 +1155,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_29",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 4,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 4,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_29",
|
||||
"text": "循环之塔"
|
||||
@ -1283,14 +1196,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_30",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 5,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 5,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_30",
|
||||
"text": "循环之塔"
|
||||
@ -1327,14 +1237,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_31",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 6,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 6,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_31",
|
||||
"text": "循环之塔"
|
||||
@ -1371,14 +1278,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_32",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 7,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 7,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_32",
|
||||
"text": "循环之塔"
|
||||
@ -1415,14 +1319,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_33",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 8,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 8,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_33",
|
||||
"text": "循环之塔"
|
||||
@ -1459,14 +1360,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_34",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 9,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 9,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_34",
|
||||
"text": "循环之塔"
|
||||
@ -1503,14 +1401,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_35",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 10,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 10,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_35",
|
||||
"text": "循环之塔"
|
||||
@ -1547,14 +1442,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_36",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 11,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 11,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_36",
|
||||
"text": "循环之塔"
|
||||
@ -1591,14 +1483,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_37",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 12,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 12,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_37",
|
||||
"text": "循环之塔"
|
||||
@ -1635,14 +1524,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_38",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 13,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 13,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_38",
|
||||
"text": "循环之塔"
|
||||
@ -1679,14 +1565,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_39",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 14,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 14,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_39",
|
||||
"text": "循环之塔"
|
||||
@ -1723,14 +1606,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_40",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 15,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 15,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_40",
|
||||
"text": "循环之塔"
|
||||
@ -1767,14 +1647,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_41",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 16,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 16,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_41",
|
||||
"text": "循环之塔"
|
||||
@ -1811,14 +1688,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_42",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 17,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 17,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_42",
|
||||
"text": "循环之塔"
|
||||
@ -1855,14 +1729,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_43",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 18,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 18,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_43",
|
||||
"text": "循环之塔"
|
||||
@ -1899,14 +1770,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_44",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 19,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 19,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_44",
|
||||
"text": "循环之塔"
|
||||
@ -1943,14 +1811,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_45",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 20,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 20,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_45",
|
||||
"text": "循环之塔"
|
||||
@ -1987,14 +1852,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_46",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 21,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 21,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_46",
|
||||
"text": "循环之塔"
|
||||
@ -2031,14 +1893,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_47",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 22,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 22,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_47",
|
||||
"text": "循环之塔"
|
||||
@ -2075,14 +1934,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_48",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 23,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 23,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_48",
|
||||
"text": "循环之塔"
|
||||
@ -2119,14 +1975,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_49",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 24,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 24,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_49",
|
||||
"text": "循环之塔"
|
||||
@ -2163,14 +2016,11 @@
|
||||
"key": "circularcamptower_loop_openDesc_50",
|
||||
"text": ""
|
||||
},
|
||||
"openingtime": [],
|
||||
"time": 30,
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 25,
|
||||
"fightevents": [
|
||||
108
|
||||
],
|
||||
"tabIcon": "",
|
||||
"unlock": "circularcamptower",
|
||||
"floors": 25,
|
||||
"tabTitle": {
|
||||
"key": "circularcamptower_loop_tabTitle_50",
|
||||
"text": "循环之塔"
|
||||
|
18
bin/json/game_circulateseason.json
Normal file
18
bin/json/game_circulateseason.json
Normal file
@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"time": 1,
|
||||
"skilldec": {
|
||||
"key": "circularcamptower_season_skilldec_1",
|
||||
"text": "使用<img src='ui://icon/jn_icon_005' width='20' height='20'/>给敌方增加【眩晕】状态。"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"time": 1,
|
||||
"skilldec": {
|
||||
"key": "circularcamptower_season_skilldec_2",
|
||||
"text": "使用<img src='ui://icon/jn_icon_056' width='20' height='20'/>给敌方增加【无法获得增益】状态。"
|
||||
}
|
||||
}
|
||||
]
|
@ -11863,7 +11863,7 @@
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_95",
|
||||
"text": "哼……传承者……"
|
||||
"text": "欢迎,我的朋友!"
|
||||
},
|
||||
"animation": [],
|
||||
"prewarbubbletext": {
|
||||
@ -40121,8 +40121,8 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
"key": "main_stage_bubbletext_300",
|
||||
"text": "希卡普真是越来越不务正业。"
|
||||
},
|
||||
"animation": [],
|
||||
"prewarbubbletext": {
|
||||
@ -40202,7 +40202,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_261",
|
||||
"key": "main_stage_bubbletext_301",
|
||||
"text": "呃呃呃,好冷啊……!!"
|
||||
},
|
||||
"animation": [],
|
||||
@ -40283,7 +40283,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_262",
|
||||
"key": "main_stage_bubbletext_302",
|
||||
"text": "吼吼吼——"
|
||||
},
|
||||
"animation": [],
|
||||
@ -40364,7 +40364,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_263",
|
||||
"key": "main_stage_bubbletext_303",
|
||||
"text": "哦,我的奥丁神啊!!"
|
||||
},
|
||||
"animation": [],
|
||||
@ -40445,7 +40445,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_264",
|
||||
"key": "main_stage_bubbletext_304",
|
||||
"text": "小嗝嗝,快来帮忙。"
|
||||
},
|
||||
"animation": [],
|
||||
@ -40562,7 +40562,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_265",
|
||||
"key": "main_stage_bubbletext_305",
|
||||
"text": "好端端的,龙群怎么会感染瘟疫?"
|
||||
},
|
||||
"animation": [],
|
||||
@ -40578,8 +40578,8 @@
|
||||
"frontstoryid": 401090,
|
||||
"afterstoryid": 401100,
|
||||
"maingroupName": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
"key": "mainchapter_main_stage_maingroupName_300",
|
||||
"text": "阻止埃雷特!"
|
||||
},
|
||||
"maingroupIcon": "",
|
||||
"mainlineName": {
|
||||
@ -40695,8 +40695,8 @@
|
||||
"frontstoryid": 0,
|
||||
"afterstoryid": 0,
|
||||
"maingroupName": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
"key": "mainchapter_main_stage_maingroupName_301",
|
||||
"text": "阻止闹事者!"
|
||||
},
|
||||
"maingroupIcon": "",
|
||||
"mainlineName": {
|
||||
@ -40796,7 +40796,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_266",
|
||||
"key": "main_stage_bubbletext_307",
|
||||
"text": "事关博克岛生存,必须谨慎处理。"
|
||||
},
|
||||
"animation": [],
|
||||
@ -40812,8 +40812,8 @@
|
||||
"frontstoryid": 401110,
|
||||
"afterstoryid": 0,
|
||||
"maingroupName": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
"key": "mainchapter_main_stage_maingroupName_302",
|
||||
"text": "击败埃雷特!"
|
||||
},
|
||||
"maingroupIcon": "",
|
||||
"mainlineName": {
|
||||
@ -40929,8 +40929,8 @@
|
||||
"frontstoryid": 0,
|
||||
"afterstoryid": 0,
|
||||
"maingroupName": {
|
||||
"key": "",
|
||||
"text": ""
|
||||
"key": "mainchapter_main_stage_maingroupName_303",
|
||||
"text": "击败闹事村民"
|
||||
},
|
||||
"maingroupIcon": "",
|
||||
"mainlineName": {
|
||||
@ -41033,7 +41033,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_268",
|
||||
"key": "main_stage_bubbletext_309",
|
||||
"text": "别打了,大家都冷静一下!"
|
||||
},
|
||||
"animation": [],
|
||||
@ -41120,7 +41120,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_269",
|
||||
"key": "main_stage_bubbletext_310",
|
||||
"text": "这不是你的错,小嗝嗝。"
|
||||
},
|
||||
"animation": [],
|
||||
@ -41240,7 +41240,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_270",
|
||||
"key": "main_stage_bubbletext_311",
|
||||
"text": "终于又回到了这里。"
|
||||
},
|
||||
"animation": [],
|
||||
@ -41324,7 +41324,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_271",
|
||||
"key": "main_stage_bubbletext_312",
|
||||
"text": "希卡普,我的儿子!!"
|
||||
},
|
||||
"animation": [],
|
||||
@ -41492,7 +41492,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_273",
|
||||
"key": "main_stage_bubbletext_314",
|
||||
"text": "以爱回应忠诚,以荣誉回应英勇。"
|
||||
},
|
||||
"animation": [],
|
||||
@ -41579,7 +41579,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_274",
|
||||
"key": "main_stage_bubbletext_315",
|
||||
"text": "是奥拉夫暴风雪!!"
|
||||
},
|
||||
"animation": [],
|
||||
@ -41867,7 +41867,7 @@
|
||||
"herocolor": 1,
|
||||
"heroimg": "zxgq_qp_icon_gth",
|
||||
"bubbletext": {
|
||||
"key": "main_stage_bubbletext_277",
|
||||
"key": "main_stage_bubbletext_318",
|
||||
"text": "怎么办怎么办,暴风雪来了!"
|
||||
},
|
||||
"animation": [],
|
||||
|
@ -1898,7 +1898,9 @@
|
||||
"heroid": 53001,
|
||||
"star": 3,
|
||||
"equip": [],
|
||||
"newskill": [],
|
||||
"newskill": [
|
||||
100000004
|
||||
],
|
||||
"lv": 30,
|
||||
"hppro": 100,
|
||||
"atkpro": 2.5,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -15072,7 +15072,7 @@
|
||||
"OverlayTimes": 1,
|
||||
"SameID": false,
|
||||
"golbalbufficon": "",
|
||||
"buffIcon": "",
|
||||
"buffIcon": "ty_icon_buff_hgbl",
|
||||
"buffeffect": "effect_53001_evil_heiyan",
|
||||
"buffpos": "根节点",
|
||||
"AddTrigger": 0,
|
||||
|
@ -21,10 +21,9 @@ func (this *apiComp) ChallengeCycleCheck(session comm.IUserSession, req *pb.Pago
|
||||
// /六合塔开始挑战
|
||||
func (this *apiComp) ChallengeCycle(session comm.IUserSession, req *pb.PagodaChallengeCycleReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
pagoda *pb.DBPagodaCycle
|
||||
err error
|
||||
timeCheckOk bool
|
||||
pType pb.PlayType
|
||||
pagoda *pb.DBPagodaCycle
|
||||
err error
|
||||
pType pb.PlayType
|
||||
)
|
||||
if errdata = this.ChallengeCycleCheck(session, req); errdata != nil {
|
||||
return // 参数校验失败直接返回
|
||||
@ -53,24 +52,6 @@ func (this *apiComp) ChallengeCycle(session comm.IUserSession, req *pb.PagodaCha
|
||||
curWeekDay = 7
|
||||
}
|
||||
|
||||
if len(conf.Openingtime) == 0 {
|
||||
timeCheckOk = true
|
||||
} else {
|
||||
for _, v := range conf.Openingtime {
|
||||
if v == curWeekDay {
|
||||
timeCheckOk = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if !timeCheckOk {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_PagodaTimeError,
|
||||
Title: pb.ErrorCode_PagodaTimeError.ToString(),
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if _, ok := pagoda.Data[conf.Floors]; !ok {
|
||||
if pagoda.Maxfloor+1 != conf.Floors {
|
||||
errdata = &pb.ErrorData{ // 挑战关卡数据不匹配
|
||||
|
@ -31,7 +31,14 @@ func (this *apiComp) GetCycle(session comm.IUserSession, req *pb.PagodaGetCycleR
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 是否切换赛季
|
||||
if list.Etime < configure.Now().Unix() {
|
||||
data := this.module.modelCyclePagoda.getCycelData()
|
||||
list.Etime = data.Etime
|
||||
update["rtime"] = list.Etime
|
||||
list.Itype = data.Itype
|
||||
update["itype"] = list.Itype
|
||||
}
|
||||
if !utils.IsToday(list.Rtime) {
|
||||
update = make(map[string]interface{}, 0)
|
||||
list.Rtime = configure.Now().Unix()
|
||||
@ -46,7 +53,6 @@ func (this *apiComp) GetCycle(session comm.IUserSession, req *pb.PagodaGetCycleR
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), "getcycle", &pb.PagodaGetCycleResp{
|
||||
Data: list,
|
||||
})
|
||||
|
@ -19,6 +19,7 @@ const (
|
||||
game_circulate = "game_circulate.json"
|
||||
game_sixdirections = "game_sixdirections.json"
|
||||
game_sixdirectionsreward = "game_sixdirectionsreward.json"
|
||||
game_circulateseason = "game_circulateseason.json"
|
||||
)
|
||||
|
||||
///配置管理基础组件
|
||||
@ -43,7 +44,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
game_pagoda: cfg.NewGamePagoda,
|
||||
game_circulate: cfg.NewGameCirculate,
|
||||
game_sixdirections: cfg.NewGameSixDirections,
|
||||
//game_sixdirectionsreward: cfg.NewGameSixDirectionsReward,
|
||||
game_circulateseason: cfg.NewGameCirculateSeason,
|
||||
})
|
||||
|
||||
configure.RegisterConfigure(game_pagoda, cfg.NewGamePagoda, this.LoadPagoda)
|
||||
@ -260,3 +261,19 @@ func (this *configureComp) GetSixDirectionsConf(boxid int32) (conf []*cfg.GameSi
|
||||
this.hlock.RUnlock()
|
||||
return
|
||||
}
|
||||
|
||||
// 获取赛季的数量
|
||||
func (this *configureComp) GetCirculateSeasonLenght() (conf []*cfg.GameCirculateSeasonData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
)
|
||||
if v, err = this.GetConfigure(game_circulateseason); err == nil {
|
||||
if configure, ok := v.(*cfg.GameCirculateSeason); ok {
|
||||
if conf = configure.GetDataList(); len(conf) > 0 {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
err = comm.NewNotFoundConfErr(moduleName, game_circulateseason, "")
|
||||
return
|
||||
}
|
||||
|
@ -5,12 +5,16 @@ import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/event"
|
||||
"go_dreamfactory/lego/sys/mgo"
|
||||
"go_dreamfactory/lego/sys/redis/pipe"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"go_dreamfactory/sys/db"
|
||||
"go_dreamfactory/utils"
|
||||
"sync"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
@ -21,6 +25,9 @@ import (
|
||||
type ModelCycle struct {
|
||||
modules.MCompModel
|
||||
module *Pagoda
|
||||
|
||||
conflock sync.RWMutex
|
||||
cycelData *pb.DBCycelData
|
||||
}
|
||||
|
||||
func (this *ModelCycle) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
@ -34,23 +41,113 @@ func (this *ModelCycle) Init(service core.IService, module core.IModule, comp co
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelCycle) Start() (err error) {
|
||||
err = this.MCompModel.Start()
|
||||
|
||||
event.RegisterGO(core.Event_ServiceStartEnd, func() {
|
||||
err = this.loadCyclePagoda()
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// 刷新全局配置
|
||||
func (this *ModelCycle) loadCyclePagoda() (err error) {
|
||||
var (
|
||||
cycelData *pb.DBCycelData = &pb.DBCycelData{}
|
||||
)
|
||||
if err = this.module.ModuleTools.GetGlobalData("CirculatePagoda", cycelData); err != nil && err != mgo.MongodbNil {
|
||||
this.module.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
if err == mgo.MongodbNil {
|
||||
_, err = this.refreshCycelData()
|
||||
return
|
||||
}
|
||||
this.conflock.Lock()
|
||||
this.cycelData = cycelData
|
||||
this.conflock.Unlock()
|
||||
return
|
||||
}
|
||||
|
||||
// 获取循环塔信息
|
||||
func (this *ModelCycle) getCycelData() (data *pb.DBCycelData) {
|
||||
var (
|
||||
cycelData *pb.DBCycelData
|
||||
err error
|
||||
)
|
||||
this.conflock.RLock()
|
||||
cycelData = this.cycelData
|
||||
this.conflock.RUnlock()
|
||||
if cycelData == nil || cycelData.Etime < configure.Now().Unix() {
|
||||
if cycelData, err = this.refreshCycelData(); err != nil {
|
||||
return
|
||||
}
|
||||
this.conflock.Lock()
|
||||
this.cycelData = cycelData
|
||||
this.conflock.Unlock()
|
||||
}
|
||||
data = cycelData
|
||||
return
|
||||
}
|
||||
|
||||
// 刷新全局配置
|
||||
func (this *ModelCycle) refreshCycelData() (data *pb.DBCycelData, err error) {
|
||||
var (
|
||||
conf []*cfg.GameCirculateSeasonData
|
||||
day int32
|
||||
index int32
|
||||
curType int32 // 当前的赛季
|
||||
etime int64 // 结束时间
|
||||
openTime int64 // 开服时间
|
||||
)
|
||||
if conf, err = this.module.configure.GetCirculateSeasonLenght(); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range conf {
|
||||
day += v.Time
|
||||
}
|
||||
|
||||
openTime = utils.GetCurZeroTime(this.module.service.GetOpentime().Unix()) // 格式化一下时间
|
||||
curday := (configure.Now().Unix() - openTime) % int64(day)
|
||||
curday += 1
|
||||
for _, v := range conf {
|
||||
index += v.Time
|
||||
if int32(curday) <= index {
|
||||
curType = v.Id
|
||||
etime = configure.Now().Unix() + int64(index-int32(curday))*24*3600
|
||||
break
|
||||
}
|
||||
}
|
||||
etime = utils.GetZeroTime(etime) // 格式化一下时间
|
||||
data = &pb.DBCycelData{
|
||||
Itype: curType,
|
||||
Etime: etime,
|
||||
}
|
||||
this.conflock.Lock()
|
||||
this.cycelData = data
|
||||
this.conflock.Unlock()
|
||||
this.module.ModuleTools.UpdateGlobalData("CirculatePagoda", map[string]interface{}{
|
||||
"itype": data.Itype,
|
||||
"etime": data.Etime,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
// 获取爬塔信息
|
||||
func (this *ModelCycle) getPagodaCycleList(uid string) (result *pb.DBPagodaCycle, err error) {
|
||||
|
||||
result = &pb.DBPagodaCycle{}
|
||||
if err = this.Get(uid, result); err != nil && err == mgo.MongodbNil { // 初始一条数据
|
||||
data := this.getCycelData()
|
||||
result.Id = primitive.NewObjectID().Hex()
|
||||
result.Uid = uid
|
||||
result.Itype = 1
|
||||
result.Itype = data.Itype
|
||||
result.Data = make(map[int32]*pb.CycleData, 0)
|
||||
result.Rtime = configure.Now().Unix()
|
||||
if conf, e := this.module.configure.GetPagodaCirculateConf(1, 1); e == nil {
|
||||
result.Etime = configure.Now().Unix() + int64(conf.Time)*24*3600
|
||||
} else {
|
||||
err = fmt.Errorf("conf not found: %v", e.Error())
|
||||
return
|
||||
}
|
||||
|
||||
result.Etime = data.Etime
|
||||
err = this.Add(uid, result)
|
||||
return
|
||||
}
|
||||
|
@ -871,6 +871,69 @@ func (x *DBCycleRank) GetCosttime() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
type DBCycelData struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
|
||||
Itype int32 `protobuf:"varint,2,opt,name=itype,proto3" json:"itype"` // Boss 类型
|
||||
Etime int64 `protobuf:"varint,3,opt,name=etime,proto3" json:"etime"` // 结束时间
|
||||
}
|
||||
|
||||
func (x *DBCycelData) Reset() {
|
||||
*x = DBCycelData{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_pagoda_pagoda_db_proto_msgTypes[10]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DBCycelData) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DBCycelData) ProtoMessage() {}
|
||||
|
||||
func (x *DBCycelData) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_pagoda_pagoda_db_proto_msgTypes[10]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DBCycelData.ProtoReflect.Descriptor instead.
|
||||
func (*DBCycelData) Descriptor() ([]byte, []int) {
|
||||
return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{10}
|
||||
}
|
||||
|
||||
func (x *DBCycelData) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DBCycelData) GetItype() int32 {
|
||||
if x != nil {
|
||||
return x.Itype
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBCycelData) GetEtime() int64 {
|
||||
if x != nil {
|
||||
return x.Etime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_pagoda_pagoda_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_pagoda_pagoda_db_proto_rawDesc = []byte{
|
||||
@ -1015,8 +1078,13 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{
|
||||
0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63,
|
||||
0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63,
|
||||
0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0b, 0x44, 0x42, 0x43, 0x79, 0x63,
|
||||
0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -1031,7 +1099,7 @@ func file_pagoda_pagoda_db_proto_rawDescGZIP() []byte {
|
||||
return file_pagoda_pagoda_db_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_pagoda_pagoda_db_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
|
||||
var file_pagoda_pagoda_db_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
|
||||
var file_pagoda_pagoda_db_proto_goTypes = []interface{}{
|
||||
(*DBPagoda)(nil), // 0: DBPagoda
|
||||
(*DBPagodaRecord)(nil), // 1: DBPagodaRecord
|
||||
@ -1043,35 +1111,36 @@ var file_pagoda_pagoda_db_proto_goTypes = []interface{}{
|
||||
(*DBCyclePagodaRecord)(nil), // 7: DBCyclePagodaRecord
|
||||
(*CycleData)(nil), // 8: CycleData
|
||||
(*DBCycleRank)(nil), // 9: DBCycleRank
|
||||
nil, // 10: DBPagoda.RewardEntry
|
||||
nil, // 11: DBPagoda.DataEntry
|
||||
nil, // 12: DBRacePagodaRecord.DataEntry
|
||||
nil, // 13: DBPagodaRace.DataEntry
|
||||
nil, // 14: DBPagodaRace.RewardEntry
|
||||
nil, // 15: DBPagodaCycle.DataEntry
|
||||
nil, // 16: DBCyclePagodaRecord.DataEntry
|
||||
(*LineUp)(nil), // 17: LineUp
|
||||
(*BaseUserInfo)(nil), // 18: BaseUserInfo
|
||||
(*LineData)(nil), // 19: LineData
|
||||
(*DBCycelData)(nil), // 10: DBCycelData
|
||||
nil, // 11: DBPagoda.RewardEntry
|
||||
nil, // 12: DBPagoda.DataEntry
|
||||
nil, // 13: DBRacePagodaRecord.DataEntry
|
||||
nil, // 14: DBPagodaRace.DataEntry
|
||||
nil, // 15: DBPagodaRace.RewardEntry
|
||||
nil, // 16: DBPagodaCycle.DataEntry
|
||||
nil, // 17: DBCyclePagodaRecord.DataEntry
|
||||
(*LineUp)(nil), // 18: LineUp
|
||||
(*BaseUserInfo)(nil), // 19: BaseUserInfo
|
||||
(*LineData)(nil), // 20: LineData
|
||||
}
|
||||
var file_pagoda_pagoda_db_proto_depIdxs = []int32{
|
||||
10, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry
|
||||
11, // 1: DBPagoda.data:type_name -> DBPagoda.DataEntry
|
||||
17, // 2: DBPagodaRecord.line:type_name -> LineUp
|
||||
18, // 3: DBRacePagodaRecord.uinfo:type_name -> BaseUserInfo
|
||||
12, // 4: DBRacePagodaRecord.data:type_name -> DBRacePagodaRecord.DataEntry
|
||||
18, // 5: DBRaceRank.uinfo:type_name -> BaseUserInfo
|
||||
19, // 6: DBRaceRank.line:type_name -> LineData
|
||||
19, // 7: RaceData.line:type_name -> LineData
|
||||
13, // 8: DBPagodaRace.data:type_name -> DBPagodaRace.DataEntry
|
||||
14, // 9: DBPagodaRace.reward:type_name -> DBPagodaRace.RewardEntry
|
||||
18, // 10: DBPagodaRace.uinfo:type_name -> BaseUserInfo
|
||||
15, // 11: DBPagodaCycle.data:type_name -> DBPagodaCycle.DataEntry
|
||||
18, // 12: DBCyclePagodaRecord.uinfo:type_name -> BaseUserInfo
|
||||
16, // 13: DBCyclePagodaRecord.data:type_name -> DBCyclePagodaRecord.DataEntry
|
||||
19, // 14: CycleData.line:type_name -> LineData
|
||||
18, // 15: DBCycleRank.uinfo:type_name -> BaseUserInfo
|
||||
19, // 16: DBCycleRank.line:type_name -> LineData
|
||||
11, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry
|
||||
12, // 1: DBPagoda.data:type_name -> DBPagoda.DataEntry
|
||||
18, // 2: DBPagodaRecord.line:type_name -> LineUp
|
||||
19, // 3: DBRacePagodaRecord.uinfo:type_name -> BaseUserInfo
|
||||
13, // 4: DBRacePagodaRecord.data:type_name -> DBRacePagodaRecord.DataEntry
|
||||
19, // 5: DBRaceRank.uinfo:type_name -> BaseUserInfo
|
||||
20, // 6: DBRaceRank.line:type_name -> LineData
|
||||
20, // 7: RaceData.line:type_name -> LineData
|
||||
14, // 8: DBPagodaRace.data:type_name -> DBPagodaRace.DataEntry
|
||||
15, // 9: DBPagodaRace.reward:type_name -> DBPagodaRace.RewardEntry
|
||||
19, // 10: DBPagodaRace.uinfo:type_name -> BaseUserInfo
|
||||
16, // 11: DBPagodaCycle.data:type_name -> DBPagodaCycle.DataEntry
|
||||
19, // 12: DBCyclePagodaRecord.uinfo:type_name -> BaseUserInfo
|
||||
17, // 13: DBCyclePagodaRecord.data:type_name -> DBCyclePagodaRecord.DataEntry
|
||||
20, // 14: CycleData.line:type_name -> LineData
|
||||
19, // 15: DBCycleRank.uinfo:type_name -> BaseUserInfo
|
||||
20, // 16: DBCycleRank.line:type_name -> LineData
|
||||
4, // 17: DBRacePagodaRecord.DataEntry.value:type_name -> RaceData
|
||||
4, // 18: DBPagodaRace.DataEntry.value:type_name -> RaceData
|
||||
8, // 19: DBPagodaCycle.DataEntry.value:type_name -> CycleData
|
||||
@ -1211,6 +1280,18 @@ func file_pagoda_pagoda_db_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_pagoda_pagoda_db_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DBCycelData); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
@ -1218,7 +1299,7 @@ func file_pagoda_pagoda_db_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_pagoda_pagoda_db_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 17,
|
||||
NumMessages: 18,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
@ -15,12 +15,9 @@ type GameCirculateData struct {
|
||||
Itype int32
|
||||
BattlereadyID int32
|
||||
OpenDesc string
|
||||
Openingtime []int32
|
||||
Time int32
|
||||
Fightevents []int32
|
||||
Unlock string
|
||||
Floors int32
|
||||
Fightevents []int32
|
||||
TabIcon string
|
||||
TabTitle string
|
||||
Monsterlineup []int32
|
||||
KeyReward []*Gameatn
|
||||
@ -41,23 +38,6 @@ func (_v *GameCirculateData)Deserialize(_buf map[string]interface{}) (err error)
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["itype"].(float64); !_ok_ { err = errors.New("itype error"); return }; _v.Itype = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["battlereadyID"].(float64); !_ok_ { err = errors.New("battlereadyID error"); return }; _v.BattlereadyID = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["openDesc"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.OpenDesc error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.OpenDesc, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["openingtime"].([]interface{}); !_ok_ { err = errors.New("openingtime error"); return }
|
||||
|
||||
_v.Openingtime = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Openingtime = append(_v.Openingtime, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time"].(float64); !_ok_ { err = errors.New("time error"); return }; _v.Time = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Unlock, _ok_ = _buf["unlock"].(string); !_ok_ { err = errors.New("unlock error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floors"].(float64); !_ok_ { err = errors.New("floors error"); return }; _v.Floors = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
@ -72,7 +52,8 @@ func (_v *GameCirculateData)Deserialize(_buf map[string]interface{}) (err error)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; if _v.TabIcon, _ok_ = _buf["tabIcon"].(string); !_ok_ { err = errors.New("tabIcon error"); return } }
|
||||
{ var _ok_ bool; if _v.Unlock, _ok_ = _buf["unlock"].(string); !_ok_ { err = errors.New("unlock error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floors"].(float64); !_ok_ { err = errors.New("floors error"); return }; _v.Floors = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["tabTitle"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TabTitle error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TabTitle, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
|
42
sys/configure/structs/Game.CirculateSeason.go
Normal file
42
sys/configure/structs/Game.CirculateSeason.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameCirculateSeason struct {
|
||||
_dataMap map[int32]*GameCirculateSeasonData
|
||||
_dataList []*GameCirculateSeasonData
|
||||
}
|
||||
|
||||
func NewGameCirculateSeason(_buf []map[string]interface{}) (*GameCirculateSeason, error) {
|
||||
_dataList := make([]*GameCirculateSeasonData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameCirculateSeasonData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameCirculateSeasonData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameCirculateSeason{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameCirculateSeason) GetDataMap() map[int32]*GameCirculateSeasonData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameCirculateSeason) GetDataList() []*GameCirculateSeasonData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameCirculateSeason) Get(key int32) *GameCirculateSeasonData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
39
sys/configure/structs/Game.CirculateSeasonData.go
Normal file
39
sys/configure/structs/Game.CirculateSeasonData.go
Normal file
@ -0,0 +1,39 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameCirculateSeasonData struct {
|
||||
Id int32
|
||||
Time int32
|
||||
Skilldec string
|
||||
}
|
||||
|
||||
const TypeId_GameCirculateSeasonData = 91263541
|
||||
|
||||
func (*GameCirculateSeasonData) GetTypeId() int32 {
|
||||
return 91263541
|
||||
}
|
||||
|
||||
func (_v *GameCirculateSeasonData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time"].(float64); !_ok_ { err = errors.New("time error"); return }; _v.Time = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["skilldec"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Skilldec error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Skilldec, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameCirculateSeasonData(_buf map[string]interface{}) (*GameCirculateSeasonData, error) {
|
||||
v := &GameCirculateSeasonData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -203,6 +203,7 @@ type Tables struct {
|
||||
CardPool *GameCardPool
|
||||
Robot *GameRobot
|
||||
Passon *GamePasson
|
||||
CirculateSeason *GameCirculateSeason
|
||||
Circulate *GameCirculate
|
||||
SixDirections *GameSixDirections
|
||||
SixDirectionsReward *GameSixDirectionsReward
|
||||
@ -1517,6 +1518,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.Passon, err = NewGamePasson(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_circulateseason") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.CirculateSeason, err = NewGameCirculateSeason(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_circulate") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -75,6 +75,13 @@ func GetZeroTime(curTime int64) int64 {
|
||||
return startTime.Unix() + 86400 //3600*24
|
||||
}
|
||||
|
||||
func GetCurZeroTime(curTime int64) int64 {
|
||||
currentTime := time.Unix(curTime, 0)
|
||||
startTime := time.Date(currentTime.Year(), currentTime.Month(), currentTime.Day(), 0, 0, 0, 0, currentTime.Location())
|
||||
|
||||
return startTime.Unix()
|
||||
}
|
||||
|
||||
func IsYestoday(timestamp int64) bool {
|
||||
tt := time.Unix(timestamp, 0)
|
||||
yesTime := configure.Now().AddDate(0, 0, -1)
|
||||
|
Loading…
Reference in New Issue
Block a user