第八章 游戏中的数据(Data in Game)
在之前的章节中,我们进行地图对象的生成,移动等操作。
这一章本来可以进行战斗的编写,不过数据缺失是一个问题。
所以这一章我们先来建立一些数据,以及如何编辑它们,是否需要生成配置文件等。
文章目录
八 修改与测试(Fix and Test)
我们之前很多使用数据的地方都留了空,或者压根就没有写。
这里我们将补完一些,并且进行一下测试。
1 修改MapClass
(Fix MapClass
)
在MapClass
中,我们存在Role
(之前使用的是object
)。
private Role m_Role;
public Role role
{
get {
return m_Role; }
}
我们还需要读取角色,修改Load
函数:
/// <summary>
/// 读取信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public virtual bool Load(int id, RoleType roleType)
{
RoleModel model = ModelManager.models.Get<RoleModel>();
m_Role = model.GetOrCreateRole(id, roleType);
return m_Role != null;
}
2 修改MapGraph
(Fix MapGraph
)
在MapGraph
中,我们在寻路函数public bool SearchMoveRange(MapClass cls, bool nAtk, out IEnumerable<CellData> moveCells, out IEnumerable<CellData> atkCells)
(第七章 - 八 - 3中编写)中使用了角色职业的数据,而且之前的方法有一些小错误,这里修改一下。
/// <summary>
/// 搜寻移动范围与攻击范围
/// </summary>
/// <param name="cls"></param>
/// <param name="nAtk">是否包含攻击范围</param>
/// <param name="moveCells"></param>
/// <param name="atkCells"></param>
/// <returns></returns>
public bool SearchMoveRange(
MapClass cls,
bool nAtk,
out IEnumerable<CellData> moveCells,