コード例 #1
0
        /// <summary>
        /// Creates a new instance of the <see cref="NavigationExpression"/> from the
        /// specified <see cref="UvssNavigationExpression"/> object.
        /// </summary>
        /// <param name="uv">The Ultraviolet context.</param>
        /// <param name="uvssexp">The UVSS navigation expression from which to create a new structure.</param>
        /// <returns>The <see cref="NavigationExpression"/> that was created.</returns>
        public static NavigationExpression?FromUvssNavigationExpression(UltravioletContext uv, UvssNavigationExpression uvssexp)
        {
            Contract.Require(uv, nameof(uv));

            if (uvssexp == null)
            {
                return(null);
            }

            var upf = uv.GetUI().GetPresentationFoundation();

            var navigationPropertyName  = new DependencyName(uvssexp.NavigationProperty);
            var navigationPropertyIndex = uvssexp.NavigationPropertyIndex;
            var navigationPropertyType  = default(Type);

            if (uvssexp.NavigationPropertyType != null)
            {
                if (!upf.GetKnownType(uvssexp.NavigationPropertyType, false, out navigationPropertyType))
                {
                    throw new UvssException(PresentationStrings.UnrecognizedType.Format(uvssexp.NavigationPropertyType));
                }
            }

            return(new NavigationExpression(navigationPropertyName, navigationPropertyType, navigationPropertyIndex));
        }
コード例 #2
0
        private bool IsDependencyResolved(IConfiguration configuration)
        {
            object[] attributes = configuration.GetType().GetCustomAttributes(true);

            foreach (object attribute in attributes)
            {
                if (attribute is DependencyAttribute)
                {
                    DependencyName name = ((DependencyAttribute)attribute).Name;
                    if (this.resolvedDependencies.ContainsKey(name) == false)
                    {
                        return(false);
                    }
                    else
                    {
                        if (this.resolvedDependencies[name] != null)
                        {
                            configuration.ResolveDependency(this.resolvedDependencies[name]);
                        }
                    }
                }
            }

            return(true);
        }
コード例 #3
0
        /// <summary>
        /// Adds the specified animation to this collection.
        /// </summary>
        /// <param name="property">The name of the dependency property to which the animation applies.</param>
        /// <param name="animation">The animation to add to the collection.</param>
        /// <returns><see langword="true"/> if the animation was added to the collection; otherwise, <see langword="false"/>.</returns>
        public Boolean Add(DependencyName property, AnimationBase animation)
        {
            Contract.Require(animation, nameof(animation));

            var key = new StoryboardTargetAnimationKey(property);

            return(Add(key, animation));
        }
コード例 #4
0
        /// <summary>
        /// Removes the animation for the specified property from this collection.
        /// </summary>
        /// <param name="property">The name of the property to remove from the collection.</param>
        /// <returns><see langword="true"/> if the animation was removed from the collection; otherwise, <see langword="false"/>.</returns>
        public Boolean Remove(String property)
        {
            Contract.RequireNotEmpty(property, nameof(property));

            var name = new DependencyName(property);
            var key  = new StoryboardTargetAnimationKey(name);

            return(Remove(key));
        }
コード例 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UvssEventTrigger"/> class.
        /// </summary>
        /// <param name="eventName">The name of the event that causes this trigger to be applied.</param>
        /// <param name="handled">A value indicating whether this trigger should respond to handled events.</param>
        /// <param name="setHandled">A value indicating whether this trigger should mark the event as handled.</param>
        /// <param name="isImportant">A value indicating whether this trigger is considered important.</param>
        internal UvssEventTrigger(String eventName, Boolean handled, Boolean setHandled, Boolean isImportant)
            : base(isImportant)
        {
            Contract.RequireNotEmpty(eventName, nameof(eventName));

            this.eventName = new DependencyName(eventName);
            this.handled = handled;
            this.setHandled = setHandled;
        }
コード例 #6
0
        /// <summary>
        /// Adds the specified animation to this collection.
        /// </summary>
        /// <param name="property">The name of the dependency property to which the animation applies.</param>
        /// <param name="animation">The animation to add to the collection.</param>
        /// <returns><see langword="true"/> if the animation was added to the collection; otherwise, <see langword="false"/>.</returns>
        public Boolean Add(String property, AnimationBase animation)
        {
            Contract.RequireNotEmpty(property, nameof(property));
            Contract.Require(animation, nameof(animation));

            var name = new DependencyName(property);
            var key  = new StoryboardTargetAnimationKey(name);

            return(Add(key, animation));
        }
