22 lines
1.6 KiB
Markdown
22 lines
1.6 KiB
Markdown
|
|
### 疑问
|
||
|
|
- addressable场景有什么作用?
|
||
|
|
- 什么是字典?
|
||
|
|
- 场景激活有什么作用?
|
||
|
|
- Enum.Parse是什么?有什么作用?
|
||
|
|
### 过程
|
||
|
|
这节课其实是2节内容,第一节内容是设置每个地图,第二个内容是设置房间的随机类型.
|
||
|
|
我们房间的随机类型的实现过程如下:
|
||
|
|
|
||
|
|
首先我们每一列都储存在mapBluePrints列表当中,每个列表成员有当前列表可包含的所有房类型,我们要做的就是从当前列可以允许的类型当中随机出来一个类型赋值給我们的房间.
|
||
|
|
|
||
|
|
这样做首先暴露出来的问题是,我们随机一个类型,类型是一个代号,他并不包含数据,我们包含数据的成员是我们的RoomDataSO,所以我们要让这两者产生联系,通过字典的键值对.每一个RoomType都要和他的值RoomData相联系.
|
||
|
|
|
||
|
|
我们建立一个RoomDataSo类型的列表,将所有的房间RoomData都放进去,然后通过foreach语句一一连接.
|
||
|
|
|
||
|
|
做好了上一步之后,我们只需要在当前列的类型范围当中,随机一个类型,通过字典获得roomdata,通过room的setup函数设置类型和图标.
|
||
|
|
|
||
|
|
我们如何在当前列中随机一个房间类型?
|
||
|
|
|
||
|
|
我们的房间类型是可以多选的,所以我们可以将他转换为字符串,然后通过字符串切割成多个字符串,存入一个数组当中,然后在数组中随机选择一个索引值,得到一个随机的字符串,通过Enum.Parse函数,将字符串转换为enum类型的值.
|
||
|
|
|
||
|
|
通过这个随机的roomtpye,连接字典得到这个类型的roomdata,将这个roomdata传入setup函数就可以实现随机地图的产生.
|