import { sp } from "cc"; import { DataSystem } from "./core/data/DataSystem"; import { HttpSystem } from "./core/net/HttpSystem"; import { Utils } from "./core/utils/Utils"; import { platform } from "./data/jsb/platform"; import { UserData } from "./data/UserData"; import { GodTowerData } from "./godTower/GodTowerData"; import { UserHeroData } from "./hero/UserHeroData"; import { PVPCardData } from "./pvp/PVP"; import { TaskData } from "./task/TaskData"; /** * 数数事件上报 ** @author 孙雄 */ export class ReportThinking { public static userData(): UserData { return DataSystem.getData(UserData); } /**点击激励视频广告按钮 */ public static ad_init(id: string) { platform.reportThinking('ad_init', JSON.stringify({ ad_id: id, ad_time: Utils.formatDate(new Date(HttpSystem.serverTime)), id: DataSystem.getData(UserData).id, role_name: DataSystem.getData(UserData).nickName, stage: DataSystem.getData(UserData).level })); } /**激励视频广告观看完成 */ public static ad_end(id: string, num: number = 0) { platform.reportThinking('ad_end', JSON.stringify({ ad_id: id, ad_time: Utils.formatDate(new Date(HttpSystem.serverTime)), id: DataSystem.getData(UserData).id, role_name: DataSystem.getData(UserData).nickName, stage: DataSystem.getData(UserData).level, award: num })); } /**武将激活 */ public static hero_activate(hero_name: string, hero_get: string) { platform.reportThinking("hero_activate", JSON.stringify({ hero_name: hero_name, id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, activate_time: Utils.formatDate(new Date(HttpSystem.serverTime)), remain_amount: DataSystem.getData(UserHeroData).notHavetHeros.length, hero_get: hero_get })); } /** * *武将升星 * @param hero_name 武将名称 * @param chip_consume 消耗碎片数量 * @param hero_level 武将星级 * @param chip_amount 剩余碎片数量 * @param previous_level 升级前星级 * @param increase_level 升级后星级 */ public static hero_levelup(hero_name: string, chip_consume: number, hero_level: number, chip_amount: number, previous_level: number, increase_level: number) { platform.reportThinking('hero_levelup', JSON.stringify({ hero_name: hero_name, id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, levelup_time: Utils.formatDate(new Date(HttpSystem.serverTime)), chip_consume: DataSystem.getData(UserHeroData).notHavetHeros.length, hero_level: hero_level, chip_amount: chip_amount, previous_level: previous_level, increase_level: increase_level })); } /** * 货币增加 * @param currencyType * @param previous_number 之前的数量 * @param increase_number 增加的数量 * @param current_number 当前的数量 * @param reasons 变化原因 */ public static currency_increase(currencyName: string, previous_number: number, increase_number: number, current_number: number, reasons: string) { let eventName = ''; switch (currencyName) { case "money": eventName = 'prop_increase'; break; case "diamond": eventName = 'diamond_increase'; break; case "bonus": eventName = 'envelope_increase'; break; case "prestige": eventName = 'stone_increase'; break; } platform.reportThinking(eventName, JSON.stringify({ previous_number: previous_number, increase_number: increase_number, current_number: current_number, role_name: reasons, })); } /** * 货币减少 * @param currencyType * @param previous_number 之前的数量 * @param increase_number 减少的数量 * @param current_number 当前的数量 * @param reasons 变化原因 */ public static currency_decrease(currencyName: string, previous_number: number, increase_number: number, current_number: number, reasons: string) { let eventName = ''; switch (currencyName) { case "money": eventName = 'prop_decrease'; break; case "diamond": eventName = 'diamond_decrease'; break; case "bonus": eventName = 'envelope_decrease'; break; case "prestige": eventName = 'stone_decrease'; break; } platform.reportThinking(eventName, JSON.stringify({ field_time: Utils.formatDate(new Date(HttpSystem.serverTime)), previous_number: previous_number, increase_number: increase_number, current_number: current_number, role_name: reasons, })); } /** * *武将训练 */ public static train(hero_name: string, train_level: number, prop_consume: number = 500) { platform.reportThinking('train', JSON.stringify({ hero_name: hero_name, id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, prop_consume: prop_consume, prop_amount: DataSystem.getData(UserData).money, train_level: train_level })); } /** * *征粮 */ public static field() { let is_first; if (localStorage.getItem("field_is_first")) { is_first = false; } else { localStorage.setItem("field_is_first", '1'); is_first = true; } platform.reportThinking('field', JSON.stringify({ is_first: is_first, field_time: Utils.formatDate(new Date(HttpSystem.serverTime)), id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, })); } /** * 战斗PVP * @param currencyType * @param previous_number 之前的数量 * @param increase_number 减少的数量 * @param current_number 当前的数量 * @param reasons 变化原因 */ public static fight_pvp(hero_list: Array, is_win: boolean) { let arr = ''; for (let i = 0; i < hero_list.length; i++) { arr += hero_list[i].id + ','; } platform.reportThinking('fight', JSON.stringify({ hero_list: arr, id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, is_win: is_win, fight_start_time: HttpSystem.serverTime })); } /** * 转盘 */ public static turn(award_id: string, award_no: number) { let is_first; if (localStorage.getItem("turn_is_first")) { is_first = false; } else { localStorage.setItem("turn_is_first", '1'); is_first = true; } platform.reportThinking('turn', JSON.stringify({ is_first: is_first, award_id: award_id, award_no: award_no, id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, turn_time: Utils.formatDate(new Date(HttpSystem.serverTime)) })); } /** * 任务 * @param task_name 任务名 */ public static task(task_name: string) { platform.reportThinking('task', JSON.stringify({ task_name: task_name, id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, task_time: Utils.formatDate(new Date(HttpSystem.serverTime)) })); } /** * 活跃度 * @param task_name 活跃度 */ public static activity(award_id: number, award_no: number) { platform.reportThinking('activity', JSON.stringify({ activity_amount: DataSystem.getData(TaskData).activityNum, id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, activity_time: Utils.formatDate(new Date(HttpSystem.serverTime)), award_id: award_id, award_no: award_no })); } /** *兵营升级 */ public static base_levelup(stone_consume: number) { platform.reportThinking('activity', JSON.stringify({ id: DataSystem.getData(UserData).id, stage: DataSystem.getData(UserData).level, role_name: DataSystem.getData(UserData).nickName, stone_consume: stone_consume, stone_amount: DataSystem.getData(UserData).prestige, base_level: DataSystem.getData(UserData).campLv })); } /** *邀请玩家 */ public static invite() { platform.reportThinking("invite", JSON.stringify({ upper_class: DataSystem.getData(GodTowerData).parentUin })); } /** *邀请玩家 */ public static invite_get(newAmount: number) { platform.reportThinking("invite", JSON.stringify({ current_amount: DataSystem.getData(UserData).contribution, after_amount: newAmount })); } }