Exemple #1
0
        public GameAggregatePromotableNode(GUBP bp, List<UnrealTargetPlatform> InHostPlatforms, BranchInfo.BranchUProject InGameProj, bool IsSeparate)
            : base(InHostPlatforms, InGameProj.GameName)
        {
            GameProj = InGameProj;

            foreach (var HostPlatform in HostPlatforms)
            {
                AddDependency(RootEditorNode.StaticGetFullName(HostPlatform));
                if (InGameProj.GameName != bp.Branch.BaseEngineProject.GameName && GameProj.Properties.Targets.ContainsKey(TargetRules.TargetType.Editor))
                {
                    AddDependency(EditorGameNode.StaticGetFullName(HostPlatform, GameProj));
                }
                // add all of the platforms I use
                {
                    var Platforms = bp.GetMonolithicPlatformsForUProject(HostPlatform, InGameProj, false);
                    if (bp.bOrthogonalizeEditorPlatforms)
                    {
                        foreach (var Plat in Platforms)
                        {
                            AddDependency(EditorPlatformNode.StaticGetFullName(HostPlatform, Plat));
                        }
                    }
                }
                {
                    if (!GameProj.Options(HostPlatform).bPromoteEditorOnly)
                    {
                        var Platforms = bp.GetMonolithicPlatformsForUProject(HostPlatform, InGameProj, true);
                        foreach (var Plat in Platforms)
                        {
                            AddDependency(GamePlatformMonolithicsNode.StaticGetFullName(HostPlatform, GameProj, Plat));
                            if (Plat == UnrealTargetPlatform.Win32 && GameProj.Properties.Targets.ContainsKey(TargetRules.TargetType.Game))
                            {
                                if (GameProj.Properties.Targets[TargetRules.TargetType.Game].Rules.GUBP_BuildWindowsXPMonolithics())
                                {
                                    AddDependency(GamePlatformMonolithicsNode.StaticGetFullName(HostPlatform, GameProj, Plat, true));
                                }
                            }
                        }
                    }
                }
            }
        }
        public GameAggregatePromotableNode(GUBP.GUBPBranchConfig BranchConfig, List<UnrealTargetPlatform> InHostPlatforms, List<UnrealTargetPlatform> InActivePlatforms, BranchInfo.BranchUProject InGameProj, bool IsSeparate, bool bNoIOSOnPC)
            : base(InHostPlatforms, InGameProj.GameName)
        {
            GameProj = InGameProj;

            foreach (var HostPlatform in HostPlatforms)
            {
                AddDependency(RootEditorNode.StaticGetFullName(HostPlatform));
                if(!BranchConfig.BranchOptions.PromotablesWithoutTools.Contains(GameProj.GameName))
                {
                    AddDependency(ToolsNode.StaticGetFullName(HostPlatform));
                    AddDependency(InternalToolsNode.StaticGetFullName(HostPlatform));
                }
                if (InGameProj.GameName != BranchConfig.Branch.BaseEngineProject.GameName && GameProj.Properties.Targets.ContainsKey(TargetRules.TargetType.Editor))
                {
                    AddDependency(EditorGameNode.StaticGetFullName(HostPlatform, GameProj));
                }
                // add all of the platforms I use
                {
                    if (!GameProj.Options(HostPlatform).bPromoteEditorOnly)
                    {
                        var Platforms = GamePlatformMonolithicsNode.GetMonolithicPlatformsForUProject(HostPlatform, InActivePlatforms, InGameProj, true, bNoIOSOnPC);
                        foreach (var Plat in Platforms)
                        {
                            AddDependency(GamePlatformMonolithicsNode.StaticGetFullName(HostPlatform, GameProj, Plat));
                                if (Plat == UnrealTargetPlatform.Win32 && GameProj.Properties.Targets.ContainsKey(TargetRules.TargetType.Game))
                            {
                                    if (GameProj.Properties.Targets[TargetRules.TargetType.Game].Rules.GUBP_BuildWindowsXPMonolithics())
                                {
                                    AddDependency(GamePlatformMonolithicsNode.StaticGetFullName(HostPlatform, GameProj, Plat, true));
                                }
                            }
                        }
                    }
                }
            }
        }