本次提交重构了关卡系统,实现了完整的小节级关卡推进流程: 1. 新增关卡配置表StageSet,定义章节-关-节三级结构与怪物数值公式 2. 重构刷怪逻辑,按小节配置生成对应怪物波次 3. 实现关卡进度存档与恢复,支持断点续玩 4. 新增结算弹窗分支逻辑,区分小节胜利/关卡通关/失败状态 5. 优化胜利按钮文案与显示逻辑,将"再来一局"改为"下一关" 6. 新增一套完整的关卡事件系统,驱动各模块协同工作
115 lines
4.8 KiB
TypeScript
115 lines
4.8 KiB
TypeScript
/*
|
||
* @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",
|
||
}
|
||
|