最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
沛县| 临漳县| 湘潭市| 辛集市| 鞍山市| 克东县| 砀山县| 梅河口市| 儋州市| 凤庆县| 博罗县| 梅河口市| 文山县| 五大连池市| 明光市| 绥芬河市| 德惠市| 西城区| 武山县| 阿克陶县| 荥经县| 信阳市| 来凤县| 安远县| 太和县| 衡阳市| 义乌市| 广西| 建水县| 清丰县| 色达县| 上栗县| 平泉县| 垫江县| 安溪县| 永靖县| 新竹市| 贵溪市| 黔南| 乐平市| 洛扎县|