コード例 #7
0
        /// <summary>
        /// Compiles a <see cref="SetTriggerAction"/> from the specified syntax node.
        /// </summary>
        private static SetTriggerAction CompileSetTriggerAction(UvssSetTriggerActionSyntax node, CultureInfo culture)
        {
            var selector = node.Selector == null ? null :
                           CompileSelector(node.Selector);

            var propName  = new DependencyName(GetPropertyName(node.PropertyName));
            var propValue = new DependencyValue(node.Value.Value, culture);

            return(new SetTriggerAction(selector, propName, propValue));
        }
コード例 #8
0
        /// <summary>
        /// Creates a new <see cref="StoryboardTarget"/> instance from the specified target definition.
        /// </summary>
        /// <param name="targetDefinition">The storyboard target definition to instantiate.</param>
        /// <returns>The <see cref="StoryboardTarget"/> instance that was created.</returns>
        private StoryboardTarget InstantiateStoryboardTarget(UvssStoryboardTarget targetDefinition)
        {
            var target = new StoryboardTarget(targetDefinition.Selector);

            foreach (var animationDefinition in targetDefinition.Animations)
            {
                var ownerType = default(Type);
                if (animationDefinition.AnimatedProperty.IsAttached)
                {
                    PresentationFoundation.Instance.GetKnownType(animationDefinition.AnimatedProperty.Owner, out ownerType);
                }

                var animatedPropertyName = animationDefinition.AnimatedProperty.Name;
                var animatedPropertyType = default(Type);
                if (animationDefinition.AnimatedProperty.IsAttached)
                {
                    var dp = DependencyPropertySystem.FindByStylingName(animatedPropertyName, ownerType);
                    if (dp != null)
                    {
                        animatedPropertyType = dp.PropertyType;
                        animatedPropertyName = dp.Name;
                    }
                }
                else
                {
                    animatedPropertyType = ResolvePropertyTypeFromFilter(Ultraviolet, targetDefinition.Filter, ref animatedPropertyName);
                }

                var navigationExpression    = default(NavigationExpression?);
                var navigationExpressionDef = animationDefinition.NavigationExpression;
                if (navigationExpressionDef != null)
                {
                    animatedPropertyType = ResolvePropertyTypeFromFilter(Ultraviolet,
                                                                         new[] { navigationExpressionDef.NavigationPropertyType }, ref animatedPropertyName);

                    navigationExpression = NavigationExpression.FromUvssNavigationExpression(Ultraviolet, navigationExpressionDef);
                }

                var animationDependencyName = new DependencyName(animationDefinition.AnimatedProperty.IsAttached ?
                                                                 $"{animationDefinition.AnimatedProperty.Owner}.{animatedPropertyName}" : animatedPropertyName);
                var animationKey = new StoryboardTargetAnimationKey(animationDependencyName, navigationExpression);
                var animation    = InstantiateStoryboardAnimation(animationDefinition, animatedPropertyType);
                if (animation != null)
                {
                    target.Animations.Add(animationKey, animation);
                }
            }

            return(target);
        }
コード例 #9
0
    // Set the given preprocessor as a public definition with  0 or 1 (check as private and public module)
    private void SetDependencyPrepreocessorDefinition(string ModuleName, string PreprocessorDefinition)
    {
        string Result = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals(ModuleName));

        if (string.IsNullOrEmpty(Result))
        {
            Result = PublicDependencyModuleNames.Find(DependencyName => DependencyName.Equals(ModuleName));
            if (string.IsNullOrEmpty(Result))
            {
                PublicDefinitions.Add(PreprocessorDefinition + "=0");
            }
            else
            {
                PublicDefinitions.Add(PreprocessorDefinition + "=1");
            }
        }
        else
        {
            PublicDefinitions.Add(PreprocessorDefinition + "=1");
        }
    }
