public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            if (this.ShaderVariableComponents != null)
            {
                this.MetaStructure.shaderVariableComponents = mb.AddItemArrayPtr(MetaName.CShaderVariableComponent, this.ShaderVariableComponents.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MCShaderVariableComponent.AddEnumAndStructureInfo(mb);

            if (this.PedPropExpressions != null)
            {
                this.MetaStructure.pedPropExpressions = mb.AddItemArrayPtr(MetaName.CPedPropExpressionData, this.PedPropExpressions.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MCPedPropExpressionData.AddEnumAndStructureInfo(mb);

            if (this.PedCompExpressions != null)
            {
                this.MetaStructure.pedCompExpressions = mb.AddItemArrayPtr(MetaName.CPedCompExpressionData, this.PedCompExpressions.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MCPedCompExpressionData.AddEnumAndStructureInfo(mb);


            MCCreatureMetaData.AddEnumAndStructureInfo(mb);

            if (isRoot)
            {
                mb.AddItem(this.MetaName, this.MetaStructure);

                this.Meta = mb.GetMeta();
            }
        }
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.pedcompID = this.PedcompID;
            this.MetaStructure.maskID    = this.MaskID;
            this.MetaStructure.shaderVariableHashString = this.ShaderVariableHashString;
            // this.MetaStructure.tracks = this.Tracks;
            // this.MetaStructure.ids = this.Ids;
            // this.MetaStructure.components = this.Components;

            MCShaderVariableComponent.AddEnumAndStructureInfo(mb);

            if (isRoot)
            {
                mb.AddItem(this.MetaName, this.MetaStructure);

                this.Meta = mb.GetMeta();
            }
        }