切换深浅主题
玩法快捷键与 GM
负责 CubeLand 正式玩法的开发快捷键及 GM 测试条件设置。常用说法:GM、改时间、跨天测试、改关卡、跳关、S 胜利、D 一键清除、F 失败、胜利之前、增加炮位。
使用与排查
- 编辑器运行时,Game 视图获得焦点后:S 胜利、D 仅保留剩余数量最少的一种颜色、F 失败、A 增加炮位、R 洗牌。D 数量并列取较小颜色 ID;D/A/R 不消耗道具。
- GM 入口由
Runtime/App/UI/UIHome/HelperEnter.cs打开HelperPanel;GM宏控制面板,LevelFunc.Item.cs的HelperFunc声明由面板反射生成关卡按钮。 - 快捷键统一由
CubeLandGameController.Helper.cs处理,仅在UNITY_EDITOR下监听;GM 面板打开、输入框选中或按住 Ctrl/Cmd/Alt 时不触发。 - 入场、暂停、关卡结束或道具选择/过渡期间拒绝操作并输出原因。S/F 与 GM 按钮统一修改
LevelSession,再经WonEvent/FailedEvent进入原有结算及复活流程。 - D 从
LevelSession.Helper.cs排查棋盘、队列、双色炮及生成器的一致性;视图通过现有状态事件刷新,保留目标的在途炮弹继续结算。
边界
时间入口:
Features/Helper/Script/OptionFunc/OptionFunc.Time.cs的DayOffset/HourOffset/MinuteOffset写入同名PlayerPrefs,由Runtime/App/LogicModules/BaseModules/TimeModule/UtcTimeManager/UTCTimeManager.cs的CurDateTime/CurTimeStamp消费。TimeScale只修改Time.timeScale,跨天/活动日期测试应使用时间偏移并核对CurUTCTime及业务刷新。关卡入口:
LevelFunc.Item.cs的CurLv输入玩家关卡号 N,内部写UserModel.Level = N - 1并更新EventLevel;从正常入口重新进关,确认实际加载内容。AI 运行实测优先复用上述 GM;测试前记录原值,涉及进度、奖励或跨天结算时使用可恢复测试存档。测试后恢复本次时间偏移、PlayerPrefs key 原有状态、时间倍率及关卡/活动进度,保留用户原有设置;退出 Play Mode 不会清除时间偏移。GM 强制胜负不等于自然胜负条件已验证。
正式地图使用
GamePlayMap.CubeController;旧GamePlayMap.Controller为 Worker 兼容入口,不用于 CubeLand GM。胜利经
WonEvent进入GamePlayManager.OnGameSuccess();关卡增长、活动及装饰结算、体力标记处理后立即保存当前整份存档,再进入胜利转场及广告。GM 胜利应复用该结算入口;SaveNoteData()是操作记录,不负责玩家进度落盘。金币、体力和道具数量仍由
Features/Helper/Script/OptionFunc/OptionFunc.Item.cs接入ItemModel;修改当前关卡数字只更新玩家进度,下次加载才使用新值。规则层不依赖 UI、经济或 SGame;关联模块为
gameplay。