大江湖-分析篇-文件说明

分析篇-文件说明

摘要
​​​本文对游戏实现涉及的主要代码和资源文件进行说明,游戏的项目结构整体较为简单,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.csWalk 菜单
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.csNPC 角色控制类
OhPlayerController.cs主角角色控制类

战斗模块

这部分源码负责所有战斗相关的逻辑

文件名称用途
AtomData.cs工具类,计算战斗时对应属性的值
AttackData.cs工具类,计算技能攻击范围
BattleController.cs战斗核心逻辑
BattleObject.cs存放了战斗时战局状态
BeforeBattleController.csUI,战斗开始前选择角色的 UI 类
BeforeTeamController.csUI,战斗开始前选择角色的 UI 类
BuffController.cs播放 buff 特效,绑定到每一个 buff 类 spine 动画 prefab 上
BuffData.cs记录 buff 的名称/值/回合数
FlashBannerController.csUI,展示角色技能
MenuControllerUI,战斗菜单

数据类

包含配置表数据和游戏运行过程中保存在内存中的数据,详细的配置表信息可以参考分析篇-配置表

文件名称用途
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.csUICamera
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 格式数据
imagesUI 相关图标
music音乐 bgm
prefabs/battllemenu战斗菜单
prefabs/buff战斗 buff 特效
prefabs/character角色
prefabs/damage角色伤害特效
prefabs/effect物品特效/技能特效
prefabs/fieldUI
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

0%