Ejemplo n.º 1
0
 public static IHtmlString RenderOGP(this HtmlHelper helper,IMetaBasicOGPViewModel meta)
 {
     MetaBuilder builder=new MetaBuilder();
     builder.Add("og:title",meta.Title);
     builder.Add("og:type",meta.Type);
     builder.Add("og:description",meta.Description);
     builder.Add("og:url",meta.Url);
     builder.Add("og:site_name",meta.SiteName);
     builder.Add("twitter:card","summary");
     builder.Add("twitter:site", "@linophi");
     builder.Add("twitter:title",meta.Title);
     builder.Add("twitter:description",meta.Description);
     builder.Add("twitter:image",meta.ImageUrl);
     builder.Add("twitter:url",meta.Url);
     return helper.Raw(builder.GetAsMetaTag());
 }
Ejemplo n.º 2
0
        public void SingleColumnAliasTest()
        {
            var builder = new MetaBuilder();

            builder.LoadModel(
                "create table tb1(col1 int)",
                "create procedure blah as select col1 as c1 from tb1");
            Assert.AreEqual(1, builder.Procedures.Count());
            Assert.AreEqual("blah", builder.Procedures.First().Name);
            Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
            var columns = builder.Procedures.First().Selects.First().Columns;

            Assert.AreEqual(1, columns.Count());
            Assert.AreEqual("c1", columns.First().Name);
            Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual("Int32", columns.First().DataTypes[TypeFormat.DbTypeEnum]);
        }
Ejemplo n.º 3
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.lodDist            = this.LodDist;
            this.MetaStructure.flags              = this.Flags;
            this.MetaStructure.specialAttribute   = this.SpecialAttribute;
            this.MetaStructure.bbMin              = this.BbMin;
            this.MetaStructure.bbMax              = this.BbMax;
            this.MetaStructure.bsCentre           = this.BsCentre;
            this.MetaStructure.bsRadius           = this.BsRadius;
            this.MetaStructure.hdTextureDist      = this.HdTextureDist;
            this.MetaStructure.name               = (uint)this.Name;
            this.MetaStructure.textureDictionary  = (uint)this.TextureDictionary;
            this.MetaStructure.clipDictionary     = (uint)this.ClipDictionary;
            this.MetaStructure.drawableDictionary = (uint)this.DrawableDictionary;
            this.MetaStructure.physicsDictionary  = (uint)this.PhysicsDictionary;
            this.MetaStructure.assetType          = this.AssetType;
            this.MetaStructure.assetName          = (uint)this.AssetName;

            // Extensions
            var extPtrs = new List <MetaPOINTER>();

            /*
             * if (this.ExtensionDefLightEffects != null)
             *  this.AddMetaPointers(mb, extPtrs, MetaName.CExtensionDefLightEffect, this.ExtensionDefLightEffects.Select(e => { e.Build(mb); return e.MetaStructure; }));
             *
             * if (this.ExtensionDefSpawnPointOverrides != null)
             *  this.AddMetaPointers(mb, extPtrs, MetaName.CExtensionDefSpawnPointOverride, this.ExtensionDefSpawnPointOverrides.Select(e => { e.Build(mb); return e.MetaStructure; }));
             *
             * if (this.ExtensionDefDoors != null)
             *  this.AddMetaPointers(mb, extPtrs, MetaName.CExtensionDefDoor, this.ExtensionDefDoors.Select(e => { e.Build(mb); return e.MetaStructure; }));
             *
             * if (this.rage__PhVerletClothCustomBounds != null)
             *  this.AddMetaPointers(mb, extPtrs, MetaName.rage__phVerletClothCustomBounds, this.rage__PhVerletClothCustomBounds.Select(e => { e.Build(mb); return e.MetaStructure; }));
             */
            this.MetaStructure.extensions = mb.AddPointerArray(extPtrs.ToArray());

            MCBaseArchetypeDef.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.AddList = this.AddList;
            // this.MetaStructure.RemoveList = this.RemoveList;
            this.MetaStructure.CamPos = this.CamPos;
            this.MetaStructure.CamDir = this.CamDir;
            // this.MetaStructure.Unk_1762439591 = this.Unk_1762439591;
            this.MetaStructure.Flags = this.Flags;

            MCStreamingRequestFrame.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 5
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name           = this.Name;
            this.MetaStructure.Unk_173599222  = this.Unk_173599222;
            this.MetaStructure.Unk_2991454271 = this.Unk_2991454271;
            this.MetaStructure.Unk_3598106198 = this.Unk_3598106198;
            this.MetaStructure.Unk_2095974912 = this.Unk_2095974912;
            this.MetaStructure.Unk_672172037  = this.Unk_672172037;

            MUnk_253191135.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 6
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.Unk_860552138  = this.Unk_860552138;
            this.MetaStructure.Unk_3824598937 = this.Unk_3824598937;
            this.MetaStructure.Unk_496029782  = this.Unk_496029782;
            this.MetaStructure.Unk_3374647798 = this.Unk_3374647798;
            this.MetaStructure.Unk_2690909759 = this.Unk_2690909759;
            this.MetaStructure.Unk_3691675019 = this.Unk_3691675019;

            Mrage__spdGrid2D.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 7
