|
|
@@ -10,6 +10,7 @@ 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";
|
|
|
@@ -17,6 +18,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;
|
|
|
@@ -56,11 +58,16 @@ export default class GameData {
|
|
|
help_data: any;
|
|
|
serverConfig_data: any;
|
|
|
commanderskill_data: any;
|
|
|
+ private task_data: any;
|
|
|
|
|
|
fullskillId: number[];
|
|
|
|
|
|
async initLocalConfigs() {
|
|
|
+ console.log('initLocalConfigs');
|
|
|
+
|
|
|
if (cc.sys.os == cc.sys.OS_WINDOWS) {
|
|
|
+ console.log('initLocalConfigs...windows');
|
|
|
+
|
|
|
this.buff_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/buff_data.json?v=' + new Date().getTime());
|
|
|
this.fetter_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/fetter_data.json?v=' + new Date().getTime());
|
|
|
this.skill_data = await GameController.resM.loadRemoteJson('https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/h5game/tower_sanguo/data/skill_data.json?v=' + new Date().getTime());
|
|
|
@@ -74,26 +81,29 @@ export default class GameData {
|
|
|
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());
|
|
|
+ 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.commanderskill_data = cc.loader.getRes("data/commanderskill_data", cc.JsonAsset).json;
|
|
|
+ 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();
|
|
|
}
|
|
|
else {
|
|
|
+ console.log('initLocalConfigs...zip');
|
|
|
let data = cc.loader.getRes('data/1.bin', cc.BufferAsset);
|
|
|
this.initZip(data._buffer);
|
|
|
}
|
|
|
@@ -283,11 +293,44 @@ export default class GameData {
|
|
|
this.barrack_data.setValue(vo.campLv, vo);
|
|
|
}
|
|
|
|
|
|
- turntableModel.Instance.turntable_data = this.turntable_data;
|
|
|
+ for (let i in this.commanderskill_data) {
|
|
|
+ let o = this.commanderskill_data[i];
|
|
|
+ let csvo = new CommanderSkillVO();
|
|
|
+ csvo.id = o.id;
|
|
|
+ let tempstars = o.starcount.split(":");
|
|
|
+ for (let i = 0; i < tempstars.length; i++) {
|
|
|
+ csvo.unlockstarcount.push(parseInt(tempstars[i]));
|
|
|
+ }
|
|
|
+ this.commanderskill_data[i] = csvo;
|
|
|
+ console.log("index: " + i + " d: ", o);
|
|
|
+ }
|
|
|
+
|
|
|
+ //console.log("commanderskill_data: ", this.commanderskill_data);
|
|
|
+ //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;
|
|
|
+ vo.task_stage = 1;// 测试,此处应当取服务器值
|
|
|
+ vo.state = 1;
|
|
|
+ vo.bar = 0;
|
|
|
+ this.task_data[i] = vo;
|
|
|
+ }
|
|
|
+ }
|
|
|
getAllGeneral() {
|
|
|
return this.general_data;
|
|
|
}
|
|
|
@@ -328,6 +371,12 @@ export default class GameData {
|
|
|
getNextStarByID(id) {
|
|
|
return this.star_data[id];
|
|
|
}
|
|
|
+ getTaskById(id): TaskVO {
|
|
|
+ return this.task_data[id];
|
|
|
+ }
|
|
|
+ getAllTask(): Array<TaskVO> {
|
|
|
+ return this.task_data;
|
|
|
+ }
|
|
|
|
|
|
createMonsterVOByID(id): MonsterVO {
|
|
|
let o = this.monster_data[id];
|
|
|
@@ -342,6 +391,76 @@ export default class GameData {
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取技能效果值字符串
|
|
|
+ * @param skill 技能
|
|
|
+ * @param lv 等级
|
|
|
+ * @param add 加成值
|
|
|
+ */
|
|
|
+ getSkillValueStr(skill: SkillVO, lv: number,add:number=0) {
|
|
|
+ switch (skill.attackType) {
|
|
|
+ case 1:
|
|
|
+ return;
|
|
|
+ case 2:
|
|
|
+ return;
|
|
|
+ case 3:
|
|
|
+ return ((skill.skillValue[lv - 1] +add)/ 10000 * 100).toFixed(1)+"%";
|
|
|
+ case 4:
|
|
|
+ return;
|
|
|
+ case 5:
|
|
|
+ return skill.skillValue[lv - 1]+add;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取技能效果值
|
|
|
+ * @param skill 技能
|
|
|
+ * @param lv 等级
|
|
|
+ */
|
|
|
+ getSkillValue(skill: SkillVO, lv: number) {
|
|
|
+ switch (skill.attackType) {
|
|
|
+ case 1:
|
|
|
+ return;
|
|
|
+ case 2:
|
|
|
+ return;
|
|
|
+ case 3:
|
|
|
+ return (skill.skillValue[lv - 1])/ 10000;
|
|
|
+ case 4:
|
|
|
+ return;
|
|
|
+ case 5:
|
|
|
+ return skill.skillValue[lv - 1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取技能统帅加成值
|
|
|
+ * @param general 统帅
|
|
|
+ */
|
|
|
+ getSkillAddValue(general:GeneralVO){
|
|
|
+ return Math.pow(general.commander/100,1.9);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取技能统帅加成值字符串
|
|
|
+ * @param skill 技能
|
|
|
+ * @param general 统帅
|
|
|
+ */
|
|
|
+ getSkillAddValueStr(skill: SkillVO,general:GeneralVO,skillvalue:number){
|
|
|
+ let addcommander=Math.pow(general.commander/100,1.9);
|
|
|
+ switch (skill.attackType) {
|
|
|
+ case 1:
|
|
|
+ return;
|
|
|
+ case 2:
|
|
|
+ return;
|
|
|
+ case 3:
|
|
|
+ return (addcommander*skillvalue * 100).toFixed(1)+"%";
|
|
|
+ case 4:
|
|
|
+ return;
|
|
|
+ case 5:
|
|
|
+ return (addcommander*skillvalue)+"";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/** -------------------------------------------- serverData ---------------------------------------------- */
|
|
|
|
|
|
@@ -351,6 +470,7 @@ export default class GameData {
|
|
|
this.fightData.font2 = cc.loader.getRes("font/font2", cc.Font);
|
|
|
this.fightData.font3 = cc.loader.getRes("font/font3", cc.Font);
|
|
|
|
|
|
+
|
|
|
GameController.setLoadingTips('正在获取玩家数据...');
|
|
|
GameController.http.getServerConfig(this.getServerConfig.bind(this));
|
|
|
}
|
|
|
@@ -361,6 +481,7 @@ export default class GameData {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ //console.log("------->ServerConfig: ", response);
|
|
|
|
|
|
let open_arr = response.data.embattle_open.split(',');
|
|
|
let arr = [];
|
|
|
@@ -382,6 +503,8 @@ export default class GameData {
|
|
|
}
|
|
|
let data = response.data as PlayerProp;
|
|
|
|
|
|
+ console.log("PlayerInfo: ", response);
|
|
|
+
|
|
|
|
|
|
this.player.coins.set(PLAYERPROP.FOOD, new Prop(PLAYERPROP.FOOD, data.food));
|
|
|
this.player.coins.set(PLAYERPROP.YB, new Prop(PLAYERPROP.YB, data.yb));
|
|
|
@@ -420,9 +543,36 @@ export default class GameData {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ this.initScheduler();
|
|
|
+ this.updateSkillData();
|
|
|
+
|
|
|
GameController.loadMain();
|
|
|
+ console.log("____________loadMain"); }
|
|
|
+
|
|
|
+ private updateSkillData() {
|
|
|
+ let stars = this.player.getAllStars();
|
|
|
+ let judge = false;
|
|
|
+ for (let i in this.commanderskill_data) {
|
|
|
+ let tempSkillCfg = this.commanderskill_data[i];
|
|
|
+ let tempSkillLv = -1;
|
|
|
+ for (let j = 0; j < tempSkillCfg.unlockstarcount.length; j++) {
|
|
|
+ if (tempSkillCfg.unlockstarcount[j] <= stars) {
|
|
|
+ tempSkillLv = j + 1;
|
|
|
+ }
|
|
|
+ this.player.skill_lv_data.set(tempSkillCfg.id, tempSkillLv);
|
|
|
+ }
|
|
|
+ if (!judge && tempSkillLv != -1) {
|
|
|
+ judge = true;
|
|
|
+ this.player.skill_default_id = tempSkillCfg.id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //console.log("------>update Skill default skill id: ", this.player.skill_default_id);
|
|
|
+ //console.log("------>update Skill All Stars: ", stars);
|
|
|
+ //console.log("------>update Skill SkillData: ", this.player.skill_lv_data);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
*
|
|
|
* @param id
|
|
|
@@ -503,6 +653,19 @@ 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
|
|
|
@@ -684,6 +847,7 @@ export enum DAMAGE_TYPE {
|
|
|
NORMAL = 1,
|
|
|
CRIT = 2,
|
|
|
FATAL = 3,
|
|
|
+
|
|
|
}
|
|
|
|
|
|
export enum CAMP {
|