コード例 #10
0
        /// <summary>
        /// Compiles a <see cref="UvssStoryboardAnimation"/> from the specified syntax node.
        /// </summary>
        private static UvssStoryboardAnimation CompileStoryboardAnimation(UvssAnimationSyntax node, CultureInfo culture)
        {
            var animatedProperty =
                new DependencyName(GetPropertyName(node.PropertyName));

            var navigationExpression = node.NavigationExpression == null ? null :
                                       CompileNavigationExpression(node.NavigationExpression);

            var keyframes = new List <UvssStoryboardKeyframe>();

            for (int i = 0; i < node.Body.Content.Count; i++)
            {
                var keyframeNode = (UvssAnimationKeyframeSyntax)node.Body.Content[i];
                var keyframe     = CompileStoryboardKeyframe(keyframeNode, culture);
                keyframes.Add(keyframe);
            }

            return(new UvssStoryboardAnimation(
                       animatedProperty,
                       navigationExpression,
                       new UvssStoryboardKeyframeCollection(keyframes)));
        }
コード例 #11
0
        /// <summary>
        /// Compiles a <see cref="UvssPropertyTriggerCondition"/> from the specified syntax node.
        /// </summary>
        private static UvssPropertyTriggerCondition CompilePropertyTriggerCondition(UvssPropertyTriggerConditionSyntax node, CultureInfo culture)
        {
            var op            = default(TriggerComparisonOp);
            var propertyName  = new DependencyName(GetPropertyName(node.PropertyName));
            var propertyValue = new DependencyValue(node.PropertyValue.Value, culture);

            switch (node.ComparisonOperatorToken.Kind)
            {
            case SyntaxKind.EqualsToken:
                op = TriggerComparisonOp.Equals;
                break;

            case SyntaxKind.NotEqualsToken:
                op = TriggerComparisonOp.NotEquals;
                break;

            case SyntaxKind.GreaterThanToken:
                op = TriggerComparisonOp.GreaterThan;
                break;

            case SyntaxKind.LessThanToken:
                op = TriggerComparisonOp.LessThan;
                break;

            case SyntaxKind.GreaterThanEqualsToken:
                op = TriggerComparisonOp.GreaterThanOrEqualTo;
                break;

            case SyntaxKind.LessThanEqualsToken:
                op = TriggerComparisonOp.LessThanOrEqualTo;
                break;

            default:
                throw new UvssException(PresentationStrings.StyleSheetParserError);
            }

            return(new UvssPropertyTriggerCondition(op, propertyName, propertyValue));
        }
コード例 #12
0
        public override bool Execute()
        {
            try
            {
                XDocument document   = XDocument.Load(VersionDetailsXmlFile);
                XElement  dependency = document
                                       .Element("Dependencies")?
                                       .Element("ProductDependencies")?
                                       .Elements("Dependency")
                                       .FirstOrDefault(d => DependencyName.Equals(d.Attribute("Name")?.Value));

                if (dependency != null)
                {
                    DependencyVersion = dependency.Attribute("Version")?.Value;
                    DependencyCommit  = dependency.Element("Sha")?.Value;
                }
            }
            catch (Exception ex)
            {
                Log.LogWarning($"GetComponentCommit failed for VersionDetailsXmlFile={VersionDetailsXmlFile}, DependencyName={DependencyName}: {ex}");
            }
            return(true);
        }
コード例 #13
0
 public DependencyAttribute(DependencyName name)
 {
     this.name = name;
 }
コード例 #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UvssPropertyTriggerCondition"/> class.
 /// </summary>
 /// <param name="op">A <see cref="TriggerComparisonOp"/> value that specifies the type of comparison performed by this condition.</param>
 /// <param name="propertyName">The name of the property to evaluate.</param>
 /// <param name="propertyValue">The value to compare to the value of the evaluated property.</param>
 internal UvssPropertyTriggerCondition(TriggerComparisonOp op, DependencyName propertyName, DependencyValue propertyValue)
 {
     this.op            = op;
     this.propertyName  = propertyName;
     this.propertyValue = propertyValue;
 }
