/* * @Author: dgflash * @Date: 2021-11-23 15:28:39 * @LastEditors: dgflash * @LastEditTime: 2022-01-26 16:42:00 */ /** 碰撞分组 */ export enum BoxSet { //物理碰撞tag SKILL_TAG=8, ATK_RANGE = 4, //group DEFAULT = 1, MONSTER = 2, HERO = 4, //地图边界 LETF_END = -420, RIGHT_END = 420, //游戏地平线 GAME_LINE = 120, //攻击距离 } export enum FacSet { HERO=0, MON=1, } /** 数字格式化工具函数 */ export class NumberFormatter { /** * 将数字转换为易读格式 * @param num 要转换的数字 * @returns 格式化后的字符串 * 例如:1234 -> "1.2k", 1234567 -> "1.2M", 1234567890 -> "1.2B" */ static formatNumber(num: number): string { if (num < 1000) { return num.toString(); } else if (num < 1000000) { // 5位数用k表示 (1000-999999) return (num / 1000).toFixed(1).replace(/\.0$/, '') + 'k'; } else if (num < 1000000000) { // 7位数用M表示 (1000000-999999999) return (num / 1000000).toFixed(1).replace(/\.0$/, '') + 'M'; } else if (num < 1000000000000) { // 10位数用B表示 (1000000000-999999999999) return (num / 1000000000).toFixed(1).replace(/\.0$/, '') + 'B'; } else { // 更大的数字用T表示 return (num / 1000000000000).toFixed(1).replace(/\.0$/, '') + 'T'; } } /** * 将数字转换为中文格式 * @param num 要转换的数字 * @returns 中文格式的字符串 * 例如:1234 -> "1.2千", 1234567 -> "1.2百万" */ static formatNumberChinese(num: number): string { if (num < 10000) { return num.toString(); } else if (num < 100000000) { // 万级别 return (num / 10000).toFixed(1).replace(/\.0$/, '') + '万'; } else if (num < 1000000000000) { // 亿级别 return (num / 100000000).toFixed(1).replace(/\.0$/, '') + '亿'; } else { // 万亿级别 return (num / 1000000000000).toFixed(1).replace(/\.0$/, '') + '万亿'; } } } export enum FightSet { FRIEND_WAVE_UP=3, //伙伴登场波次 BOSS_WAVE_UP_1=3, //boss登场波次 BOSS_WAVE_UP_2=5, //boss登场波次 BOSS_WAVE_UP_3=7, //boss登场波次 EQUIP_WAVE_UP_1=4, //装备登场波次 EQUIP_WAVE_UP_2=6, //装备登场波次 EQUIP_WAVE_UP_3=8, //装备登场波次 SKILL_WAVE_UP_1=2, //技能登场波次 SKILL_WAVE_UP_2=5, //技能登场波次 SKILL_WAVE_UP_3=7, //技能登场波次 MON_WAVE_TIME=10,//怪物波次时间 ATK_ADD_COUNT=4,//伙伴攻击力增加 ATK_ADD_GLOD=1,//金币增加 CRIT_DAMAGE=50,//暴击伤害 DEF_C=100,//物理防御常数C MDEF_C=100,//魔法防御常数C DOUBLE_ATK_RATE=100,//额外攻击默认概率 GREEN_GOLD=1,//绿色金币 BLUE_GOLD=2,//蓝色金币 PURPLE_GOLD=3,//紫色金币 ORANGE_GOLD=4,//橙色金币 BURN_COUNT=5,//默认易伤次数 5秒 STUN_TIME=0.5,//默认晕时间 WEAPON_LV=2,//武器等级 SHIELD_LV=3,//护盾等级 ARMOR_LV=4,//防具等级 ACCESSORY_LV=5,//饰品等级 ATKED_TO_POWER=15,//被攻击涨能量 ATK_TO_POWER=10,//攻击涨能量 CRIT_TO_POWER=15,//暴击涨能量 DODGE_TO_POWER=15,//闪避涨能量 ONE_WAVE_TIME=30,//单波时间 DOWN_TIME=5,//倒计时时间 MORE_RC=10,//更多次数 广告获取的次数 TAL_NUM=3,//天赋数量 HEARTPOS=-320,//基地位置 HERO_MAX_NUM=3,//英雄最大数量 // ATK_TO_ATK_RATIO=0.1, // ATK_TO_HP_RATIO=0.2, // ATK_TO_SHIELD_RATIO=2, // ATK_LINES = 3, //英雄数 // MON_GOLD_ADD =2, // MON_COIN_ADD=2, // COIN_ADD=1, // DEF_RATE=0.7, // DODGE_MAX=70, // HERO_NUM=3, // AP_UPDATE_RATE=100, // AP_CHANGE_RATE=0, } export enum IndexSet { /** 英雄基础层级 */ HERO = 2000, /** 一线怪物基础层级(y=120) - 层级较低,在后面 */ MON1 = 1000, /** 二线怪物基础层级(y=80) - 层级较高,在前面 */ MON2 = 3000, /** 每个怪物的层级增量,确保后生成的在前面 */ MON_INCREMENT = 1, SLILL=4000, BOSS=2100, } export const TooltipTypes = { life:1, health:2, skill:3, crit:4, uskill:5, lvup:6, apup:7, hpup:8, }