Files
pixelheros/assets/script/game/common/config/GameEvent.ts
pan c04a357183 feat: 新增关卡进度同步系统并优化UI显示
1.  新增GameEvent.STAGE_PROGRESS_UPDATE事件与关卡进度镜像逻辑
2.  在SingletonModuleComp中添加关卡进度VM层字段与同步方法
3.  重构MissionComp的UI显示逻辑,拆分计时与阶段显示
4.  更新mission.prefab的UI节点结构与数据绑定
5.  统一关卡进度更新的调用方式,替换直接赋值为专用方法
2026-09-11 11:17:35 +08:00

119 lines
5.1 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 为空,UI 重新读取 smc.vmdata.stage_progress) */
STAGE_PROGRESS_UPDATE = "STAGE_PROGRESS_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",
/** 结算弹窗点击"再来一次"(payload 为空,MissionComp 据此重开本关) */
RestartMission = "RestartMission",
}