Files
pixelheros/assets/script/game/common/config/GameSet.ts
walkpan ffe5f20c9a feat: 完成英雄技能与UI素材更新
1. 调整所有描边材质的发光宽度与颜色参数
2. 提升英雄最大等级上限至5级
3. 重构5个英雄的技能配置与特效
4. 修复移动系统固定结束位置的Y轴丢失问题
5. 新增火焰陨石与冰刺技能的预制体与动画
6. 优化技能攻击预制体的缩放与尺寸参数
2026-05-18 21:50:54 +08:00

123 lines
3.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/** 碰撞分组 */
export enum BoxSet {
//物理碰撞tag
SKILL_TAG=8,
ATK_RANGE = 4,
//group
DEFAULT = 1,
MONSTER = 2,
HERO = 4,
//地图边界
LETF_END = -360,
RIGHT_END = 360,
//游戏地平线
GAME_LINE = 100,
}
export enum FacSet {
HERO=0,
MON=1,
}
export enum FightSet {
CRIT_DAMAGE=50,//暴击伤害
MORE_RC=10,//更多次数 广告获取的次数
HEARTPOS=-320,//基地位置
HERO_MAX_NUM=6,//英雄最大数量
MERGE_MAX=5, //英雄最大等级
MERGE_NEED=3, //英雄升级需要的英雄数
// BACK_RANG=30,//后退范围
BACK_RANG=30,//后退范围
FiIGHT_TIME=30,//战斗时间
// BACK_CHANCE=40,//击退概率
FROST_TIME=3,//冰冻时间
SKILL_CAST_DELAY=0.15,
CSKILL_START_X=-340,
CSKILL_START_Y=30,
SHIELD_MAX=5,
WAVE_HEAL_RATE=0.5, // 回合结束时所有英雄恢复最大生命值的比例
}
export const laneIdx = {
2:[-180,90],
1:[-180,0],
3:[-180,-90],
5:[-280,90],
4:[-280,0],
6:[-280,-90],
}
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,
addmp:9,
shield:10,
}
/** 数字格式化工具函数 */
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$/, '') + '万亿';
}
}
}