Esempio n. 1
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new ExponentialHeightFogComponent(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseResourceReference(node.FindAttributeValue("Archetype")),
                ValueUtil.ParseVector3(node.FindPropertyValue("RelativeLocation")),
                ValueUtil.ParseRotator(node.FindPropertyValue("RelativeRotation")),
                ValueUtil.ParseVector3(node.FindPropertyValue("RelativeScale3D") ?? "(X=1.0,Y=1.0,Z=1.0)"),
                children,
                ValueUtil.ParseMobility(node.FindPropertyValue("Mobility")),
                ValueUtil.ParseFloat(node.FindPropertyValue("FogDensity") ?? "0.02"),
                ValueUtil.ParseFloat(node.FindPropertyValue("FogHeightFalloff") ?? "0.2"),
                ValueUtil.ParseVector4(node.FindPropertyValue("FogInscatteringColor") ?? "(R=0.447,G=0.638,B=1.0,A=1.0)"),
                ValueUtil.ParseResourceReference(node.FindPropertyValue("InscatteringColorCubemap")),
                ValueUtil.ParseFloat(node.FindPropertyValue("InscatteringColorCubemapAngle")),
                ValueUtil.ParseVector4(node.FindPropertyValue("InscatteringTextureTint") ?? "(R=1.354348,G=1.0,B=1.0,A=1.0)"),
                ValueUtil.ParseFloat(node.FindPropertyValue("FullyDirectionalInscatteringColorDistance") ?? "670857.125"),
                ValueUtil.ParseFloat(node.FindPropertyValue("FogMaxOpacity") ?? "1.0"),
                ValueUtil.ParseFloat(node.FindPropertyValue("StartDistance")),
                ValueUtil.ParseFloat(node.FindPropertyValue("FogCutoffDistance")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("bEnableVolumetricFog")),
                ValueUtil.ParseFloat(node.FindPropertyValue("VolumetricFogScatteringDistribution") ?? "0.2"),
                ValueUtil.ParseVector4(node.FindPropertyValue("VolumetricFogAlbedo") ?? "(R=255,G=255,B=255,A=255)"),
                ValueUtil.ParseVector4(node.FindPropertyValue("VolumetricFogEmissive")),
                ValueUtil.ParseFloat(node.FindPropertyValue("VolumetricFogExtinctionScale") ?? "1.0"),
                ValueUtil.ParseFloat(node.FindPropertyValue("VolumetricFogDistance") ?? "6000.0"),
                ValueUtil.ParseFloat(node.FindPropertyValue("VolumetricFogStaticLightingScatteringIntensity") ?? "1.0"),
                ValueUtil.ParseBoolean(node.FindPropertyValue("bOverrideLightColorsWithFogInscatteringColors"))
                ));
 }
Esempio n. 2
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionVertexColor(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY"))
                ));
 }
Esempio n. 3
0
 protected Dialog(ParsedNode scene)
 {
     Scene          = scene;
     Root.Tag       = DialogTag;
     Root.Updating += Tasks.Update;
     Root.Updating += Update;
     ApplyLocalization();
 }
Esempio n. 4
0
        public DocumentProcessorResult <T> Convert(ParsedDocument document)
        {
            ParsedNode             rootNode = document.RootNode;
            DocumentProcessorState state    = new DocumentProcessorState();
            T convertedRootNode             = ProcessNode(rootNode, state) as T;

            return(new DocumentProcessorResult <T>(convertedRootNode, state.Problems));
        }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionNormalize(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("VectorInput"))
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionWorldPosition(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseWorldPositionIncludedOffsets(node.FindPropertyValue("WorldPositionIncludedOffsets"))
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionTextureObject(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseResourceReference(node.FindPropertyValue("Texture")),
                ValueUtil.ParseSamplerType(node.FindPropertyValue("SamplerType"))
                ));
 }
Esempio n. 8
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionVectorParameter(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                node.FindPropertyValue("ParameterName") ?? "Param",
                ValueUtil.ParseVector4(node.FindPropertyValue("DefaultValue"))
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionSine(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Input")),
                ValueUtil.ParseFloat(node.FindPropertyValue("Period") ?? "1.0")
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionTransform(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Input")),
                ValueUtil.ParseMaterialVectorCoordTransformSource(node.FindPropertyValue("TransformSourceType")),
                ValueUtil.ParseMaterialVectorCoordTransform(node.FindPropertyValue("TransformType"))
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionDesaturation(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("bCollapsed")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Input")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Fraction"))
                ));
 }