コード例 #15
0
    public UMC6DControllerGUI(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        //PrivatePCHHeaderFile = "Public/UMC6DControllerGUI.h";

        PublicIncludePaths.AddRange(
            new string[] {
            // ... add public include paths required here ...
            //EnginePath + "Source/Runtime/Launch/Resources", // #include "Version.h"; #if ENGINE_MINOR_VERSION
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            // ... add other private include paths required here ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "InputCore",
            "UMC6DController",
            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            //"KantanChartsSlate",
            // ... add private dependencies that you statically link with here ...
        }
            );

        DynamicallyLoadedModuleNames.AddRange(
            new string[]
        {
            // ... add any modules that your module loads dynamically here ...
        }
            );

        string KantanCharts = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("KantanChartsSlate"));

        if (string.IsNullOrEmpty(KantanCharts))
        {
            PublicDefinitions.Add("UMC_WITH_KANTAN=0");
        }
        else
        {
            PublicDefinitions.Add("UMC_WITH_KANTAN=1");
        }
    }
コード例 #16
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UvssPropertyTriggerCondition"/> class.
 /// </summary>
 /// <param name="op">A <see cref="TriggerComparisonOp"/> value that specifies the type of comparison performed by this condition.</param>
 /// <param name="propertyName">The name of the property to evaluate.</param>
 /// <param name="propertyValue">The value to compare to the value of the evaluated property.</param>
 internal UvssPropertyTriggerCondition(TriggerComparisonOp op, DependencyName propertyName, DependencyValue propertyValue)
 {
     this.op = op;
     this.propertyName = propertyName;
     this.propertyValue = propertyValue;
 }
コード例 #17
0
    public USemLog(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        //PrivatePCHHeaderFile = "Public/USemLog.h";
        //bEnforceIWYU = false;

        PublicIncludePaths.AddRange(
            new string[] {
            // ... add public include paths required here ...
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            // ... add other private include paths required here ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "MongoC",                                                                   // SL_WITH_LIBMONGO_C
            //"UProtobuf",                  // SL_WITH_PROTO
            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            "Landscape",
            "WebSockets",
            "CinematicCamera",
            //"Landscape", "AIModule",	// whitelisted actors when setting the world to visual only
            //"UConversions",				// SL_WITH_ROS_CONVERSIONS
            "UMCGrasp",                                                         // SL_WITH_MC_GRASP
            //"SRanipal",					// SL_WITH_EYE_TRACKING
            //"SlicingLogic",		    // SL_WITH_SLICING
            //"MongoCxx",			    // SL_WITH_LIBMONGO_CXX
            //"Boost",				    // SL_WITH_BOOST
            // ... add private dependencies that you statically link with here ...
        }
            );

        // Avoiding depending on the editor when packaging
        if (Target.bBuildEditor)
        {
            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "UnrealEd",
            }
                );
        }

        DynamicallyLoadedModuleNames.AddRange(
            new string[]
        {
            // ... add any modules that your module loads dynamically here ...
        }
            );

        // Enable/disable various debug functions throughout the code
        PublicDefinitions.Add("SL_WITH_DEBUG=1");

        // Check included dependencies and set preprocessor flags accordingly
        SetDependencyPrepreocessorDefinition("UConversions", "SL_WITH_ROS_CONVERSIONS");
        SetDependencyPrepreocessorDefinition("UMCGrasp", "SL_WITH_MC_GRASP");
        SetDependencyPrepreocessorDefinition("MongoC", "SL_WITH_LIBMONGO_C");
        SetDependencyPrepreocessorDefinition("MongoCxx", "SL_WITH_LIBMONGO_CXX");
        SetDependencyPrepreocessorDefinition("SRanipal", "SL_WITH_EYE_TRACKING");
        SetDependencyPrepreocessorDefinition("SlicingLogic", "SL_WITH_SLICING");
        SetDependencyPrepreocessorDefinition("UProtobuf", "SL_WITH_PROTO");
        SetDependencyPrepreocessorDefinition("UROSBridge", "SL_WITH_ROSBRIDGE");

        string Json     = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("Json"));
        string JsonUtil = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("JsonUtilities"));

        if (string.IsNullOrEmpty(Json) || string.IsNullOrEmpty(JsonUtil))
        {
            PublicDefinitions.Add("SL_WITH_JSON=0");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_JSON=1");
        }

        string UViz = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("UViz"));

        if (string.IsNullOrEmpty(UViz))
        {
            UViz = PublicDependencyModuleNames.Find(DependencyName => DependencyName.Equals("UViz"));
        }
        string UMongoQA = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("UMongoQA"));

        if (string.IsNullOrEmpty(UMongoQA))
        {
            UMongoQA = PublicDependencyModuleNames.Find(DependencyName => DependencyName.Equals("UMongoQA"));
        }
        if (string.IsNullOrEmpty(UViz) || string.IsNullOrEmpty(UMongoQA))
        {
            PublicDefinitions.Add("SL_WITH_DATA_VIS=0");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_DATA_VIS=1");
        }
    }
