Files
pixelheros/assets/script/game/common/config/GameEvent.ts
pan 7b9545e2a8 feat(关卡系统): 实现章节-关-节三级关卡推进机制
本次提交重构了关卡系统,实现了完整的小节级关卡推进流程:
1. 新增关卡配置表StageSet,定义章节-关-节三级结构与怪物数值公式
2. 重构刷怪逻辑,按小节配置生成对应怪物波次
3. 实现关卡进度存档与恢复,支持断点续玩
4. 新增结算弹窗分支逻辑,区分小节胜利/关卡通关/失败状态
5. 优化胜利按钮文案与显示逻辑,将"再来一局"改为"下一关"
6. 新增一套完整的关卡事件系统,驱动各模块协同工作
2026-09-10 17:30:37 +08:00

115 lines
4.8 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.
/*
* @Author: dgflash
* @Date: 2021-11-23 15:28:39
* @LastEditors: dgflash
* @LastEditTime: 2022-01-26 16:42:00
*/
/** 游戏事件 */
export enum GameEvent {
/** 游戏服务器连接成功 */
GameServerConnected = "GameServerConnected",
/** 登陆成功 */
LoginSuccess = "LoginSuccess",
MAP_MOVE_END_LEFT = "MAP_MOVE_END_LEFT",
MAP_MOVE_END_RIGHT = "MAP_MOVE_END_RIGHT",
GuideStart = "GuideStart",
GuideEnd = "GuideEnd",
GuideComplete = "GuideComplete",
CastSkill = "CastSkill",
CardsClose = "CardsClose",
CardRefresh = "CardRefresh",
/** 单张卡牌被点击选中(payload 为被点击的 CHeroComp 实例,用于其他卡牌联动隐藏 call_btn) */
CardSelected = "CardSelected",
/** 单张卡牌被成功使用(payload 为该卡槽组件实例 CHeroComp / SCardComp,用于 MissionCardComp 补卡) */
CardUsed = "CardUsed",
UseHeroCard = "UseHeroCard",
UseSkillCard = "UseSkillCard",
UseSpecialCard = "UseSpecialCard",
CallHero = "CallHero",
Zhaohuan = "Zhaohuan",
MissionLoss = "MissionLoss",
MissionWin = "MissionWin",
MissionStart = "MissionStart",
FightReady = "FightReady",
FightStart = "FightStart",
FightPause = "FightPause",
FightResume = "FightResume",
MissionEnd = "MissionEnd",
MissionComplete = "MissionComplete",//战斗结算完成
HeroSkillSelect = "HeroSkillSelect",
HeroSkillSelectEnd = "HeroSkillSelectEnd",
HeroSelect = "HeroSelect",
EnhancementSelect = "EnhancementSelect",
CanUpdateLv = "CanUpdateLv",
UseEnhancement = "UseEnhancement",
MasterCalled = "MasterCalled",
CastHeroSkill = "CastHeroSkill",
EquipAdd = "EquipAdd",
EquipSelect = "EquipSelect",
FuncSelect = "FuncSelect",
TalentSelect = "TalentSelect",
UseTalentCard = "UseTalentCard",
UseItemCard = "UseItemCard",
UseAttrCard = "UseAttrCard",
AttrSelect = "AttrSelect",
NewWave = "NewWave",
AD_BACK_TRUE = "AD_BACK_TRUE",
AD_BACK_FALSE = "AD_BACK_FALSE",
DO_AD_BACK = "DO_AD_BACK",
ShopOpen = "ShopOpen",
HerosOpen = "HerosOpen",
RestOpen = "RestOpen",
HeroInfoOpen = "HeroInfoOpen",
HeroLvUp = "HeroLvUp",
HeroUnlock = "HeroUnlock",
MonDead = "MonDead",
HeroDead = "HeroDead",
HeroSell = "HeroSell",
/** 英雄面板升级按钮点击事件(payload: { eid },由 MissionCardComp 执行升级) */
HeroUpgrade = "HeroUpgrade",
GOLD_UPDATE = "GOLD_UPDATE",
DIAMOND_UPDATE = "DIAMOND_UPDATE",
MEAT_UPDATE = "MEAT_UPDATE",
ReviveSuccess = "ReviveSuccess",
ToCallFriend = "ToCallFriend",
CallFriend = "CallFriend",
UpdateCollection = "UpdateCollection",
UpdateMissionGet = "UpdateMissionGet",
GlobalAttrChange = "GlobalAttrChange",
CoinAdd = "CoinAdd",
SILVER_UPDATE = "SILVER_UPDATE", // 银币数量变更事件(刷新卡牌消耗)
ShowSmallTip = "ShowSmallTip",
CardPoolUpgrade = "CardPoolUpgrade",
TriggerSkill = "TriggerSkill", // 瞬间触发施法事件
RemoveSkillBox = "RemoveSkillBox", // 技能盒销毁事件
UseEquipCard = "UseEquipCard", // 装备卡购买使用事件
RemoveEquipBox = "RemoveEquipBox", // 装备盒销毁事件
HeroBoxEmptyClick = "HeroBoxEmptyClick", // 英雄面板空槽位点击事件(展示英雄卡池)
BossWarning = "BossWarning", // Boss 回合战斗开始预警(payload: { wave, eta },eta 为 Boss 预计进场秒数)
/** 回合清屏(场上+待刷怪全灭),payload: { wave, clearTime, allAlive, fastClear } */
WaveClear = "WaveClear",
/** Boss 实体刷出瞬间(payload: { pos },供登场震屏/音效定位) */
BossSpawn = "BossSpawn",
/** 金币飞行表现(payload: { worldPos, gold, isBoss },账务已即时结算,纯视觉事件) */
CoinFly = "CoinFly",
/** 连杀达阈值(payload: { count, tier },tier 0/1/2 对应 5/10/20 连杀) */
ComboReach = "ComboReach",
/** 英雄局外成长数据变更(碎片/等级更新,payload 为空,UI 重新读取 smc.data.hero_growth) */
HERO_GROWTH_UPDATE = "HERO_GROWTH_UPDATE",
/** 天赋数据变更(等级/点数更新,payload 为空,UI 重新读取 smc.data.talents / talent_points) */
TALENT_UPDATE = "TALENT_UPDATE",
/** 小节开始(payload: { chapter, stage, section },MissionMonComp 据此生成怪物) */
SectionStart = "SectionStart",
/** 小节结束(payload: { chapter, stage, section },玩家点击"下一节"后推进) */
SectionEnd = "SectionEnd",
/** 大关结束(payload: { chapter, stage },10 节打完) */
StageEnd = "StageEnd",
/** 章节结束(payload: { chapter },10 关打完) */
ChapterEnd = "ChapterEnd",
/** 结算弹窗点击"下一节"(payload 为空,MissionComp 据此推进到下一小节) */
NextSection = "NextSection",
}