五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

《SE》和 Script 的對(duì)應(yīng)關(guān)系

2022-02-14 13:49 作者:不暇自哀的秦人  | 我要投稿

游戲《太空工程師》(簡(jiǎn)稱SE)里的物品結(jié)構(gòu)和 Script 程序結(jié)構(gòu)的對(duì)應(yīng)關(guān)系。

這里有個(gè)叫 CC1 的 CargoContainer 。 暫時(shí)不去區(qū)分這個(gè) CargoContainer 是 Large, Medium 還是 Small。

SE的 CargoContainer 和其它東西的相對(duì)位置層次。

現(xiàn)在我們的目標(biāo)是:將 CargoContainers 里的 Items 的信息通過 LCD Panel 展示出來。

我們的大致思路是:東西裝在貨箱里,先去貨箱里頭找,那么貨箱在哪里,我們通過什么方法可以獲 得所有的貨箱呢?

GetBlocksOfType()方法就像一臺(tái)自動(dòng)打飯機(jī),只要將飯盒放進(jìn)打飯機(jī)的工作臺(tái)里,打飯機(jī)運(yùn)行完成后, 就將打飯機(jī)能找到的所有飯菜都放到飯盒里。這里臨時(shí)給飯盒起個(gè)名字叫 containerlist。

不過GetBlocksOfType() 這臺(tái)打飯機(jī)對(duì)裝飯的飯盒有要求,去訂購(gòu)飯盒的時(shí)候要注意,飯盒的款式是一 個(gè)列表 List<>,所以寫飯盒訂購(gòu)單的時(shí)候最起碼要這樣寫:

進(jìn)一步地,我們想要一個(gè)特定的飯盒,它只裝飯(IMyCargoContainer),不裝菜、肉等其它的東西。

在SE里頭,IMyCargoContainer 代表 CargoContainer。GetBlocksOfType() 方法是在全體 Blocks 中找出()里的所代表的類型的 Block。

containerlist 的位置

假設(shè)我們臨時(shí)獲取到了一個(gè) CargoContainer,記錄在一個(gè)叫 containertemp 的列表里頭。我 們開始去箱里找東西。

這個(gè) CargoContainer 就有點(diǎn)像個(gè)工廠,有不同的部門,我們要找東西要去 Inventory 部門, 除了 Inventory 部門外,還有其它的部門,例如要找這個(gè) CargoContainer 的名字,要去 CustomName 部門。

這個(gè) Inventory 部門也有一個(gè)像自動(dòng)打飯機(jī)一樣的東西,叫 GetItems() 的方法。所以去 Inventory 部門取東西之前,也要訂購(gòu)一個(gè)飯盒裝東西。?

containertemp 的位置

接下來我們先來遍歷箱子的列表:

最開始訂購(gòu)的飯盒是裝 IMyCargoContainer 的,所以 foreach 里 containertemp 的形式也應(yīng)當(dāng)是 IMyCargoContainer。

然后來遍歷物品列表:

去 Inventory 部門之前訂的飯盒是裝 MyInventoryItem 的,所以 foreach 里 itemtemp 的形式也應(yīng)當(dāng)是 MyInventoryItem。

最后,獲取到的某個(gè) itemtemp 就可以通過 itemtemp.Type.SubtypeId 方法獲取物品的名稱。


修改LCD的字體顏色。

方法是先建個(gè) color 的 struct,然后對(duì)結(jié)構(gòu)體里的 R,G,B,A?進(jìn)行賦值,0~255。

顯示效果


《SE》和 Script 的對(duì)應(yīng)關(guān)系的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
英超| 衡水市| 彰化县| 宁河县| 蓬安县| 福州市| 边坝县| 姚安县| 永昌县| 留坝县| 平安县| 延川县| 石泉县| 马关县| 宾川县| 贞丰县| 凌云县| 宜城市| 亳州市| 武川县| 霸州市| 宁津县| 正蓝旗| 青海省| 高州市| 乡宁县| 灵武市| 天峨县| 多伦县| 祥云县| 厦门市| 乌拉特前旗| 曲阳县| 民乐县| 民县| 永吉县| 开封县| 乳山市| 巴林右旗| 涪陵区| 仁布县|