コード例 #18
0
 public DependencyInfo(DependencyName name)
     : this(name, null)
 {
 }
コード例 #19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NavigationExpression"/> structure.
 /// </summary>
 /// <param name="propertyName">The name of the navigation property.</param>
 /// <param name="propertyType">The type of the navigation property, if specified.</param>
 /// <param name="propertyIndex">The index of the navigation property, if specified.</param>
 public NavigationExpression(DependencyName propertyName, Type propertyType, Int32?propertyIndex = null)
 {
     this.propertyName  = propertyName;
     this.propertyType  = propertyType;
     this.propertyIndex = propertyIndex;
 }
コード例 #20
0
 public DependencyInfo(DependencyName name, object value)
 {
     this.name  = name;
     this.value = value;
 }
コード例 #21
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UvssStoryboardAnimation"/> class.
 /// </summary>
 /// <param name="animatedProperty">The name of the animated property.</param>
 /// <param name="navigationExpression">The animated property's navigation expression.</param>
 /// <param name="keyframes">The animation's collection of keyframes.</param>
 internal UvssStoryboardAnimation(DependencyName animatedProperty, UvssNavigationExpression navigationExpression, UvssStoryboardKeyframeCollection keyframes)
 {
     this.AnimatedProperty     = animatedProperty;
     this.NavigationExpression = navigationExpression;
     this.Keyframes            = keyframes;
 }
コード例 #22
0
        /// <summary>
        /// Removes the animation for the specified property from this collection.
        /// </summary>
        /// <param name="property">The name of the property to remove from the collection.</param>
        /// <returns><see langword="true"/> if the animation was removed from the collection; otherwise, <see langword="false"/>.</returns>
        public Boolean Remove(DependencyName property)
        {
            var key = new StoryboardTargetAnimationKey(property);

            return(Remove(key));
        }
コード例 #23
0
        /// <summary>
        /// Gets a value indicating whether the collection contains an animation on the specified property.
        /// </summary>
        /// <param name="property">The name of the property to evaluate.</param>
        /// <returns><see langword="true"/> if this collection contains an animation on the specified property; otherwise, <see langword="false"/>.</returns>
        public Boolean ContainsKey(DependencyName property)
        {
            var key = new StoryboardTargetAnimationKey(property);

            return(animations.ContainsKey(key));
        }
コード例 #24
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SetTriggerAction"/> class.
 /// </summary>
 /// <param name="selector">A UVSS selector which specifies the target (or targets) of the action.</param>
 /// <param name="propertyName">The styling name of the dependency property which is set by this action.</param>
 /// <param name="propertyValue">The value to which the action sets its associated dependency property.</param>
 internal SetTriggerAction(UvssSelector selector, DependencyName propertyName, DependencyValue propertyValue)
 {
     this.selector      = selector;
     this.propertyName  = propertyName;
     this.propertyValue = propertyValue;
 }
コード例 #25
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StoryboardTargetAnimationKey"/> structure.
 /// </summary>
 /// <param name="propertyName">The name of the animated property.</param>
 /// <param name="navigationExpression">The navigation expression for the animated property, if one was specified.</param>
 public StoryboardTargetAnimationKey(DependencyName propertyName, NavigationExpression?navigationExpression = null)
 {
     this.propertyName         = propertyName;
     this.navigationExpression = navigationExpression;
 }
