ScriptComponentBehaviour

從 骑砍中文百科
於 2020年4月24日 (五) 23:46 由 Notealot對話 | 貢獻 所做的修訂 (已保护“ScriptComponentBehaviour”([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期)))
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳到: 導覽搜尋

訪問源文檔
返回目錄

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,否則遊戲會崩潰。