zoukankan      html  css  js  c++  java
  • Torque2D MIT 学习笔记(11) 资源管理(3)

    资源引用

      资源系统主要处理的是那些被叫做"Declared"资源,这个术语也可以理解为资源的申报,即存在于磁盘上的资源定义文件.

      当资源系统发现了一个资源定义文件便等于发现了一个"Declared"资源.

      "Declared"资源只不过是工作的一部分,一个明显的原因就是有了资源你必须能使用它们.当你使用一个资源的时候,你将它的资源编号赋予了对象实例,这些对象又保存在了TAML文件中,比如场景或者其他的对象集合.

      不管TAML的内容是什么,总有很多的对象对保存这些资源的编号.

      一个好的资源系统,不仅能够承担起维护"Declared"资源数据库的责任,允许你通过各种方式使用它们,还要能够支持用户例如资源重命名和删除的操作.

      当你重命名一个被好几个地方引用的资源会发生什么?你如果执行了重命名操作,其他几个引用到这个资源的地方马上会因为找不到资源而操作无效.最坏的情况,就是在这些文件重新加载的时候,控制台会发出警告,提示资源找不到了.

      但幸运的是,Torque的资源系统被设计的能够在资源发生改变的时候,负责更新所有这个资源相关的引用.

      资源系统能够做到这点是因为它能够扫描TAML文件中的引用资产.当发现这些引用资产的时候,他会保存这些保存到数据库中,而这时,你如果重命名一个资源,资源系统就能自动的更新相关的引用资源.

      要想让资源系统做到这一点,你必须告诉它要扫描那些文件,逐个扫描每个文件的代价太大,所以需要一种新的策略,这个策略就是在模块定义文件中指定资源位置,用"ReferencedAsset"类型代替"DeclaredAsset".如下:  

    <ModuleDefinition
        ModuleId="TruckToy"
        VersionId="1"
        Description="A monster truck toy."
        Dependencies="ToyAssets=1"
        Type="toy"
        ToyCategoryIndex="5"
        ScriptFile="main.cs"
        CreateFunction="create"
        DestroyFunction="destroy">
            <ReferencedAssets
                Path="levels"
                Extension="level.taml"
                Recurse="true"/>		
    </ModuleDefinition>
    

      待续...

  • 相关阅读:
    分享一下用终端的命令来恢复丢失的硬盘分区表 (转)
    Smart Link
    underrun || overrun
    mtr命令详解诊断网络路由
    tracert traceroute
    OE1、OE2、ON1、ON2路由有什么区别?
    GRE tunnel 2
    【SAP HANA】新建账户和数据库(2)
    【SAP HANA】SAP HANA开篇(1)
    入职一周
  • 原文地址:https://www.cnblogs.com/KevinYuen/p/2941937.html
Copyright © 2011-2022 走看看