Course project of ZJU Computer Game Programming Design :)
地图组模型需求(注意衍生模型是长远需求,基础模型是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希望把“神秘格子”表现为一个放在地图上的类似宝箱的东西。
要塞警示牌 - 这地方不能呆,会致命。具体怎么表现不知道。
BUGS FIXED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
用了连老师的模型(目前只有一个:2高度的小山。所以暂时不要使用别的高度)
修改了hexCell下的altitude等,现在它们由索引器(get/set)访问,并会在修改后更新一次单元格。部分变量变成只读。
创建了一个接口文件,挂在HexMap下。外部调用地图相关操作请使用这个文件。配合对原本变量的一系列改动,现在外部调用地图的方法不再需要手动执行updateCell()。
世界坐标那俩函数还没来得及修改,暂时别用(我挖了坑。避坑提醒)
在GridInventory增加了地图索引(以两个二维数组,用六边形坐标分别索引正反地图)
增加了一个StateInventory,用来记录游戏中场景的状态。计划使用状态机决定每次鼠标点击会触发什么。
在MouseCursorCheckManager下挂载土木技能脚本。它将负责记录所有土木技能以及执行释放。(释放哪个由状态机决定)
增加了一个UI button用来触发土木技能(目前只写了一个)
增加了点击地图块在UI上显示信息
补全了生成地图块和删除地图块的函数,但是由于依赖于HexToWorldPos函数,暂时还不能用,等HexToWorldPos函数写好后就OK了
增加了几个简单的粒子系统(后续美工替换就行)
实现了动态更新粒子系统,选择元素时自动匹配。
在GridInventory加入了四种元素对应的效果引用(目前只有粒子效果)
修改了Inventory的元素列表使之符合策划案(现在有一个元素列表和一个各元素粒子列表,有一点屎)
在更新脚本加入了一个bool用来控制Update的开关(实在是黔驴技穷没办法了,只好麻烦下操作人员)。现在的操作是,打开shouleUpdate,编辑地图块,然后关闭。
增加了相机
小修了mesh的一些引用问题(更高效了废话少了)
增加了材质切换。目前只有一个默认材质。
今天把镜头移动给写了,把鼠标点击格子显示信息的框架搭出来了,我下午做一点UI,然后再写一下生成格子和销毁格子的函数
地图这块需要讨论和完善的:
需要做哪些元素反应?机制是什么呢?
棋子站在格子上的时候地图块需要做些什么?传递元素?
棋子与格子交互的时候需要做什么?特殊格子传递效果?
这一部分好像需要与人物组对接
UpdateCell函数也需要更改格子的特效与粒子系统,需要完善
另外我们的格子排布方式改变了,所以WorldPosToHexPos和HexPosToWorldPos需要修改一下,因为我不知道是怎么排布的,所以可能得你来写一下这两个函数