fallingshrimp
|
b8031d31d9
|
feat(游戏启动): 添加火山武器资源并实现单人游戏玩家名称设置
添加火山武器的纹理资源文件及其导入配置
在单人游戏启动时设置玩家名称到MultiplayerState
|
2025-11-15 17:03:15 +08:00 |
|
fallingshrimp
|
d8fafcf52a
|
fix(多人游戏): 修复玩家实体与UI状态同步问题
修复多人游戏中玩家实体与UI状态不同步的问题,现在当玩家名称匹配时会自动设置UIState.player
移除单机游戏中重复设置UIState.player的代码
为WorldManager添加对象解析功能以支持多人游戏中的对象传输
|
2025-11-15 07:33:06 +08:00 |
|
fallingshrimp
|
427ca484d1
|
refactor(网络同步): 重构实体同步逻辑和玩家生成流程
- 将EntityBase的health改为@export变量以便同步
- 添加MultiplayerSynchronizer节点处理网络同步
- 修改Wave.next()方法处理EncodedObjectAsID类型
- 添加findPlayer方法通过名称查找玩家
- 调整玩家生成流程,确保UIState.player正确设置
|
2025-11-14 22:44:26 +08:00 |
|
fallingshrimp
|
12191f4233
|
refactor(wave): 重构波次生成逻辑以支持多人游戏
将波次生成逻辑拆分为数据准备和实体生成两个阶段,便于多人游戏同步
修改 Wave 类以支持实例数据复制
更新相关调用点使用新的波次生成方式
|
2025-11-13 22:39:36 +08:00 |
|
fallingshrimp
|
8ed0837c9d
|
feat(多人游戏): 实现多人游戏状态同步和单机/多人模式切换
添加多人游戏状态管理,包括连接状态和玩家名称同步
修改WorldManager和EntityBase以支持多人游戏逻辑
在Starter面板中实现单机和多人游戏启动功能
|
2025-11-13 22:23:39 +08:00 |
|
fallingshrimp
|
bdc9201dba
|
feat(多人游戏): 添加玩家名称存储并优化多人游戏逻辑
在MultiplayerState中添加playerName静态变量用于存储玩家名称
修改Starter.gd中的startMultiplayerGame方法,保存玩家名称到MultiplayerState
优化EntityBase.gd的AI逻辑,仅当玩家名称匹配时才执行AI
移除不再需要的多人游戏同步方法
|
2025-11-11 22:23:36 +08:00 |
|
fallingshrimp
|
40923cdd42
|
fix(多人游戏): 修复多人游戏启动权限问题
将startMultiplayerGame的RPC权限从"authority"改为"any_peer",并添加本地调用
确保所有客户端都能正确触发游戏开始
|
2025-11-11 22:18:54 +08:00 |
|
fallingshrimp
|
cc37b0e011
|
feat(多人游戏): 实现多人游戏开始功能
添加服务器端RPC方法startMultiplayerGame,用于生成所有玩家实体并开始游戏
将开始按钮连接到RPC调用
|
2025-11-11 22:17:33 +08:00 |
|
fallingshrimp
|
ebe1c4d8b3
|
refactor(Starter): 重命名按钮变量并调整多人游戏逻辑
将单机游戏开始按钮变量名从startBtn改为startSingleplayerBtn以提高可读性
调整多人游戏按钮禁用逻辑,仅服务器可点击开始按钮
默认隐藏玩家列表,仅在连接成功后显示
|
2025-11-11 22:16:40 +08:00 |
|
fallingshrimp
|
0bf2a76718
|
fix(多人游戏): 修复玩家名称冲突问题并重构加入逻辑
将玩家加入逻辑拆分为两个函数,joinPlayer处理玩家加入,mutexPlayer处理名称冲突检测。当检测到重复名称时自动生成唯一名称。同时确保名称变更后再次检查冲突。
|
2025-11-11 22:13:45 +08:00 |
|
fallingshrimp
|
46f5adf467
|
feat(状态机): 添加历史记录栈功能用于玩家名称输入
实现玩家名称输入的历史记录功能,使用新添加的Reference和Composables类来管理历史记录栈。当玩家修改名称时,自动更新历史记录并处理名称冲突。
修改Starter面板以使用新功能,包括名称冲突时的自动重命名和通过RPC同步名称更改。
|
2025-11-10 22:51:03 +08:00 |
|
fallingshrimp
|
30d50b2fd9
|
feat(多人游戏): 完善玩家列表同步功能
添加玩家加入/离开时的同步逻辑,重构玩家列表更新方式
- 新增玩家加入和离开的RPC方法
- 使用rebuildAllPlayers统一更新玩家列表
- 调整UI面板的可见性控制
|
2025-11-09 22:37:47 +08:00 |
|
fallingshrimp
|
9e78e01f08
|
feat(多人游戏): 添加玩家列表管理功能
- 实现玩家加入时自动添加到列表
- 添加玩家名称修改同步功能
- 重构UI结构以支持玩家列表显示
|
2025-11-09 17:29:57 +08:00 |
|
fallingshrimp
|
79bc956b71
|
feat(多人游戏): 实现基础多人游戏功能
- 添加玩家位置同步功能
- 实现服务器和客户端连接管理
- 添加玩家名称输入和生成逻辑
- 完善多人游戏UI界面
- 移除单机模式下的预设玩家角色
|
2025-11-09 17:00:39 +08:00 |
|
fallingshrimp
|
c28d725d3e
|
feat(多人游戏): 添加连接状态检查和断开连接功能
- 在MultiplayerState中添加isConnected方法检查连接状态
- 修改launchServer和connectClient方法以更新连接状态
- 在Starter面板中添加断开连接按钮并实现状态同步
- 更新UI显示连接状态和颜色
|
2025-11-09 15:24:24 +08:00 |
|
fallingshrimp
|
00c56484f4
|
feat: 为MultiplayerState添加@tool注解并更新状态显示格式
为MultiplayerState类添加@tool注解以支持编辑器功能
在Starter面板中为连接状态文本添加"状态:"前缀
|
2025-11-09 15:20:54 +08:00 |
|
fallingshrimp
|
d4e5a11e3d
|
feat(多人游戏): 添加多人游戏状态管理和服务器配置功能
- 新增 MultiplayerState 类管理连接状态和服务器操作
- 在 Starter 面板中添加服务器配置和状态显示
- 实现服务器启动和最大玩家数设置功能
|
2025-11-09 15:19:21 +08:00 |
|
fallingshrimp
|
8ece2a60a5
|
fix: 修复实体伤害计算和物品掉落逻辑
调整实体伤害倍数的计算公式,使用平方根来平衡增长曲线
修正物品掉落数量计算,考虑难度范围的影响
修复boss掉落和玩家死亡面板的代码缩进问题
|
2025-11-09 11:34:46 +08:00 |
|
fallingshrimp
|
5efa92f5df
|
feat(多人游戏): 添加多人游戏功能及相关UI组件
- 在WorldManager中初始化ENetMultiplayerPeer
- 移除EntityBase中冗余的peer初始化
- 添加多人游戏面板及相关输入控件
- 更新难度显示格式为范围表示
- 为主题添加LineEdit字体大小设置
|
2025-11-05 22:29:11 +08:00 |
|
fallingshrimp
|
3171c39915
|
feat(UI): 添加游戏开始界面和难度选择功能
实现游戏开始界面,包含难度选择滑块和开始按钮
修改游戏规则初始难度为10并调整掉落物品数量计算
添加游戏开始条件检查,确保运行时间超过3秒且没有敌人时显示制作饲料界面
|
2025-09-12 22:08:55 +08:00 |
|