Skip to content

PKUMakerSpace/PKUMakerVirtualSpace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PKUMakerVirtualSpace

123


命名空间PKU.Item


ItemClass.cs

包含两个不继承MonoBehaviour的类

ItemData类, 用于记录编号为itemID的物体的详细信息. 包括物体名字, 物体描述, 物体预制体等. 在名为ItemDataList_SOScriptable Object中填写信息.

MapItem类, 用于记录场景中的物体信息. 包括物体ID, 物体位置.


ItemController类

挂载在场景中所有物体预制体的基类预制体ItemBase上. 负责单个物体的初始化, 物体的拾起等.


ItemGlobalManager类

单例模式, 调用时需要用ItemGlobalManager.Instance的写法.

可以在场景中生成物体, 负责场景中物体的初始化, 还能根据物体ID返回物体详细信息.


NetworkObjectPool对象池

挂载在NetworkObjectPool空物体下. 需要在场景中生成的预制体记得在此添加. 添加的预制体需要有NetworkObject组件.


ItemBase基类预制体

包含ItemController脚本, ItemGlobalManager在对其初始化时, 会根据itemID给它分配对象池中的一个预制体作为子物体. 例如, 如果itemID = 1001, 在ItemDataList_SO中对应的itemPrefab是一个ItemCube, 那么就从对象池中取一个ItemCube(一定也是NetworkObject)作为ItemBase的子物体.

如果要销毁ItemBase, 要先销毁ItemBase下的子物体, 让子物体先返回对象池.


PlayerPickUpItem类

挂载在Player下, 负责碰撞检测. 如果碰撞发生, 调用ItemController中的PickUpItem方法, 得到itemData详细信息.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published