コード例 #26
0
    public USemLogVision(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        //PrivatePCHHeaderFile = "Public/USemLogVision.h";

        PublicIncludePaths.AddRange(
            new string[] {
            // ... add public include paths required here ...
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            // ... add other private include paths required here ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "RHI",
            "RenderCore",
            "UnrealEd",
            "USemLogSkel",
            "UTags",
            "UConversions",
            //"libmongo",
            "MongoC",                     // SLVIS_WITH_LIBMONGO_C
            //"MongoCxx", // SLVIS_WITH_LIBMONGO_CXX
            // ... add private dependencies that you statically link with here ...
        }
            );


        DynamicallyLoadedModuleNames.AddRange(
            new string[]
        {
            // ... add any modules that your module loads dynamically here ...
        }
            );


        string MongoC = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("MongoC"));

        if (string.IsNullOrEmpty(MongoC))
        {
            PublicDefinitions.Add("SLVIS_WITH_LIBMONGO_C=0");
        }
        else
        {
            PublicDefinitions.Add("SLVIS_WITH_LIBMONGO_C=1");

            // Needed to ignore various warnings from libmongo
            bEnableUndefinedIdentifierWarnings = false;
            bEnableExceptions = true;
            //bUseRTTI = true;
        }

        string MongoCXX = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("MongoCXX"));

        if (string.IsNullOrEmpty(MongoCXX))
        {
            PublicDefinitions.Add("SLVIS_WITH_LIBMONGO_CXX=0");
        }
        else
        {
            PublicDefinitions.Add("SLVIS_WITH_LIBMONGO_CXX=1");

            // Needed to ignore various warnings from libmongo
            bEnableUndefinedIdentifierWarnings = false;
            bEnableExceptions = true;
            //bUseRTTI = true;
        }
    }
コード例 #27
0
    public MongoCrash(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        PublicIncludePaths.AddRange(
            new string[] {
            // ... add public include paths required here ...
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            // ... add other private include paths required here ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            // ... add private dependencies that you statically link with here ...
            "MongoC",
            "Json",
            "JsonUtilities"
        }
            );

        DynamicallyLoadedModuleNames.AddRange(
            new string[]
        {
            // ... add any modules that your module loads dynamically here ...
        }
            );

        string MongoC = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("MongoC"));

        if (string.IsNullOrEmpty(MongoC))
        {
            PublicDefinitions.Add("MACTOR_WITH_LIBMONGO_C=0");
        }
        else
        {
            PublicDefinitions.Add("MACTOR_WITH_LIBMONGO_C=1");

            // Needed to ignore various warnings from libmongo
            bEnableUndefinedIdentifierWarnings = false;
            bEnableExceptions = true;
            //bUseRTTI = true;
        }

        string MongoCXX = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("MongoCXX"));

        if (string.IsNullOrEmpty(MongoCXX))
        {
            PublicDefinitions.Add("MACTOR_WITH_LIBMONGO_CXX=0");
        }
        else
        {
            PublicDefinitions.Add("MACTOR_WITH_LIBMONGO_CXX=1");

            // Needed to ignore various warnings from libmongo
            bEnableUndefinedIdentifierWarnings = false;
            bEnableExceptions = true;
            //bUseRTTI = true;
        }
    }
