WECHAT

扫码添加微信

YoungFan 微信二维码
← 返回 《Steal An Egg》UE5
Steal An Egg 项目组织概览 封面
开发笔记已归档

Steal An Egg 项目组织概览

项目早期的结构与命名规则

UE5多人游戏C++
查看 GitHub

项目模块方案

第一阶段只建立两个模块:

Source/
├─ StealAnEgg/       # 客户端和 DS 共用的玩法
└─ StealAnEggUI/     # 只用于客户端和编辑器的 UI

依赖方向必须保持:

StealAnEggUI ─────→ StealAnEgg ─────→ UE Runtime Modules

StealAnEgg 不能依赖 StealAnEggUI。这样 DS 可以只编译共享玩法,而不加载 UMG 等客户端 UI。

主玩法模块目录

Source/StealAnEgg/
├─ StealAnEgg.Build.cs
├─ StealAnEgg.h
├─ Core/
├─ GameFramework/
├─ Player/
├─ Inventory/
├─ Items/
├─ Interaction/
├─ Eggs/
├─ Pets/
├─ AI/
├─ World/
│  ├─ SafeZone/
│  ├─ Territories/
│  ├─ Refresh/
│  ├─ PlayerPlots/
│  ├─ Pens/
│  ├─ Treadmills/
│  └─ Shops/
└─ Online/

UI 模块目录

Source/StealAnEggUI/
├─ StealAnEggUI.Build.cs
├─ StealAnEggUI.h
├─ HUD/
├─ Quickbar/
├─ Pen/
├─ Shop/
├─ Frontend/
└─ ViewModels/

上面目录随时有可能变动,不代表最终项目结构。

命名约定

项目统一使用 SAE 作为 C++ 类型前缀的一部分:

类型 示例
Actor ASAEEggActor
UObject USAEEggDefinition
Struct FSAEQuickbarSlot
Enum ESAEWorldPhase
Interface ISAEInteractable

文件名与主要类型一致:

SAEQuickbarComponent.h
SAEQuickbarComponent.cpp

资产命名

资产 前缀
Blueprint BP_
Widget Blueprint WBP_
Data Asset DA_
Data Table DT_
Animation Blueprint ABP_
Behavior Tree BT_
Blackboard BB_
Material M_
Material Instance MI_
Texture T_

C++ 与 Blueprint 的边界

C++ 负责:

  • 网络权威规则。
  • 状态机。
  • 快捷栏和物品事务。
  • 拾蛋、掉落和安全区结算。
  • 世界刷新。
  • 持久化数据转换。
  • 可复用组件和基础类。

Blueprint 负责:

  • 具体动物和宠物资产组合。
  • 动画、音效和特效。
  • 关卡槽位配置。
  • Widget 布局。
  • 低风险表现逻辑。
  • 基于 C++ 接口的内容配置。

不要只在 Blueprint 中实现决定金币、出售、孵化结果或蛋归属的逻辑。

Discussion

留言讨论

无需注册账号
正在加载留言区…

发表留言时,评论服务会记录必要的 IP 与 User-Agent 信息,用于安全审核和防止滥用。