国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
宁河县| 芜湖县| 贵南县| 湟中县| 高陵县| 苍山县| 北海市| 洱源县| 旬邑县| 长汀县| 章丘市| 开封县| 浏阳市| 应城市| 五莲县| 安溪县| 望奎县| 集贤县| 固安县| 博湖县| 沙坪坝区| 黄石市| 桂林市| 新建县| 农安县| 耿马| 普兰店市| 沧源| 珠海市| 万载县| 社会| 仙桃市| 留坝县| 万载县| 鹤壁市| 朝阳县| 吉安县| 察雅县| 南投县| 茂名市| 隆昌县|