二、基本API解讀 城市:天際線,MOD製作教程 MOD源碼解析及開發指南
二、基本API解讀
官方給出了一個基本的API文檔。但是。。真的是太基本了,基本什麼也做不了。但是給的這些API又確實非常基礎,無論你做什麼MOD,這幾個API還確實是很常用的。所以還是要大體上説一下的。
1、IUserMod
最簡單,最常用的interface,沒有之一。就是定義MOD的名稱和描述。基本沒其他作用。
代碼:
using ICities;
namespace SuperBigTransport
{
public class Mod : IUserMod
{
public const int unit_number = 16;
public string Name
{
get
{
return "【SB】超級客運"+ unit_number * 5 + "人版 | SuperBigTransport "+ unit_number * 5;
}
}
public string Description
{
get
{
return "公交車容量改為"+ unit_number * 5 + ",火車改為" + unit_number * 5 * 8+ ",地鐵改為" + unit_number * 5 * 6;
}
}
}
}
要注意的是namespace的定義。有些同學説我的mod怎麼衝突了,其實就是這個namespace重名了。所以,不同的mod必須要起不同的namespace,即使類名不同也不行。所以推薦跟你的mod名稱對應。
其他應該很簡單吧。。。我覺得好像沒什麼要解釋的。。。unit_number這個問題我後面再説。
2、LoadingExtensionBase
這個抽象類是在遊戲存檔加載時生效的(包括新建遊戲)。
4個方法,create、release是單例創建和銷燬時觸發的,這個貌似很少用
比較常用的是load和unload方法,就是存檔加載和退出時的方法。
看代碼:
using System;
using System.Collections.Generic;
using ColossalFramework;
using ICities;
using UObject = UnityEngine.Object;
namespace SuperBigTransport
{
public class LoadingExtension : LoadingExtensionBase
{
public override void OnLevelLoaded(LoadMode mode)
{//遊戲加載開始。
ForEachPrefab((VehicleInfo i) =>//在讀取所有車輛信息時,對每一個車輛信息進行處理。主意這裏不是每一輛車,是每一類車,注意是Info類
{
ReplaceVehicleAI
ReplaceVehicleAI
});
//遊戲加載結束
}
static void ReplaceVehicleAI
where TOldAI : VehicleAI
where TNewAI : VehicleAI, IAIReplacement
{
var oldAI = i.gameObject.GetComponent
if (oldAI == null)
return;
i.gameObject.AddComponent
var newAI = i.gameObject.GetComponent
newAI.CopyFrom(oldAI);//AI也有屬性,如果要替換,必須把原有的屬性也全部對拷,否則就會出現各種奇怪的情況
i.m_vehicleAI = newAI;
UObject.Destroy(oldAI);
newAI.InitializeAI();
}
static void ForEachPrefab
{
for (var i = 0u; i < PrefabCollection
f(PrefabCollection
}
}
interface IAIReplacement
{
void CopyFrom(T ai);
}
}
3、ThreadingExtensionBase
這個類其實也還算是常用的,就是在遊戲畫面(frame)每次刷新時,觸發的地方。只是在公交增容這個mod裏我沒用到。需要注意的是,這個類中的update()方法,觸發的頻率非常高,不要試圖在這個方法裏做很複雜的事情,基本判斷個bool值,或者是算個簡單地數字就好了,指望這裏進行復雜的對象操作,或者是打印日誌什麼的,只有一個下場,就是遊戲永遠處於加載狀態,cpu飆升。
一般如果你要做界面什麼的,才會用到這個類。
到這裏基本結束。剩下的幾個官方接口,我覺得都是很好理解的,沒什麼要特別説的了,而且公交增容這個mod也沒用到。我覺得一般大家看看也就能理解了。
所以呢,大家會感覺到,啊?這就是官方接口?怎麼沒見你寫什麼代碼來讓公交增容啊?恩,就是這樣的,所以我才説,官方給的API,基本什麼也做不了。
-
雪鬼獸 怪物獵人崛起全怪物圖鑑 怪物肉質弱點及屬性掉落一覽
23、雪鬼獸①雪鬼獸肉質/抗性②雪鬼獸異常狀態效果...
-
天狗獸 怪物獵人崛起全怪物圖鑑 怪物肉質弱點及屬性掉落一覽
12、天狗獸①天狗獸肉質/抗性②天狗獸異常狀態效果...
-
上手指南:出貨 符文工房4特別版攻略 新增內容詳解及系統玩法指南
上手指南:出貨農作物成熟之後,靠近按Z鍵進行收穫,拿取之後可以收入包中,或者放入左側的出貨箱裏。出貨箱會在每天早上8點自動出售裏面的所有物品,調查可查看出貨額。除了農作物,也可以手動將任意道具放入出貨箱中出售。前期的一般賺錢方式就是出貨,一般是出農作物,有錢...
-
流程試玩解析(一) 符文工房4特別版攻略 新增內容詳解及系統玩法指南
流程試玩解析(一)遊戲開始後的第一個選項,將會影響主角的性別。選【我】為男性,選【人家】為女性。主角在飛船送貨過程中被襲擊,按R打開物品欄,按Z選中闊劍,再按Z裝備。按方向鍵或WASD移動,X鍵攻擊,消滅敵人。劇情中的某些對話選項不影響後續,隨意選均可。主角被敲暈醒來...
相關文章
- 魔法門之英雄無敵7 基本mod製作教程 MOD製作指南
- MOD教程:MOD製作圖文教程 坎巴拉太空計劃詳細攻略教程 系統解析祕籍MOD大全
- 城市:天際線 地圖MOD 免費解鎖全部區域數量MOD
- 城市:天際線 建築MOD製作方法圖文教程 MOD怎麼製作
- 城市:天際線,破解版使用STEAM正版MOD方法圖文教程
- 三、進階篇 城市:天際線,MOD製作教程 MOD源碼解析及開發指南
- 城市:天際線 MOD製作教程 MOD源碼解析及開發指南
- 一、角色特性:Adam Palomino(機車男) 13號星期五:遊戲版 圖文攻略 玩法教程及試玩解析
- 四:其他 城市:天際線,MOD製作教程 MOD源碼解析及開發指南
- 城市天際線mod放哪裏,mod超詳細安裝指南