第二人生的源码分析(七十五)启动状态详细说明

前面介绍中说到启动状态有22种,那么这些状态是什么呢?现在就来分析这些状态,它的定义如下:
#001 enum EStartupState{
#002    STATE_FIRST,                    // Initial startup
启动开始状态。
 
#003    STATE_MEDIA_INIT,               // Initialzie media library
初始化访问媒介组件,比如创建音乐播放。
 
#004    STATE_LOGIN_SHOW,               // Show login screen
显示登录对话框窗口。
 
#005    STATE_LOGIN_WAIT,               // Wait for user input at login screen
等待用户输入用户名称和密码。
 
#006    STATE_LOGIN_CLEANUP,            // Get rid of login screen and start login
用户登录验证用户服务器。
 
#007    STATE_UPDATE_CHECK,             // Wait for user at a dialog box (updates, term-of-service, etc)
等待更新。
 
#008    STATE_LOGIN_AUTH_INIT,          // Start login to SL servers
开始进行用户验证。
 
#009    STATE_LOGIN_AUTHENTICATE,       // Do authentication voodoo
发送用户验证。
 
#010    STATE_LOGIN_NO_DATA_YET,        // Waiting for authentication replies to start
等待验证服务器返回是否登录成功的数据。
 
#011    STATE_LOGIN_DOWNLOADING,        // Waiting for authentication replies to download
继续下载登录的数据。
 
#012    STATE_LOGIN_PROCESS_RESPONSE,   // Check authentication reply
处理登录验证服务器返回的数据。
 
#013    STATE_WORLD_INIT,               // Start building the world
登录服务器成功后,就开始创建游戏世界。
 
#014    STATE_SEED_GRANTED_WAIT,        // Wait for seed cap grant
发送到SIM seed服务器的兼容性测试。
 
#015    STATE_SEED_CAP_GRANTED,         // Have seed cap grant
处理SEED服务器返回数据。
 
#016    STATE_WORLD_WAIT,               // Waiting for simulator
等待SIM服务器返回数据。
 
#017    STATE_AGENT_SEND,               // Connect to a region
代理类连接到一个区域服务器。
 
#018    STATE_AGENT_WAIT,               // Wait for region
等待连接区域服务器。
 
#019    STATE_INVENTORY_SEND,           // Do inventory transfer
获取自己的所有物品清单。
 
#020    STATE_MISC,                     // Do more things (set bandwidth, start audio, save location, etc)
设置带宽,开始下载音乐,保存登录的位置等等。
 
#021    STATE_PRECACHE,                 // Wait a bit for textures to download
开始纹理图片下载。
 
#022    STATE_WEARABLES_WAIT,           // Wait for clothing to download
开始下载衣服纹理图片。
 
#023    STATE_CLEANUP,                  // Final cleanup
清空所有登录过程状态,已经登录成功了。
 
#024    STATE_STARTED                   // Up and running in-world
开始进入渲染游戏画面。
 
#025 };
#026 
 
通过上面22种状态的处理,才进入游戏的渲染状态,才可以控制里面的人物行走。因此这段代码也是非常长的,刚刚这个函数就有2000多行代码。
 
 

蔡军生  2008/5/29 QQ:9073204 深圳

 
posted @ 2008-05-29 20:22  ajuanabc  阅读(164)  评论(0编辑  收藏  举报