亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

第二人生的源碼分析(七十四)LLStartUp類維護啟

系統 1891 0
像第二人生這么復雜的大型程序,從你雙擊程序開始,直到它運行到真正的圖形界面出來為止,經歷的過程是漫長而復雜的,總共經歷的狀態就有 22個,意思就是說每個狀態里只會做一件事情,如果做那件事情不成功就會運行失敗。那么第二人生采用這種狀態機有什么好處呢?在我看來采用狀態機的好處是利于把復雜的過程分解,利于把漫長的狀態提示給用戶,利于開發人員調試和分析,利于程序跳轉到不同的狀態。下面就來先看這個類的聲明代碼:
#001?class LLStartUp
#002?{
#003?public:
?
判斷是否可以全屏運行程序。
#004? ?? static bool canGoFullscreen();
#005? ?????? // returns true if we are far enough along in startup to allow
#006? ?????? // going full screen
#007?
?
設置狀態變量。
#008? ?? // Always use this to set gStartupState so changes are logged
#009? ?? static void setStartupState( S32 state );
?
獲取當前狀態變量。
#010? ?? static S32?getStartupState()?????????????? { return gStartupState;???? };
#011?
?
讓游覽器顯示 URL串的內容。
#012? ?? static bool dispatchURL();
#013? ?????? // if we have a SLURL or sim string ("Ahern/123/45") that started
#014? ?????? // the viewer, dispatch it
#015?
?
保存 SL的URL命令。
#016? ?? static std::string sSLURLCommand;
#017? ?????? // *HACK: On startup, if we were passed a secondlife://app/do/foo
#018? ?????? // command URL, store it for later processing.
#019?
#020?protected:
?
保存啟動運行狀態。
#021? ?? static S32 gStartupState;?????????? // Do not set directly, use LLStartup::setStartupState
#022?};
?
?
?
下面再來分析幾個函數的實現代碼:
#001?bool LLStartUp::canGoFullscreen()
#002?{
?
只有大于 STATE_WORLD_INIT狀態,也就是渲染第二人生時才允許全屏顯示。
#003? ?? return gStartupState >= STATE_WORLD_INIT;
#004?}
?
?
調用這個函數來保存不同時候的狀態,并且把這個狀態輸出到調試窗口,方便開發人員查找出錯的原因。
#001?// static
#002?void LLStartUp::setStartupState( S32 state )
#003?{
#004? ?? llinfos << "Startup state changing from " << gStartupState << " to " << state << llendl;
#005? ?? gStartupState = state;
#006?}

第二人生的源碼分析(七十四)LLStartUp類維護啟動狀態機


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲欧美日韩不卡一区二区三区 | 久操伊人| 色综合一区 | 手机看片精品高清国产日韩 | 国产精品国产亚洲精品看不卡 | 成 人 免 费 黄 色 | 国产一国产一级毛片视频 | 人人干人人干 | 亚洲成人网在线播放 | 欧美日韩在线视频一区 | 国产精品第三页在线看 | 伊人网综合视频 | 永久黄网站色视频免费 | 夜夜爽毛片 | 老扒夜夜春宵粗大好爽aa毛片 | 精品视频一区二区三区在线播放 | 亚洲免费一级片 | 日韩一区二区三区视频在线观看 | 中国一级全黄的免费观看 | 一本大道高清香蕉中文大在线 | 久久国产精品高清一区二区三区 | 免费黄a| 亚洲福利 影院 | 99精品视频免费在线观看 | 亚洲欧美国产毛片在线 | 国产精品11页 | 中国一级毛片在线观看 | 日日摸天天摸狠狠摸摸 | 国产www视频 | www.久久色| 久久精品亚洲99一区二区 | 国产中文字幕第一页 | 国内精品自在自线香蕉 | 日本一级毛片免费播放 | 2021国产精品久久 | 日本h片a毛片在线播放 | 免费看美女吃男生私人部位 | aaa级片 | 国产日韩欧美亚洲综合首页 | 国内特级毛片 | 亚洲二区在线视频 |