/// <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)); }
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); }
/// <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)); }
/// <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)); }
/// <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; }
/// <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)); }
/// <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)); }
/// <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); }
// 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"); } }
/// <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))); }
/// <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)); }
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); }
public DependencyAttribute(DependencyName name) { this.name = name; }
/// <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; }
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"); } }
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"); } }
public DependencyInfo(DependencyName name) : this(name, null) { }
/// <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; }
public DependencyInfo(DependencyName name, object value) { this.name = name; this.value = value; }
/// <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; }
/// <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)); }
/// <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)); }
/// <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; }
/// <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; }
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; } }
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; } }
/// <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)); }
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"); } }