0
		public override void Build(MetaBuilder mb, bool isRoot = false)
		{
			this.MetaStructure.Unk_3371516811 = this.Unk_3371516811;

            if (this.Unk_1756136273 != null)
				this.MetaStructure.Unk_1756136273 = mb.AddItemArrayPtr((MetaName) (1535046754), this.Unk_1756136273.Select(e => {e.Build(mb); return e.MetaStructure; }).ToArray());
 			MUnk_1535046754.AddEnumAndStructureInfo(mb);


            MUnk_3538495220.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();
            }
        }
Ejemplo n.º 9
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            // this.MetaStructure.TypeNames = this.TypeNames;
            // this.MetaStructure.PedModelSetNames = this.PedModelSetNames;
            // this.MetaStructure.VehicleModelSetNames = this.VehicleModelSetNames;
            // this.MetaStructure.GroupNames = this.GroupNames;
            // this.MetaStructure.InteriorNames = this.InteriorNames;
            // this.MetaStructure.RequiredIMapNames = this.RequiredIMapNames;

            MCScenarioPointLookUps.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 10
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.version    = this.Version;
            this.MetaStructure.flags      = this.Flags;
            this.MetaStructure.name       = mb.AddStringPtr(this.Name);
            this.MetaStructure.exportedBy = mb.AddStringPtr("GTAUtil");
            this.MetaStructure.owner      = mb.AddStringPtr(this.Owner);
            this.MetaStructure.time       = mb.AddStringPtr(this.Time);

            MCBlockDesc.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 11
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.inclusions   = this.Inclusions;
            this.MetaStructure.exclusions   = this.Exclusions;
            this.MetaStructure.texId        = this.TexId;
            this.MetaStructure.inclusionId  = this.InclusionId;
            this.MetaStructure.exclusionId  = this.ExclusionId;
            this.MetaStructure.distribution = this.Distribution;

            MUnk_254518642.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 12
0
 public void DoubleColumnTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(col1 int, col2 varchar(50))",
         "create procedure blah as select col1, col2 from tb1");
     Assert.AreEqual(1, builder.Procedures.Count());
     Assert.AreEqual("blah", builder.Procedures.First().Name);
     Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
     var columns = builder.Procedures.First().Selects.First().Columns;
     Assert.AreEqual(2, columns.Count());
     Assert.AreEqual("col1", columns.First().Name);
     Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual("Int32", columns.First().DataTypes[TypeFormat.DbTypeEnum]);
     Assert.AreEqual("col2", columns.ElementAt(1).Name);
     Assert.AreEqual("String", columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual("String", columns.ElementAt(1).DataTypes[TypeFormat.DbTypeEnum]);
 }
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name           = this.Name;
            this.MetaStructure.offsetPosition = this.OffsetPosition;
            this.MetaStructure.Unk_1095612811 = this.Unk_1095612811;
            this.MetaStructure.expressionName = this.ExpressionName;
            this.MetaStructure.Unk_2766477159 = this.Unk_2766477159;
            this.MetaStructure.Unk_1562817888 = this.Unk_1562817888;

            MCExtensionDefExpression.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 14
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name       = this.Name;
            this.MetaStructure.sphere     = this.Sphere;
            this.MetaStructure.percentage = this.Percentage;
            this.MetaStructure.range      = this.Range;
            this.MetaStructure.startHour  = this.StartHour;
            this.MetaStructure.endHour    = this.EndHour;

            MCMloTimeCycleModifier.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 15