Esempio n. 12
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionSceneDepth(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseMaterialSceneAttributeInputMode(node.FindPropertyValue("InputMode")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Input")),
                ValueUtil.ParseVector2(node.FindPropertyValue("ConstInput"))
                ));
 }
Esempio n. 13
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionSceneTexture(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Coordinates")),
                ValueUtil.ParseSceneTextureId(node.FindPropertyValue("SceneTextureId")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("bFiltered"))
                ));
 }
Esempio n. 14
0
            private ParsedNode RecreateChilds()
            {
                ParsedNode node = null;

                for (var n = this.Child; n != null; n = n.Prev)
                {
                    node = n.Recreate(node);
                }

                return(node);
            }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionStaticSwitchParameter(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                node.FindPropertyValue("ParameterName") ?? "Param",
                ValueUtil.ParseBoolean(node.FindPropertyValue("DefaultValue")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("A")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("B"))
                ));
 }
        public override Node Convert(ParsedNode node, Node[] children)
        {
            ParsedProperty expressionList = node.FindProperty("Expressions");

            return(new MaterialInstance(
                       node.FindAttributeValue("Name"),
                       children,
                       ValueUtil.ParseAttributeListArray(node.FindProperty("ScalarParameterValues")?.Elements),
                       ValueUtil.ParseAttributeListArray(node.FindProperty("TextureParameterValues")?.Elements),
                       ValueUtil.ParseAttributeListArray(node.FindProperty("VectorParameterValues")?.Elements)
                       ));
        }
Esempio n. 17
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionDepthFade(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseExpressionReference(node.FindPropertyValue("InOpacity")),
                ValueUtil.ParseExpressionReference(node.FindPropertyValue("FadeDistance")),
                ValueUtil.ParseFloat(node.FindPropertyValue("OpacityDefault") ?? "1.0"),
                ValueUtil.ParseFloat(node.FindPropertyValue("FadeDistanceDefault") ?? "100.0")
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionTextureSampleParameter2D(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                node.FindPropertyValue("ParameterName") ?? "Param",
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Coordinates")),
                ValueUtil.ParseResourceReference(node.FindPropertyValue("Texture")),
                ValueUtil.ParseSamplerType(node.FindPropertyValue("SamplerType"))
                ));
 }
Esempio n. 19
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new ExponentialHeightFog(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseResourceReference(node.FindAttributeValue("Archetype")),
                node.FindPropertyValue("ActorLabel"),
                ValueUtil.ParseSpawnCollisionHandlingMethod(node.FindPropertyValue("SpawnCollisionHandlingMethod")),
                node.FindPropertyValue("FolderPath"),
                node.FindPropertyValue("RootComponent"),
                children
                ));
 }
Esempio n. 20
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionTextureCoordinate(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("bCollapsed")),
                ValueUtil.ParseInteger(node.FindPropertyValue("CoordinateIndex")),
                ValueUtil.ParseFloat(node.FindPropertyValue("UTiling") ?? "1.0"),
                ValueUtil.ParseFloat(node.FindPropertyValue("VTiling") ?? "1.0")
                ));
 }
Esempio n. 21
0
        protected NodeProcessor FindProcessorForNode(ParsedNode parsedNode)
        {
            foreach (var nodeProcessor in _nodeProcessors)
            {
                if (nodeProcessor.Supports(parsedNode))
                {
                    return(nodeProcessor);
                }
            }

            return(null);
        }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionPower(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("bCollapsed")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Base")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Exponent")),
                ValueUtil.ParseFloat(node.FindPropertyValue("ConstExponent") ?? "2.0")
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionComponentMask(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseExpressionReference(node.FindPropertyValue("Input")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("R")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("G")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("B")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("A"))
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionRotateAboutAxis(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("NormalizedRotationAxis")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("RotationAngle")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("PivotPoint")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Position")),
                ValueUtil.ParseFloat(node.FindPropertyValue("Period") ?? "1.0")
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new DecalComponent(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseResourceReference(node.FindAttributeValue("Archetype")),
                ValueUtil.ParseVector3(node.FindPropertyValue("RelativeLocation")),
                ValueUtil.ParseRotator(node.FindPropertyValue("RelativeRotation")),
                ValueUtil.ParseVector3(node.FindPropertyValue("RelativeScale3D") ?? "(X=1.0,Y=1.0,Z=1.0)"),
                children,
                ValueUtil.ParseResourceReference(node.FindPropertyValue("DecalMaterial")),
                ValueUtil.ParseVector3(node.FindPropertyValue("DeclSize") ?? "(X=128.0,Y=256.0,Z=256.0)")
                ));
 }
