大江湖-分析篇-文件说明
系列 - 大江湖分析
目录
分析篇-文件说明
摘要
本文对游戏实现涉及的主要代码和资源文件进行说明,游戏的项目结构整体较为简单,
UI
/代码框架等均基于 Unity
原生,没有使用第三方的框架进行开发
源码
所有源码都在 Assets\Scripts\Assemble-CSharp
目录,按不同模块进行分类说明
UI 模块
UI
界面绑定的控制类
文件名称 | 用途 |
---|---|
CGPlayerController.cs | 播放 CG 动画 |
CreditController.cs | 关于界面 |
CurcorController.cs | 控制鼠标形状 |
ItemDetailController.cs | 物品详情界面 |
KongFuDetailController.cs | 武功详情界面 |
LevelUpController.cs | 角色升级详情界面 |
LevelUpSkillController.cs | 技能升级详情界面 |
LoadController.cs | 读取存档界面 |
LoadingController.cs | 界面加载 |
LoanController.cs | 当铺界面 |
Menu2Controller.cs | 篝火类菜单界面 |
Menu3Controller.cs | Walk 菜单 |
PackageController.cs | 背包类 |
RedeemController.cs | 当铺赎回界面 |
SaveController.cs | 存档界面 |
SelectFromTeamController.cs | 邀请组队 |
SelectorController.cs | 选择 |
ShopController.cs | 商店界面 |
Starter1Controller.cs | 创建人物-选择性别界面 |
Starter2Controller.cs | 创建人物-选择身世 界面 |
Starter3Controller.cs | 创建人物-选择人物属性 界面 |
Status1Controller.cs | 人物信息界面 |
Status2Controller.cs | 武功列表界面 |
Status3Controller.cs | 武功修炼界面 |
Status4Controller.cs | 好友关系界面 |
StatusMainController.cs | 菜单主界面 |
StatusSub1.cs | 角色属性子界面 |
StatusSub2.cs | 角色天赋技能子界面 |
StatusSub3.cs | 角色江湖特性子界面 |
StatusSub4.cs | 角色装备界面 |
StatusSub5.cs | 武功界面 |
StatusSub6.cs | 人物传记界面 |
StatusSub7.cs | 背包界面 |
TitleController.cs | 开始游戏界面 |
地图类
这部分源码负责展示地图展示、事件触发等逻辑
文件名称 | 用途 |
---|---|
EffectController.cs | 地图物品动画特效,绑定到每一个 spine 动画 prefab 上 |
EventController.cs | 事件触发 |
FollowController.cs | 队友自动跟随主角 |
MapController.cs | 地图控制类 |
OhNpcController.cs | NPC 角色控制类 |
OhPlayerController.cs | 主角角色控制类 |
战斗模块
这部分源码负责所有战斗相关的逻辑
文件名称 | 用途 |
---|---|
AtomData.cs | 工具类,计算战斗时对应属性的值 |
AttackData.cs | 工具类,计算技能攻击范围 |
BattleController.cs | 战斗核心逻辑 |
BattleObject.cs | 存放了战斗时战局状态 |
BeforeBattleController.cs | UI,战斗开始前选择角色的 UI 类 |
BeforeTeamController.cs | UI,战斗开始前选择角色的 UI 类 |
BuffController.cs | 播放 buff 特效,绑定到每一个 buff 类 spine 动画 prefab 上 |
BuffData.cs | 记录 buff 的名称/值/回合数 |
FlashBannerController.cs | UI,展示角色技能 |
MenuController | UI,战斗菜单 |
数据类
包含配置表数据和游戏运行过程中保存在内存中的数据,详细的配置表信息可以参考分析篇-配置表
文件名称 | 用途 |
---|---|
ConfigData.cs | 存放所有存档列表 |
CharaData.cs | 存放角色所有相关信息 |
GameData.cs | 存档信息类 |
GameDataManager.cs | 存档管理类 |
gang_a01Table.cs | 配置表-属性 |
gang_a02Table.cs | 配置表-身世 |
gang_a05Table.cs | 配置表-等级 |
gang_b01Table.cs | 配置表-NPC |
gang_b02Table.cs | 配置表-装备 |
gang_b03Table.cs | 配置表-武功 |
gang_b04Table.cs | 配置表-战斗 NPC |
gang_b06Table.cs | 配置表-江湖特性 |
gang_b07Table.cs | 配置表-物品 |
gang_b08Table.cs | 配置表-商店物品 |
gang_b09Table.cs | 配置表-商店 NPC 名称 |
gang_c01Table.cs | 配置表-事件物品 |
gang_c02Table.cs | 配置表-物品好感度 |
gang_c03Table.cs | 配置表-悬赏 |
gang_e01Table.cs | 分析篇-配置表 / 事件表 |
gang_e02Table.cs | 配置表-对话 |
gang_e03Table.cs | 配置表-坟墓 |
gang_e04Table.cs | 配置表-地图名称 |
KongFuData.cs | 武功数据类 |
SharedData.cs | 公共数据类 |
公共类
封装了一些核心类
文件名称 | 用途 |
---|---|
EventTriggerListener.cs | 封装事件触发 |
GDragEventDispatcher.cs | 封装拖动事件 |
HoverController.cs | 封装鼠标移入移出事件 |
TableCodeGen.cs | 生成配置表代码 |
UICameraController.cs | UICamera |
XmlSaver.cs | 存档数据 xml 加解密类 |
CsvParser.cs | 工具类,解析数据表 csv 数据 |
CsvParser2.cs | 工具类,解析数据表 csv 数据 |
手柄类
这部分包含手柄控制相关逻辑,目前并未用上
文件名称 | 用途 |
---|---|
AxisOptions.cs | 枚举类 |
DynamicJoystick.cs | 虚拟手柄 |
FixedJoystick.cs | |
FloatingJoystick.cs | |
Joystick.cs | |
JoystickPlayerExample.cs | |
JoystickSetterExample.cs | |
JoystickType.cs | |
VariableJoystick.cs |
场景
场景切换流程
- 场景切换流程
@startuml
component Title[
标题界面
Scenes\OverHead\Title.unity
TitleController.cs
]
component Starter1[
选择性别界面
Scenes\OverHead\Starter1.unity
Starter1Controller.cs
]
component Starter2[
选择江湖出身界面
Scenes\OverHead\Starter2.unity
Starter2Controller.cs
]
component Starter3[
选择江湖属性界面
Scenes\OverHead\Starter3.unity
Starter3Controller.cs
]
component CGPlayer[
CG界面
Scenes\OverHead\CGPlayer.unity
CGPlayerController.cs
]
component DataLoad[
读档界面
Scenes\OverHead\DataLoad.unity
LoadController.cs
]
component Credit[
关于界面
Scenes\OverHead\Credit.unity
Credit.cs
]
component FieldYTFM[
地图 - 杨太傅庙
Scenes\Demo01\Field\Field_YangTaiFuMiao.unity
MapController.cs
]
component StatusMain[
江湖志
Scenes\OverHead\StatusMain.unity
StatusMainController.cs
]
component DataSave[
存档
Scenes\OverHead\DataSave.unity
SaveController.cs
]
component Battle[
战斗地图 - 杨太傅庙
Scenes\Battle\BattleField-yangtaifumiao-shinei.unity
BattleController.cs
]
Title --> Starter1 : 开始游戏
Title --> DataLoad: 读取存档
Title --> Credit: 关于
Starter1 --> Starter2
Starter2 --> Starter3
Starter3 --> CGPlayer
CGPlayer--> FieldYTFM
DataLoad--> FieldYTFM
FieldYTFM--> StatusMain: 点击江湖志
FieldYTFM--> DataSave: 篝火存档
FieldYTFM--> Battle: 触发战斗
@enduml
- 江湖志切换流程
@startuml
left to right direction
component StatusMain[
江湖志
Scenes\OverHead\StatusMain.unity
StatusMainController.cs
]
component StatusSub1[
属性
Scenes\OverHead\StatusSub1.unity
StatusSub1.cs
]
component StatusSub2[
天赋技能
Scenes\OverHead\StatusSub2.unity
StatusSub2.cs
]
component StatusSub3[
特性
Scenes\OverHead\StatusSub3.unity
StatusSub3.cs
]
component StatusSub4[
装备
Scenes\OverHead\StatusSub4.unity
StatusSub4.cs
]
component StatusSub5[
武功
Scenes\OverHead\StatusSub5.unity
StatusSub5.cs
]
component StatusSub6[
人物传记
Scenes\OverHead\StatusSub6.unity
StatusSub6.cs
]
component StatusSub7[
背包
Scenes\OverHead\StatusSub7.unity
StatusSub7.cs
]
StatusMain --> StatusSub1 : 点击属性
StatusMain --> StatusSub2 : 点击天赋技能
StatusMain --> StatusSub3 : 点击特性
StatusMain --> StatusSub4 : 点击装备
StatusMain --> StatusSub5 : 点击武功
StatusMain --> StatusSub6 : 点击人物传记
StatusMain --> StatusSub7 : 点击背包
@enduml
场景说明
所有场景文件均在 Scene/Scenes
目录
- 大地图场景:
Demo01\Map
目录 - 场景地图:
Demo01\Field
目录 - 战斗地图:
Battle
- UI 类场景:
文件名称 用途 BeforeBattle.unity 战斗开始前选择角色 BeforeTeam.unity 战斗开始前选择 Team DataLoad.unity 读取存档界面 DataSave.unity 存档界面 CGPlayer.unity 播放 CG 动画 Credit.unity 关于界面 InitLoading.unity 初始化 loading 界面 Item.unity 物品详情界面 KongFu.unity 武功详情界面 LevelUp.unity 角色升级详情界面 LevelUpSkill.unity 技能升级详情界面 Loading.unity 界面加载 Package.unity 背包类 SelectFromTeam.unity 邀请组队 Shop.unity 商店界面 Starter1.unity 创建人物-选择性别界面 Starter2.unity 创建人物-选择身世 界面 Starter3.unity 创建人物-选择人物属性 界面 StatusMain.unity 菜单主界面 StatusSub1.unity 角色状态子界面 StatusSub2.unity 角色属性子界面 StatusSub3.unity 角色江湖特性子界面 StatusSub4.unity 武功信息界面 StatusSub5.unity 武功学习界面 StatusSub6.unity 角色身世界面 StatusSub7.unity 物品详情界面 Title.unity 开始游戏界面
资源
资源文件目录
Resources
目录 | 说明 |
---|---|
datas | 配置表 csv 格式数据 |
images | UI 相关图标 |
music | 音乐 bgm |
prefabs/battllemenu | 战斗菜单 |
prefabs/buff | 战斗 buff 特效 |
prefabs/character | 角色 |
prefabs/damage | 角色伤害特效 |
prefabs/effect | 物品特效/技能特效 |
prefabs/field | UI |
prefabs/shop | 商店 UI |
TextAsset
存放了所有 spine
动画的 atlas
文件,如 0224-cave-fire.atlas.bytes
Texure2D
主要包含以下几种类型的图片
- 部分
UI
相关图片,如login.png
spine
动画的图片,如Assets\Texture2D\0224-cave-fire.png
-
tile map
地图图片,如Assets\Texture2D\Atlas_stage-104-jiangxiadu_1.png