「ScriptComponentBehaviour」修訂間的差異
(创建页面,内容为“[https://docs.bannerlordmodding.com/_csharp-api/engine/scriptcomponentbehaviour.html <big>访问源文档</big>]<br> 骑马与砍杀2:霸主 MOD API|<big>返回…”) |
小 (已保护“ScriptComponentBehaviour”([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期))) |
(無差異)
|
於 2020年4月24日 (五) 23:46 的最新修訂
訪問源文檔
返回目錄
ScriptComponentBehaviours 可以用來做任何事,比如風車動畫、創建一個自定義武器的生成點,甚至是攻城器械。
一個 ScriptComponentBehaviours 的基本示例就是 TaleWorlds.MountAndBlade.dll 中的 LumberJack 類:
public class Lumberjack : ScriptComponentBehaviour { private bool _initialized; protected internal override void OnTick(float dt) { base.OnTick(dt); if (!this._initialized) { this._initialized = true; base.GameEntity.CreateSimpleSkeleton("human_skeleton"); base.GameEntity.CopyComponentsToSkeleton(); base.GameEntity.Skeleton.SetAnimationAtChannel("lumberjack", 0, 1f, -1f, 0f); MetaMesh copy = MetaMesh.GetCopy("peasent_hatchet", true, false); base.GameEntity.AddMultiMeshToSkeletonBone(copy, 27); } } }
註:在這裡複寫 OnInit() 比 OnTick() 更好,由於 TaleWorlds 是這樣寫的,所以這個例子暫時保持原樣。
可能的原因:Meshes 在OnInit中不能夠進行編輯設置等操作,你必須要等待至少一個Tick,否則遊戲會崩潰。