Esempio n. 26
0
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionFresnel(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("BaseReflectFractionIn")),
                ValueUtil.ParseFloat(node.FindPropertyValue("BaseReflectFraction") ?? "0.04"),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("ExponentIn")),
                ValueUtil.ParseFloat(node.FindPropertyValue("Exponent") ?? "5.0"),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Power")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Normal"))
                ));
 }
        private INode CreateNode(NodeFactory nf, ParsedNode parsedNode)
        {
            if (!parsedNode.IsLiteralNode)
            {
                return(nf.CreateUriNode(new Uri(parsedNode.Value)));
            }

            // Not sure if there are more things that might be escaped for now, I'll just deal with \'
            var unescaped = parsedNode.Value.Replace("\\'", "'");

            return(string.IsNullOrEmpty(parsedNode.LiteralType) ?
                   nf.CreateLiteralNode(unescaped) :
                   nf.CreateLiteralNode(unescaped, new Uri(parsedNode.LiteralType)));
        }
        /// <summary>
        /// Returns string based triples, separated by a ' ; ' string.  If only two are found, the s value is returned as null since it is assumed that predicate and object are present.
        /// </summary>
        private static List <TripleSet> ParseQueryIntoTripleSets(string query)
        {
            var results = new List <TripleSet>();
            var working = query.Trim();

            for (; ;)
            {
                var rawFirst = working.Between("<", ">", out var pointer);
                if (string.IsNullOrEmpty(rawFirst))
                {
                    break;
                }
                var first = new ParsedNode {
                    Value = rawFirst
                };
                working = working.Substring(pointer);

                var peakAhead = IsNodePresent(working);
                if (peakAhead.NodePresent)
                {
                    var second = ParsePeakedNode(peakAhead, ref working, out pointer);

                    // Look for the next node
                    peakAhead = IsNodePresent(working);
                    if (peakAhead.NodePresent)
                    {
                        var third = ParsePeakedNode(peakAhead, ref working, out pointer);
                        results.Add(new TripleSet {
                            Subject = first, Predicate = second, Object = third
                        });
                    }
                    else
                    {
                        results.Add(new TripleSet {
                            Subject = null, Predicate = first, Object = second
                        });
                    }
                }
                else
                {
                    // probably won't happen but whatever
                    results.Add(new TripleSet {
                        Subject = first, Predicate = null, Object = null
                    });
                }
            }

            return(results);
        }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new StaticMeshComponent(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseResourceReference(node.FindAttributeValue("Archetype")),
                ValueUtil.ParseResourceReference(node.FindPropertyValue("StaticMesh")),
                ValueUtil.ParseInteger(node.FindPropertyValue("StaticMeshImportVersion")),
                ValueUtil.ParseVector3(node.FindPropertyValue("RelativeLocation")),
                ValueUtil.ParseRotator(node.FindPropertyValue("RelativeRotation")),
                ValueUtil.ParseVector3(node.FindPropertyValue("RelativeScale3D") ?? "(X=1.0,Y=1.0,Z=1.0)"),
                children,
                ValueUtil.ParseResourceReferenceArray(node.FindProperty("OverrideMaterials")?.Elements),
                ValueUtil.ParseMobility(node.FindPropertyValue("Mobility"))
                ));
 }
 public override Node Convert(ParsedNode node, Node[] children)
 {
     return(new MaterialExpressionLinearInterpolate(
                node.FindAttributeValue("Name"),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorX")),
                ValueUtil.ParseInteger(node.FindPropertyValue("MaterialExpressionEditorY")),
                ValueUtil.ParseBoolean(node.FindPropertyValue("bCollapsed")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("A")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("B")),
                ValueUtil.ParseAttributeList(node.FindPropertyValue("Alpha")),
                ValueUtil.ParseFloat(node.FindPropertyValue("ConstA")),
                ValueUtil.ParseFloat(node.FindPropertyValue("ConstB") ?? "1.0"),
                ValueUtil.ParseFloat(node.FindPropertyValue("ConstAlpha") ?? "0.5")
                ));
 }