예제 #1
0
        public void Reconnect()
        {
            RabbitToken.Dispose();
            var newToken = BuildStrategy.ResubscribeConsumer(MessageBus, Queue);

            RabbitToken = newToken;
        }
예제 #2
0
    public static void ApplyStrategyGroup(InspectorElementPrefab prefab, int strategyIndex)
    {
        if (prefab == null || strategyIndex >= BundleDataManager.Instance.BuildStrategies.Count)
        {
            return;
        }

        if (prefab.Depends == null)
        {
            return;
        }

        BuildStrategy strategy = BundleDataManager.Instance.BuildStrategies[strategyIndex];

        if (strategy.Name == "None")
        {
            prefab.StrategieIndex = strategyIndex;
            for (int i = 0; i < prefab.Depends.Length; i++)
            {
                prefab.Depends[i].groupNumber = 0;
            }
        }
        else
        {
            if (strategy.IsMatching(ref prefab.AssetFilePath))
            {
                prefab.StrategieIndex = strategyIndex;
                for (int i = 0; i < prefab.Depends.Length; i++)
                {
                    prefab.Depends[i].groupNumber = strategy.GroupNumber(ref prefab.Depends[i].assetsFilePath);
                }
            }
        }
    }
예제 #3
0
    static void HandleClearSelect(string path)
    {
        //除去C#脚本
        if (BuildStrategy.GetAssetType(Path.GetExtension(path)) == AssetType.Csharp)
        {
            return;
        }
        AssetImporter importer = AssetImporter.GetAtPath(path);

        if (importer != null)
        {
            importer.assetBundleName = null;
            importer = null;
        }
    }
        internal UnityContainer(BuildStrategy strategy)
            : this()
        {
            switch (strategy)
            {
            case BuildStrategy.Compiled:
                _buildStrategy = CompilingFactory;
                Defaults.Set(typeof(ResolveDelegateFactory), _buildStrategy);
                break;

            case BuildStrategy.Resolved:
                _buildStrategy = ResolvingFactory;
                Defaults.Set(typeof(ResolveDelegateFactory), _buildStrategy);
                break;
            }
        }
예제 #5
0
        // Build the tree. Policy only matters for bottom-up strategies
        public void Build(BuildStrategy eStrategy = BuildStrategy.TopDownMidpoint)
        {
            if (eStrategy == BuildStrategy.TopDownMedian)
            {
                build_top_down(true);
            }
            else if (eStrategy == BuildStrategy.TopDownMidpoint)
            {
                build_top_down(false);
            }
            else if (eStrategy == BuildStrategy.Default)
            {
                build_top_down(false);
            }

            //points_timestamp = points.Timestamp;
        }
예제 #6
0
    /// <summary>
    /// 打包跟包的AB包
    /// </summary>
    public static void BuildAssetBundles(string outPath)
    {
        if (!Directory.Exists(outPath))
        {
            Directory.CreateDirectory(outPath);
        }

        //保证pathidmap存在
        BuildStrategy.CreateDataAsset();
        //                                                          压缩方式            设置的平台格式
        BuildPipeline.BuildAssetBundles(outPath, BuildAssetBundleOptions.UncompressedAssetBundle | BuildAssetBundleOptions.DeterministicAssetBundle, EditorUserBuildSettings.activeBuildTarget);

        //拷贝Movie目录到outPath
        CopyMovieFiles(outPath);

        BuildBundleMD5Files(outPath);
    }
예제 #7
0
        // nodeCount: How many nodes
        // interconnectedness: 0 = tree, 1.0 = fully connected graph
        public void Build(Graph graph, int nodeCount, double interconnectedness, Func <int, object> dataProvider = null)
        {
            if (interconnectedness < 0.0 || interconnectedness > 1.0)
            {
                throw new ArgumentException("Interconnectedness must be 0.0 <= x <= 1.0");
            }

            BuildStrategy strategy = interconnectedness > 0.5 ? BuildStrategy.SubtractEdges : BuildStrategy.AddEdges;

            CreateNodes(graph, nodeCount, dataProvider);

            if (strategy == BuildStrategy.AddEdges)
            {
                AddEdges(graph, interconnectedness);
            }
            else
            {
                FullConnectThenSubtract(graph, interconnectedness);
            }
        }
    //跟包用的AB打包-打包到LocalAB目录下
    private static void BuildBundleNameMenu_WithPak_Version()
    {
        menuStart("跟包AB打包", sw);

        //1.跟包的AB的打包命名
        BuildStrategy.BuildBundleName_WithPak_Version();

        //2.开始打包需要跟包的非压缩AB包
        BuildAssetBundles(outputLocalABPath);

        //3.清除所有的BundleName
        ClearAllBundleNameMenu();

        //4.将非压缩的AB压缩存放到StreamingAssets目录下
        VersionManager.CopyDir(ABPathHelper.GetAddPrefixPath(outputLocalABPath), ABPathHelper.GetAddPrefixPath(outputStreamingAssetsPath));
        ////5.生成标记文件
        SaveOrCreateDecompressSuccess();

        menuEnd("跟包AB打包", sw);
    }