コード例 #28
0
ファイル: UvmlLoader.cs プロジェクト: RUSshy/ultraviolet
        /// <summary>
        /// Determines whether the specified target is a dependency property, routed event, or standard property/event.
        /// </summary>
        private static UvmlMutatorTarget GetMutatorTarget(UltravioletContext uv, 
            String name, String value, Type type, out Object target, out Type targetType)
        {
            var upf = uv.GetUI().GetPresentationFoundation();

            // If this is an attached property/event, find the owner type.
            var depname = new DependencyName(name);
            if (depname.IsAttached)
            {
                var attachedOwnerType = default(Type);
                if (!upf.GetKnownType(depname.Owner, out attachedOwnerType))
                    throw new UvmlException(PresentationStrings.UnrecognizedType.Format(depname.Owner));

                type = attachedOwnerType;
            }

            // Is it a dependency property?
            var dprop = DependencyProperty.FindByName(depname.Name, type);
            if (dprop != null)
            {
                target = dprop;
                if (value != null && BindingExpressions.IsBindingExpression(value))
                {
                    targetType = typeof(String);
                    return UvmlMutatorTarget.DependencyPropertyBinding;
                }
                targetType = dprop.PropertyType;
                return UvmlMutatorTarget.DependencyProperty;
            }

            // Is it a routed event?
            var revt = EventManager.FindByName(depname.Name, type);
            if (revt != null)
            {
                target = revt;
                targetType = typeof(String);
                return UvmlMutatorTarget.RoutedEvent;
            }

            // Is it a standard property?
            var clrprop = type.GetProperty(depname.Name, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
            if (clrprop != null)
            {
                target = clrprop;
                targetType = clrprop.PropertyType;
                return UvmlMutatorTarget.StandardProperty;
            }

            // Is it a standard event?
            var clrevt = type.GetEvent(depname.Name, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
            if (clrevt != null)
            {
                target = clrevt;
                targetType = typeof(String);
                return UvmlMutatorTarget.StandardEvent;
            }

            throw new UvmlException(PresentationStrings.EventOrPropertyDoesNotExist.Format(depname.Name, type.Name));
        }
コード例 #29
0
ファイル: USemLog.Build.cs プロジェクト: zihexu/USemLog
    public USemLog(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        //PrivatePCHHeaderFile = "Public/USemLog.h";
        //bEnforceIWYU = false;

        PublicIncludePaths.AddRange(
            new string[] {
            // ... add public include paths required here ...
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            // ... add other private include paths required here ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "USemLogOwl",
            "USemLogSkel",                     // NEeded for external access of SLStructs.h, for example through SLEtntitesManager
            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            "Json",
            "JsonUtilities",
            "UTags",
            "UIds",
            "UConversions",
            "UMCGrasp",                     // SL_WITH_MC_GRASP
            //"libmongo",
            //"SlicingLogic",	  //SL_WITH_SLICING
            "MongoC",                     // SL_WITH_LIBMONGO_C
            //"MongoCxx", // SL_WITH_LIBMONGO_CXX
            "SRanipal",                   // SL_WITH_EYE_TRACKING
            // ... add private dependencies that you statically link with here ...
        }
            );

        // TODO
        // SL Vision currently only works in developer mode
        // (https://docs.unrealengine.com/en-us/Programming/UnrealBuildSystem/TargetFiles)
        if (Target.Type == TargetRules.TargetType.Editor)
        //if(Target.Type == TargetRules.TargetType.Program)
        {
            PrivateDependencyModuleNames.Add("USemLogVision");
            PublicDefinitions.Add("SL_WITH_SLVIS=1");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_SLVIS=0");
        }

        DynamicallyLoadedModuleNames.AddRange(
            new string[]
        {
            // ... add any modules that your module loads dynamically here ...
        }
            );

        // Check included dependencies and set preprocessor flags accordingly
        string UMCGrasp = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("UMCGrasp"));

        if (string.IsNullOrEmpty(UMCGrasp))
        {
            PublicDefinitions.Add("SL_WITH_MC_GRASP=0");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_MC_GRASP=1");
        }

        string MongoC = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("MongoC"));

        if (string.IsNullOrEmpty(MongoC))
        {
            PublicDefinitions.Add("SL_WITH_LIBMONGO_C=0");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_LIBMONGO_C=1");

            // Needed to ignore various warnings from libmongo
            bEnableUndefinedIdentifierWarnings = false;
            bEnableExceptions = true;
            //bUseRTTI = true;
        }

        string MongoCxx = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("MongoCxx"));

        if (string.IsNullOrEmpty(MongoCxx))
        {
            PublicDefinitions.Add("SL_WITH_LIBMONGO_CXX=0");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_LIBMONGO_CXX=1");

            // Needed to ignore various warnings from libmongo
            bEnableUndefinedIdentifierWarnings = false;
            bEnableExceptions = true;
            //bUseRTTI = true;
        }

        string SRanipal = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("SRanipal"));

        if (string.IsNullOrEmpty(SRanipal))
        {
            PublicDefinitions.Add("SL_WITH_EYE_TRACKING=0");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_EYE_TRACKING=1");
        }

        string SlicingLogic = PrivateDependencyModuleNames.Find(DependencyName => DependencyName.Equals("SlicingLogic"));

        if (string.IsNullOrEmpty(SlicingLogic))
        {
            PublicDefinitions.Add("SL_WITH_SLICING=0");
        }
        else
        {
            PublicDefinitions.Add("SL_WITH_SLICING=1");
        }
    }