Beispiel #1
0
        public void LoadModel(QuakeBlock block)
        {
            Renderable gem = new GemGenerator(Color4.Red).Generate();

            gem.Position         = block.KeyVals["origin"].Value.ToVector3();
            gem.Transformability = Definition.RenderableTransformability;

            Renderables.Add(gem);
        }
Beispiel #2
0
            public void BasicParsing()
            {
                var raw = new List <string>()
                {
                    "{",
                    "( -256 512 512 ) ( -256 512 0 ) ( -256 0 512 ) TRIGGER [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1" +
                    "( -768 0 512 ) ( -768 0 0 ) ( -768 512 512 ) TRIGGER [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1" +
                    "( -256 0 512 ) ( -256 0 0 ) ( -768 0 512 ) TRIGGER [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1" +
                    "( -768 512 512 ) ( -768 512 0 ) ( -256 512 512 ) TRIGGER [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1" +
                    "( -768 512 0 ) ( -768 0 0 ) ( -256 512 0 ) TRIGGER [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1" +
                    "( -256 0 512 ) ( -768 0 512 ) ( -256 512 512 ) TRIGGER [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1",
                    "}"
                };

                var block = new QuakeBlock(raw, 0, new DefinitionDictionary());
            }
Beispiel #3
0
                public void ParseSingleBlock()
                {
                    // Test block lifted from ad_sepulcher.
                    List <string> raw = new List <string>()
                    {
                        "{",
                        "\"_minlight\" \"25\"" +
                        "\"classname\" \"func_detail_illusionary\"" +
                        "\"_phong\" \"1\"" +
                        "\"spawnflags\" \"32\"" +
                        "\"_shadow\" \"1\"",
                        "{",
                        "( -1232 -1076 32 ) ( -1232 -1074 32 ) ( -1232 -1074 -104 ) skip 0 0 0 1.000000 1.000000" +
                        "( -1280 -1084 -104 ) ( -1280 -1082 -104 ) ( -1280 -1082 32 ) skip 0 0 0 1.000000 1.000000" +
                        "( -1280 -1082 0 ) ( -1280 -1082 -136 ) ( -1232 -1074 -136 ) {vinehang2b -104 64 0 1.000000 1.000000" +
                        "( -1280 -1084 -136 ) ( -1280 -1084 0 ) ( -1232 -1076 0 ) {vinehang2b -104 64 0 1.000000 1.000000" +
                        "( -1280 -1084 0 ) ( -1280 -1082 0 ) ( -1232 -1074 0 ) skip 0 0 0 1.000000 1.000000" +
                        "( -1280 -1082 -136 ) ( -1280 -1084 -136 ) ( -1232 -1076 -136 ) skip 0 0 0 1.000000 1.000000",
                        "}",
                        "{",
                        "( -1184 -1088 -136 ) ( -1184 -1086 -136 ) ( -1232 -1074 -136 ) skip 0 0 0 1.000000 1.000000" +
                        "( -1184 -1086 0 ) ( -1184 -1088 0 ) ( -1232 -1076 0 ) skip 0 0 0 1.000000 1.000000" +
                        "( -1184 -1088 0 ) ( -1184 -1088 -136 ) ( -1232 -1076 -136 ) {vinehang2b -104 64 0 1.000000 1.000000" +
                        "( -1184 -1086 -136 ) ( -1184 -1086 0 ) ( -1232 -1074 0 ) {vinehang2b -104 64 0 1.000000 1.000000" +
                        "( -1232 -1076 -104 ) ( -1232 -1074 -104 ) ( -1232 -1074 32 ) skip 0 0 0 1.000000 1.000000" +
                        "( -1184 -1088 32 ) ( -1184 -1086 32 ) ( -1184 -1086 -104 ) skip 0 0 0 1.000000 1.000000",
                        "}",
                        "}"
                    };

                    var block = new QuakeBlock(raw, 1, new DefinitionDictionary());

                    Assert.That(block.KeyVals.Count, Is.EqualTo(5));

                    var child = block.Children[0] as QuakeBlock;

                    Assert.That(child.Solids[0].Sides[2].TextureName, Is.EqualTo("{vinehang2b"));
                    Assert.That(child.Solids[0].Sides[3].TextureName, Is.EqualTo("{vinehang2b"));
                }