概述:
从概念上理解,datablock是一个提供了重要的位置存储信息的结构,其他对象可以引用datablock且共享这些信息,典型的例子,一个datablock包含一个美术资源的文件名,当我们要在游戏世界里创建一个平面,我们通过引用这个datablock来实例化这个平面对象。当我们创建多个面板的时候,我们可以让它们共享相同的datablock,共享相同的对象模型。
概念:
当我们学习datablock时,最好区分如下四种结构。
- Datablock Class
- Object Class
- Datablock Instance
- Object Instance
datablock其实是一种特殊的对象类型。
典型的,当一类事物在游戏中创建,如飞行工具,它们是一个datablock Class和一个Object Class暴露给脚本引擎,FlyingVechicleData,FlyingVehicle。其中datablock类表现datablock一般的属性,我们可以根据这创建一个或者更多特殊的datablock实例,同样Object Class表现我们的对象。Datablock Class 和Object Class 由引擎提供,但是我们创建Datablock Object实例在脚本里面。