예제 #9
0
 // Build the tree. Policy only matters for bottom-up strategies
 public void Build(BuildStrategy eStrategy = BuildStrategy.TopDownMidpoint,
                   ClusterPolicy ePolicy   = ClusterPolicy.Default)
 {
     if (eStrategy == BuildStrategy.BottomUpFromOneRings)
     {
         build_by_one_rings(ePolicy);
     }
     else if (eStrategy == BuildStrategy.TopDownMedian)
     {
         build_top_down(true);
     }
     else if (eStrategy == BuildStrategy.TopDownMidpoint)
     {
         build_top_down(false);
     }
     else if (eStrategy == BuildStrategy.Default)
     {
         build_top_down(false);
     }
     mesh_timestamp = mesh.Timestamp;
 }
        public void GetExecuteStrategyReturnsDefaultStrategyTest()
        {
            var constructorResolver = Substitute.For<IConstructorResolver>();
            var creationRules = new List<CreationRule>();
            var typeCreators = new List<ITypeCreator>();
            var valueGenerators = new List<IValueGenerator>();
            var ignoreRules = new List<IgnoreRule>();
            var executeOrderRules = new List<ExecuteOrderRule>();
            var postBuildActions = new List<IPostBuildAction>();

            var target = new BuildStrategy(
                constructorResolver,
                creationRules,
                typeCreators,
                valueGenerators,
                ignoreRules,
                executeOrderRules,
                postBuildActions);

            var actual = target.GetExecuteStrategy<Person>();

            actual.Should().BeOfType<DefaultExecuteStrategy<Person>>();
        }
        public void GetBuildLogReturnsUniqueInstanceTest()
        {
            var constructorResolver = Substitute.For<IConstructorResolver>();
            var creationRules = new List<CreationRule>();
            var typeCreators = new List<ITypeCreator>();
            var valueGenerators = new List<IValueGenerator>();
            var ignoreRules = new List<IgnoreRule>();
            var executeOrderRules = new List<ExecuteOrderRule>();
            var postBuildActions = new List<IPostBuildAction>();

            var target = new BuildStrategy(
                constructorResolver,
                creationRules,
                typeCreators,
                valueGenerators,
                ignoreRules,
                executeOrderRules,
                postBuildActions);

            var first = target.GetBuildLog();
            var second = target.GetBuildLog();

            first.Should().NotBeSameAs(second);
        }
        public void ReturnsConstructorValuesTest()
        {
            var buildLog = Substitute.For<IBuildLog>();
            var constructorResolver = Substitute.For<IConstructorResolver>();
            var creationRules = new List<CreationRule>
            {
                new CreationRule(typeof(string), "Test", int.MaxValue, "Stuff")
            };
            var typeCreators = new List<ITypeCreator>
            {
                new DefaultTypeCreator()
            };
            var valueGenerators = new List<IValueGenerator>
            {
                new AddressValueGenerator()
            };
            var ignoreRules = new List<IgnoreRule>
            {
                new IgnoreRule(typeof(Person), "FirstName")
            };
            var executeOrderRules = new List<ExecuteOrderRule>
            {
                new ExecuteOrderRule(typeof(Person), "LastName", int.MinValue)
            };
            var postBuildActions = new List<IPostBuildAction>
            {
                Substitute.For<IPostBuildAction>()
            };

            var target = new BuildStrategy(
                constructorResolver,
                creationRules,
                typeCreators,
                valueGenerators,
                ignoreRules,
                executeOrderRules,
                postBuildActions);

            target.ConstructorResolver.Should().Be(constructorResolver);
            target.CreationRules.ShouldBeEquivalentTo(creationRules);
            target.TypeCreators.ShouldBeEquivalentTo(typeCreators);
            target.ValueGenerators.ShouldBeEquivalentTo(valueGenerators);
            target.IgnoreRules.ShouldBeEquivalentTo(ignoreRules);
            target.ExecuteOrderRules.ShouldBeEquivalentTo(executeOrderRules);
            target.PostBuildActions.ShouldBeEquivalentTo(postBuildActions);
        }
 public void SetUp_ObjectUnderTest()
 {
     _factoryMock     = new Mock <ICommandFactory <BuildStrategy> >();
     _objectUnderTest = new BuildStrategy(_factoryMock.Object);
 }
예제 #14
0
 // METHODS
 /// <summary>
 /// Build pagination
 /// </summary>
 /// <param name="urlInfo">
 /// An instance of class with data for URL
 /// </param>
 /// <returns>
 /// The class that can create HTML
 /// </returns>
 public TagBuilder Build(DataTransferObject.UrlInfo urlInfo)
 {
     UrlInfo = urlInfo;
     return(BuildStrategy.Build(this));
 }