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

前面介绍中说到启动状态有22种,那么这些状态是什么呢?现在就来分析这些状态,它的定义如下:
#001enum 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 深圳

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