Virtual start

来自MudWiki

名称

   virtual_start - 虚拟对象的"create()"方法

语法

   void virtual_start();

描述

   在虚拟对象被创建后,驱动程序会调用这个方法来触发附加的初始化。注意和create()的区别:create()是针对被虚拟的对象初始化,virtual_start()是针对虚拟后的对象初始化。

示例

MASTER_OB中的虚拟对象路由compile_object()代码:

mixed compile_object(string file)
{
    return new("/temp/virtual.c");
}

虚拟对象文件temp/virtual.c代码:

void create()
{
    debug_message("create " + this_object());
}

void virtual_start()
{
    debug_message("virtual_start " + this_object());
}

载入一个不存在的对象new("/test/ob"), debug的结果:

   create /temp/virtual
   create /temp/virtual#110
   virtual_start /test/ob
   create /temp/virtual#111
   virtual_start /test/ob#112

参考

   create(4)