/Burgerkrieg-Gott-Fantasie

Course project of ZJU Computer Game Programming Design :)

Primary LanguageC#

Burgerkrieg-Gott-Fantasie

Course project of ZJU Computer Game Programming Design :)

RequirementDoc

models for map

地图组模型需求(注意衍生模型是长远需求,基础模型是demo展示需求):

地图块模型:八种基础地块,如果若干个相同地块相邻,两者模型可能会产生自适应变化

    0 - 平原(demo需求) -> 平原暂时不需要衍生模型
    
    1 - 丘陵(demo需求) -> 丘陵暂时不需要衍生模型。备注:突出其崎岖难行,所以只有侦察兵能走
    
    2 - 小山(demo需求) -> 与其它小山相邻会形成山脉。衍生模型包括:1边有相邻、2间边有相邻、2对边有相邻
    
    3 - 山峰(demo需求) -> 与其它山峰相邻会形成山脊。衍生模型包括:1边有相邻、2间边有相邻、2对边有相邻
    
    4 - 破洞(demo需求) -> 破洞不需要衍生模型
    
   -1 - 坑洼(demo需求) -> 坑洼暂时不需要衍生模型。备注:它不是湖!可能和有些旱地的沼泽更接近。突出其崎岖
   
   -2 - 盆地(demo需求) -> 盆地会与任意数量盆地相连.....衍生模型共有12种
   
   -3 - 山谷(demo需求) -> 山谷基础格子就表现为一长条横穿单元格,可与相邻山谷相连。衍生模型只需要:2间边相邻、2邻边相邻

地图挂件需求:

    神秘格子宝箱 - gtz希望把“神秘格子”表现为一个放在地图上的类似宝箱的东西。
    
    要塞警示牌 - 这地方不能呆,会致命。具体怎么表现不知道。

Versions

version 2022.11.22.1 yyz&gtz

BUGS FIXED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

version 2022.11.21.1 gtz

用了连老师的模型(目前只有一个:2高度的小山。所以暂时不要使用别的高度)

修改了hexCell下的altitude等,现在它们由索引器(get/set)访问,并会在修改后更新一次单元格。部分变量变成只读。

创建了一个接口文件,挂在HexMap下。外部调用地图相关操作请使用这个文件。配合对原本变量的一系列改动,现在外部调用地图的方法不再需要手动执行updateCell()。

世界坐标那俩函数还没来得及修改,暂时别用(我挖了坑。避坑提醒)

在GridInventory增加了地图索引(以两个二维数组,用六边形坐标分别索引正反地图)

增加了一个StateInventory,用来记录游戏中场景的状态。计划使用状态机决定每次鼠标点击会触发什么。

在MouseCursorCheckManager下挂载土木技能脚本。它将负责记录所有土木技能以及执行释放。(释放哪个由状态机决定)

增加了一个UI button用来触发土木技能(目前只写了一个)

version 2022.11.12.2 latest edit: yyz

增加了点击地图块在UI上显示信息

补全了生成地图块和删除地图块的函数,但是由于依赖于HexToWorldPos函数,暂时还不能用,等HexToWorldPos函数写好后就OK了

version 2022.11.12 latest edit: gtz

增加了几个简单的粒子系统(后续美工替换就行)

实现了动态更新粒子系统,选择元素时自动匹配。

在GridInventory加入了四种元素对应的效果引用(目前只有粒子效果)

修改了Inventory的元素列表使之符合策划案(现在有一个元素列表和一个各元素粒子列表,有一点屎)

在更新脚本加入了一个bool用来控制Update的开关(实在是黔驴技穷没办法了,只好麻烦下操作人员)。现在的操作是,打开shouleUpdate,编辑地图块,然后关闭。

version 2022.11.12.1 latest edit: yyz

增加了相机

version 2022.11.11 latest edit: gtz

小修了mesh的一些引用问题(更高效了废话少了)

增加了材质切换。目前只有一个默认材质。

version 2022.11.10.2, latest edit: yyz

今天把镜头移动给写了,把鼠标点击格子显示信息的框架搭出来了,我下午做一点UI,然后再写一下生成格子和销毁格子的函数

地图这块需要讨论和完善的:

需要做哪些元素反应?机制是什么呢?

棋子站在格子上的时候地图块需要做些什么?传递元素?
棋子与格子交互的时候需要做什么?特殊格子传递效果?
这一部分好像需要与人物组对接

UpdateCell函数也需要更改格子的特效与粒子系统,需要完善

另外我们的格子排布方式改变了,所以WorldPosToHexPos和HexPosToWorldPos需要修改一下,因为我不知道是怎么排布的,所以可能得你来写一下这两个函数