0
 public void LeftJoinWithAliasesTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(id int, col1 int not null)",
         "create table tb2(tb1Id int, col2 int not null)",
         "create procedure blah as select t1.col1, t2.col2 from tb1 t1 left join tb2 t2 on t1.id = t2.tb1Id");
     Assert.AreEqual(1, builder.Procedures.Count());
     Assert.AreEqual("blah", builder.Procedures.First().Name);
     Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
     var columns = builder.Procedures.First().Selects.First().Columns;
     Assert.AreEqual(2, columns.Count());
     Assert.AreEqual("col1", columns.First().Name);
     Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual(false, columns.First().IsNullable);
     Assert.AreEqual("col2", columns.ElementAt(1).Name);
     Assert.AreEqual("Int32?", columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual(true, columns.ElementAt(1).IsNullable);
 }
Ejemplo n.º 16
0
        public static void AddEnumAndStructureInfo(MetaBuilder mb)
        {
            var enumInfos = MetaInfo.GetStructureEnumInfo(MCMapData._MetaName);

            for (int i = 0; i < enumInfos.Length; i++)
            {
                mb.AddEnumInfo((MetaName)enumInfos[i].EnumNameHash);
            }

            mb.AddStructureInfo(MCMapData._MetaName);
            mb.AddStructureInfo((MetaName)(975711773));
            mb.AddStructureInfo((MetaName)(-1553183059));
            mb.AddStructureInfo(MetaName.rage__fwInstancedMapData);
            mb.AddStructureInfo(MetaName.CTimeCycleModifier);
            mb.AddStructureInfo(MetaName.CCarGen);
            mb.AddStructureInfo(MetaName.CLODLight);
            mb.AddStructureInfo(MetaName.CDistantLODLight);
            mb.AddStructureInfo(MetaName.CBlockDesc);
        }
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.Position = this.Position;
            this.MetaStructure.NormalX  = this.NormalX;
            this.MetaStructure.NormalY  = this.NormalY;
            this.MetaStructure.Color    = this.Color;
            this.MetaStructure.Scale    = this.Scale;
            this.MetaStructure.Ao       = this.Ao;
            this.MetaStructure.Pad      = this.Pad;

            Mrage__fwGrassInstanceListDef__InstanceData.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 18
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name = this.Name;
            if (this.CollisionData != null)
            {
                this.MetaStructure.CollisionData = mb.AddItemArrayPtr((MetaName)(1701774085), this.CollisionData.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MUnk_1701774085.AddEnumAndStructureInfo(mb);


            Mrage__phVerletClothCustomBounds.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 19
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name      = this.Name;
            this.MetaStructure.locations = mb.AddUintArrayPtr(this.Locations.ToArray());

            var entPtrs = new List <MetaPOINTER>();

            this.AddMetaPointers(mb, entPtrs, MetaName.CEntityDef, this.Entities.Select(e => { e.Build(mb); return(e.MetaStructure); }));
            this.MetaStructure.entities = mb.AddPointerArray(entPtrs.ToArray());

            MCMloEntitySet.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 20
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.pedPropID              = this.PedPropID;
            this.MetaStructure.pedPropVarIndex        = this.PedPropVarIndex;
            this.MetaStructure.pedPropExpressionIndex = this.PedPropExpressionIndex;
            // this.MetaStructure.tracks = this.Tracks;
            // this.MetaStructure.ids = this.Ids;
            // this.MetaStructure.types = this.Types;
            // this.MetaStructure.components = this.Components;

            MCPedPropExpressionData.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 21
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.bmin           = this.Bmin;
            this.MetaStructure.bmax           = this.Bmax;
            this.MetaStructure.dataSize       = this.DataSize;
            this.MetaStructure.verts          = this.Verts;
            this.MetaStructure.Unk_853977995  = this.Unk_853977995;
            this.MetaStructure.Unk_2337695078 = this.Unk_2337695078;
            this.MetaStructure.flags          = this.Flags;

            MUnk_2741784237.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 22
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.VersionNumber = this.VersionNumber;
            this.Points.Build(mb);
            this.MetaStructure.Points = this.Points.MetaStructure;
            MCScenarioPointContainer.AddEnumAndStructureInfo(mb);

            if (this.EntityOverrides != null)
            {
                this.MetaStructure.EntityOverrides = mb.AddItemArrayPtr(MetaName.CScenarioEntityOverride, this.EntityOverrides.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MCScenarioEntityOverride.AddEnumAndStructureInfo(mb);

            this.Unk_3696045377.Build(mb);
            this.MetaStructure.Unk_3696045377 = this.Unk_3696045377.MetaStructure;
            MUnk_4023740759.AddEnumAndStructureInfo(mb);

            this.AccelGrid.Build(mb);
            this.MetaStructure.AccelGrid = this.AccelGrid.MetaStructure;
            Mrage__spdGrid2D.AddEnumAndStructureInfo(mb);

            // this.MetaStructure.Unk_3844724227 = this.Unk_3844724227;
            if (this.Clusters != null)
            {
                this.MetaStructure.Clusters = mb.AddItemArrayPtr(MetaName.CScenarioPointCluster, this.Clusters.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MCScenarioPointCluster.AddEnumAndStructureInfo(mb);

            this.LookUps.Build(mb);
            this.MetaStructure.LookUps = this.LookUps.MetaStructure;
            MCScenarioPointLookUps.AddEnumAndStructureInfo(mb);


            MCScenarioPointRegion.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 23
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name           = this.Name;
            this.MetaStructure.offsetPosition = this.OffsetPosition;
            this.MetaStructure.offsetRotation = this.OffsetRotation;
            this.MetaStructure.explosionName  = mb.AddStringPtr(this.ExplosionName);
            this.MetaStructure.boneTag        = this.BoneTag;
            this.MetaStructure.explosionTag   = this.ExplosionTag;
            this.MetaStructure.explosionType  = this.ExplosionType;
            this.MetaStructure.flags          = this.Flags;

            MCExtensionDefExplosionEffect.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 24
0
        public void Can_Add_Multiple_Values()
        {
            // arrange
            var builder = new MetaBuilder();
            var input   = new Dictionary <string, object> {
                { "key1", "value1" },
                { "key2", "value2" }
            };

            // act
            builder.Add(input);
            var result = builder.Build();

            // assert
            Assert.NotEmpty(result);
            foreach (var entry in input)
            {
                Assert.Equal(input[entry.Key], result[entry.Key]);
            }
        }
Ejemplo n.º 25
0
        public void DoubleColumnTest()
        {
            var builder = new MetaBuilder();

            builder.LoadModel(
                "create table tb1(col1 int, col2 varchar(50))",
                "create procedure blah as select col1, col2 from tb1");
            Assert.AreEqual(1, builder.Procedures.Count());
            Assert.AreEqual("blah", builder.Procedures.First().Name);
            Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
            var columns = builder.Procedures.First().Selects.First().Columns;

            Assert.AreEqual(2, columns.Count());
            Assert.AreEqual("col1", columns.First().Name);
            Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual("Int32", columns.First().DataTypes[TypeFormat.DbTypeEnum]);
            Assert.AreEqual("col2", columns.ElementAt(1).Name);
            Assert.AreEqual("String", columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual("String", columns.ElementAt(1).DataTypes[TypeFormat.DbTypeEnum]);
        }
Ejemplo n.º 26
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name            = this.Name;
            this.MetaStructure.offsetPosition  = this.OffsetPosition;
            this.MetaStructure.offsetRotation  = this.OffsetRotation;
            this.MetaStructure.disturbanceType = this.DisturbanceType;
            this.MetaStructure.boneTag         = this.BoneTag;
            this.MetaStructure.size            = this.Size;
            this.MetaStructure.strength        = this.Strength;
            this.MetaStructure.flags           = this.Flags;

            MCExtensionDefWindDisturbance.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 27
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.roomFrom        = this.RoomFrom;
            this.MetaStructure.roomTo          = this.RoomTo;
            this.MetaStructure.flags           = this.Flags;
            this.MetaStructure.mirrorPriority  = this.MirrorPriority;
            this.MetaStructure.opacity         = this.Opacity;
            this.MetaStructure.audioOcclusion  = this.AudioOcclusion;
            this.MetaStructure.corners         = mb.AddPaddedVector3ArrayPtr(this.Corners.Select(e => (Vector4)e).ToArray());
            this.MetaStructure.attachedObjects = mb.AddUintArrayPtr(this.AttachedObjects.ToArray());

            MCMloPortalDef.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 28
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.iCenterX = this.ICenterX;
            this.MetaStructure.iCenterY = this.ICenterY;
            this.MetaStructure.iCenterZ = this.ICenterZ;
            this.MetaStructure.iCosZ    = this.ICosZ;
            this.MetaStructure.iLength  = this.ILength;
            this.MetaStructure.iWidth   = this.IWidth;
            this.MetaStructure.iHeight  = this.IHeight;
            this.MetaStructure.iSinZ    = this.ISinZ;

            MUnk_975711773.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 29
0
        private static Array_byte TraverseRawUByteArray(XmlNode node, MetaBuilder mb)
        {
            var data = new List <byte>();

            if (node.InnerText != "")
            {
                var split = Regex.Split(node.InnerText, @"[\s\r\n\t]");

                for (int i = 0; i < split.Length; i++)
                {
                    if (!string.IsNullOrEmpty(split[i]))
                    {
                        var val = Convert.ToByte(split[i]);
                        data.Add(val);
                    }
                }
            }

            return(mb.AddByteArrayPtr(data.ToArray()));
        }
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.ImapLink         = this.ImapLink;
            this.MetaStructure.PropInstanceList = new Array_Structure();
            if (this.GrassInstanceList != null)
            {
                this.MetaStructure.GrassInstanceList = mb.AddItemArrayPtr(MetaName.rage__fwGrassInstanceListDef, this.GrassInstanceList.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            Mrage__fwGrassInstanceListDef.AddEnumAndStructureInfo(mb);


            Mrage__fwInstancedMapData.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 31
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.name             = this.Name;
            this.MetaStructure.offsetPosition   = this.OffsetPosition;
            this.MetaStructure.enableLimitAngle = this.EnableLimitAngle;
            this.MetaStructure.startsLocked     = this.StartsLocked;
            this.MetaStructure.canBreak         = this.CanBreak;
            this.MetaStructure.limitAngle       = this.LimitAngle;
            this.MetaStructure.doorTargetRatio  = this.DoorTargetRatio;
            this.MetaStructure.audioHash        = this.AudioHash;

            MCExtensionDefDoor.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 32
0
        public override void Build(MetaBuilder mb, bool isRoot = false)
        {
            this.MetaStructure.Unk_1235281004 = this.Unk_1235281004;
            this.MetaStructure.Unk_4086467184 = this.Unk_4086467184;
            this.MetaStructure.Unk_911147899  = this.Unk_911147899;
            this.MetaStructure.Unk_315291935  = this.Unk_315291935;
            this.MetaStructure.Unk_2996560424 = this.Unk_2996560424;

            if (this.Unk_3796409423 != null)
            {
                this.MetaStructure.Unk_3796409423 = mb.AddItemArrayPtr((MetaName)(-756472076), this.Unk_3796409423.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MUnk_3538495220.AddEnumAndStructureInfo(mb);

            if (this.Unk_2131007641 != null)
            {
                this.MetaStructure.Unk_2131007641 = mb.AddItemArrayPtr((MetaName)(253191135), this.Unk_2131007641.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MUnk_253191135.AddEnumAndStructureInfo(mb);

            if (this.CompInfos != null)
            {
                this.MetaStructure.compInfos = mb.AddItemArrayPtr(MetaName.CComponentInfo, this.CompInfos.Select(e => { e.Build(mb); return(e.MetaStructure); }).ToArray());
            }
            MCComponentInfo.AddEnumAndStructureInfo(mb);

            this.PropInfo.Build(mb);
            this.MetaStructure.propInfo = this.PropInfo.MetaStructure;
            MUnk_2858946626.AddEnumAndStructureInfo(mb);

            this.MetaStructure.dlcName = this.DlcName;

            MUnk_376833625.AddEnumAndStructureInfo(mb);

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

                this.Meta = mb.GetMeta();
            }
        }
Ejemplo n.º 33
0
        public void RightJoinTest()
        {
            var builder = new MetaBuilder();

            builder.LoadModel(
                "create table tb1(id int, col1 int not null)",
                "create table tb2(tb1Id int, col2 int not null)",
                "create procedure blah as select col1, col2 from tb1 right join tb2 on tb1.id = tb2.tb1Id");
            Assert.AreEqual(1, builder.Procedures.Count());
            Assert.AreEqual("blah", builder.Procedures.First().Name);
            Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
            var columns = builder.Procedures.First().Selects.First().Columns;

            Assert.AreEqual(2, columns.Count());
            Assert.AreEqual("col1", columns.First().Name);
            Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual(true, columns.First().IsNullable);
            Assert.AreEqual("col2", columns.ElementAt(1).Name);
            Assert.AreEqual("Int32?", columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual(false, columns.ElementAt(1).IsNullable);
        }
Ejemplo n.º 34
0
 public void LeftJoinToInnerJoinSetTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(id int, col1 int not null)",
         "create table tb2(id int, col2 int not null)",
         "create table tb3(id int, col3 int not null)",
         "create procedure blah as select col1, col2, col3 from tb1 left join tb2 join tb3 on tb2.id = tb3.id on tb1.id = tb2.id");
     Assert.AreEqual(1, builder.Procedures.Count());
     Assert.AreEqual("blah", builder.Procedures.First().Name);
     Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
     var columns = builder.Procedures.First().Selects.First().Columns;
     Assert.AreEqual(3, columns.Count());
     Assert.AreEqual("col1", columns.First().Name);
     Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual(false, columns.First().IsNullable);
     Assert.AreEqual("col2", columns.ElementAt(1).Name);
     Assert.AreEqual("Int32?", columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual(true, columns.ElementAt(1).IsNullable);
     Assert.AreEqual("col3", columns.ElementAt(2).Name);
     Assert.AreEqual("Int32?", columns.ElementAt(2).DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual(true, columns.ElementAt(2).IsNullable);
 }
Ejemplo n.º 35
0
 public void MultipleTableTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(id int, col1 int)",
         "create table tb2(tb1Id int, col1 varchar(50))",
         "create procedure blah as select tb1.col1, tb2.col1 as col2 from tb1 join tb2 on tb1.id = tb2.tb1Id");
     Assert.AreEqual(1, builder.Procedures.Count());
     Assert.AreEqual("blah", builder.Procedures.First().Name);
     Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
     var columns = builder.Procedures.First().Selects.First().Columns;
     Assert.AreEqual(2, columns.Count());
     Assert.AreEqual("col1", columns.First().Name);
     Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual("Int32", columns.First().DataTypes[TypeFormat.DbTypeEnum]);
     Assert.AreEqual("col2", columns.ElementAt(1).Name);
     Assert.AreEqual("String", columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual("String", columns.ElementAt(1).DataTypes[TypeFormat.DbTypeEnum]);
 }
Ejemplo n.º 36
0
        public void PrimaryForeignKeyTest()
        {
            var builder = new MetaBuilder();
            builder.LoadModel(
                @"create table dbo.tb1(id int identity(1,1) not null,
                  CONSTRAINT [PK_id] PRIMARY KEY CLUSTERED ([id] ASC))",
                @"create table dbo.tb2(id int identity(1,1) not null, tb1Id int not null,
                  CONSTRAINT [PK_id] PRIMARY KEY CLUSTERED ([id] ASC),
                  CONSTRAINT [FK_tb2_tb1] FOREIGN KEY ([tb1Id]) REFERENCES [dbo].[tb1] ([id]))");
            Assert.AreEqual(2, builder.Tables.Count());
            Assert.AreEqual("tb1", builder.Tables.First().Name);

            Assert.AreEqual(1, builder.Tables.First().Columns.Count());
            Assert.AreEqual(true, builder.Tables.First().Columns.First().IsPrimaryKey);
            Assert.AreEqual(false, builder.Tables.First().Columns.First().IsForeignKey);
            Assert.AreEqual(0, builder.Tables.First().Columns.First().ParentRelationships.Count());
            Assert.AreEqual(1, builder.Tables.First().Columns.First().ChildRelationships.Count());
            Assert.AreEqual(null, builder.Tables.First().Columns.First().ChildRelationships.First().Database);
            Assert.AreEqual("dbo", builder.Tables.First().Columns.First().ChildRelationships.First().Schema);
            Assert.AreEqual("tb2", builder.Tables.First().Columns.First().ChildRelationships.First().TableOrView);
            Assert.AreEqual("tb1Id", builder.Tables.First().Columns.First().ChildRelationships.First().Columns.First());

            Assert.AreEqual(2, builder.Tables.ElementAt(1).Columns.Count());
            Assert.AreEqual(true, builder.Tables.ElementAt(1).Columns.First().IsPrimaryKey);
            Assert.AreEqual(false, builder.Tables.ElementAt(1).Columns.First().IsForeignKey);
            Assert.AreEqual(false, builder.Tables.ElementAt(1).Columns.ElementAt(1).IsPrimaryKey);
            Assert.AreEqual(true, builder.Tables.ElementAt(1).Columns.ElementAt(1).IsForeignKey);
            Assert.AreEqual(0, builder.Tables.ElementAt(1).Columns.First().ParentRelationships.Count());
            Assert.AreEqual(0, builder.Tables.ElementAt(1).Columns.First().ChildRelationships.Count());
            Assert.AreEqual(1, builder.Tables.ElementAt(1).Columns.ElementAt(1).ParentRelationships.Count());
            Assert.AreEqual(0, builder.Tables.ElementAt(1).Columns.ElementAt(1).ChildRelationships.Count());
            Assert.AreEqual(null, builder.Tables.ElementAt(1).Columns.ElementAt(1).ParentRelationships.First().Database);
            Assert.AreEqual("dbo", builder.Tables.ElementAt(1).Columns.ElementAt(1).ParentRelationships.First().Schema);
            Assert.AreEqual("tb1", builder.Tables.ElementAt(1).Columns.ElementAt(1).ParentRelationships.First().TableOrView);
            Assert.AreEqual("id", builder.Tables.ElementAt(1).Columns.ElementAt(1).ParentRelationships.First().Columns.First());
        }
Ejemplo n.º 37
0
 public void SingleFunctionCallTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(col1 int)",
         "create procedure blah as insert into tb1 (col1) values (3) select cast(scope_identity() as float)");
     Assert.AreEqual(1, builder.Procedures.Count());
     Assert.AreEqual("blah", builder.Procedures.First().Name);
     Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
     Assert.AreEqual(1, builder.Procedures.First().Selects.First().Columns.Count());
 }
Ejemplo n.º 38
0
 public void SingleVariableTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(id int identity(1,1), col1 int)",
         "create procedure blah as insert into tb1 (col1) values (3) declare @id int = scope_identity() select @id");
     Assert.AreEqual(1, builder.Procedures.Count());
     Assert.AreEqual("blah", builder.Procedures.First().Name);
     Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
     Assert.AreEqual(1, builder.Procedures.First().Selects.First().Columns.Count());
     Assert.AreEqual("id", builder.Procedures.First().Selects.First().Columns.First().Name);
     Assert.AreEqual("Object", builder.Procedures.First().Selects.First().Columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual(true, builder.Procedures.First().Selects.First().Columns.First().IsNullable);
 }
Ejemplo n.º 39
0
        public void TableTest()
        {
            var builder = new MetaBuilder();
            builder.LoadModel("create table tb1(col1 int not null identity(1,1), col2 varchar(50) null, col3 decimal(5,3))");

            Assert.AreEqual(1, builder.Tables.Count());
            Assert.AreEqual("tb1", builder.Tables.First().Name);
            var columns = builder.Tables.First().Columns;
            Assert.AreEqual(3, columns.Count());

            Assert.AreEqual("col1", columns.First().Name);
            Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual(true, columns.First().IsIdentity);
            Assert.AreEqual(false, columns.First().IsNullable);
            Assert.AreEqual(0, columns.First().Length);
            Assert.AreEqual(0, columns.First().Precision);
            Assert.AreEqual(0, columns.First().Scale);

            Assert.AreEqual("col2", columns.ElementAt(1).Name);
            Assert.AreEqual("String", columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual(false, columns.ElementAt(1).IsIdentity);
            Assert.AreEqual(true, columns.ElementAt(1).IsNullable);
            Assert.AreEqual(50, columns.ElementAt(1).Length);
            Assert.AreEqual(0, columns.ElementAt(1).Precision);
            Assert.AreEqual(0, columns.ElementAt(1).Scale);

            Assert.AreEqual("col3", columns.ElementAt(2).Name);
            Assert.AreEqual("Decimal?", columns.ElementAt(2).DataTypes[TypeFormat.DotNetFrameworkType]);
            Assert.AreEqual(false, columns.ElementAt(2).IsIdentity);
            Assert.AreEqual(true, columns.ElementAt(2).IsNullable);
            Assert.AreEqual(0, columns.ElementAt(2).Length);
            Assert.AreEqual(5, columns.ElementAt(2).Precision);
            Assert.AreEqual(3, columns.ElementAt(2).Scale);
        }
Ejemplo n.º 40
0
 public void TableValueTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create type tbInput as table(id int not null, col1 int null)",
         "create procedure blah (@tbInput tbInput READONLY) as select col1 from @tbInput");
     Assert.AreEqual(1, builder.Procedures.Count());
     var proc = builder.Procedures.First();
     Assert.AreEqual("blah", proc.Name);
     Assert.AreEqual(1, proc.Parameters.Count());
     var param = proc.Parameters.First();
     Assert.AreEqual("tbInput", param.Name);
     Assert.AreEqual(false, param.IsOutput);
     Assert.AreEqual(null, param.DataTypes);
     Assert.AreEqual("tbInput", param.TableValue.Name);
     Assert.AreEqual(2, param.TableValue.Columns.Count());
     Assert.AreEqual("id", param.TableValue.Columns.First().Name);
     Assert.AreEqual(false, param.TableValue.Columns.First().IsIdentity);
     Assert.AreEqual(false, param.TableValue.Columns.First().IsNullable);
     Assert.AreEqual("Int32?", param.TableValue.Columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual("col1", param.TableValue.Columns.ElementAt(1).Name);
     Assert.AreEqual(false, param.TableValue.Columns.ElementAt(1).IsIdentity);
     Assert.AreEqual(true, param.TableValue.Columns.ElementAt(1).IsNullable);
     Assert.AreEqual("Int32?", param.TableValue.Columns.ElementAt(1).DataTypes[TypeFormat.DotNetFrameworkType]);
 }
Ejemplo n.º 41
0
 public void SingleRowTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(col1 int)",
         "create procedure blah as select top 1 col1 from tb1");
     Assert.AreEqual(1, builder.Procedures.Count());
     Assert.AreEqual("blah", builder.Procedures.First().Name);
     Assert.AreEqual(1, builder.Procedures.First().Selects.Count());
     var columns = builder.Procedures.First().Selects.First().Columns;
     Assert.AreEqual(1, columns.Count());
     Assert.AreEqual("col1", columns.First().Name);
     Assert.AreEqual("Int32?", columns.First().DataTypes[TypeFormat.DotNetFrameworkType]);
     Assert.AreEqual("Int32", columns.First().DataTypes[TypeFormat.DbTypeEnum]);
     Assert.AreEqual(true, builder.Procedures.First().Selects.First().IsSingleRow);
 }
Ejemplo n.º 42
0
 public void UnionSelectTest()
 {
     var builder = new MetaBuilder();
     builder.LoadModel(
         "create table tb1(id1 int, col1 varchar(50))",
         "create table tb2(id2 int, col2 varchar(50))",
         "create table tb3(id3 int, col3 varchar(50))",
         "create procedure blah as select id1, col1 from tb1 union select id2, col2 from tb2 union select id3, col3 from tb3");
     Assert.AreEqual(1, builder.Procedures.Count());
     var proc = builder.Procedures.First();
     Assert.AreEqual("blah", proc.Name);
     Assert.AreEqual(0, proc.Parameters.Count());
     Assert.AreEqual(1, proc.Selects.Count());
     var select = proc.Selects.First();
     Assert.AreEqual(2, select.Columns.Count());
     Assert.AreEqual("id1", select.Columns.First().Name);
     Assert.AreEqual("col1", select.Columns.ElementAt(1).Name);
 }