AssetBundleGraph.IntegratedPrefabBuilder.ValidatePrefabBuilder C# (CSharp) Method

ValidatePrefabBuilder() public static method

public static ValidatePrefabBuilder ( NodeData node, BuildTarget target, Dictionary inputGroupAssets, System.Action noBuilderData, System.Action failedToCreateBuilder, Action canNotCreatePrefab, Action canNotImportAsset ) : void
node NodeData
target BuildTarget
inputGroupAssets Dictionary
noBuilderData System.Action
failedToCreateBuilder System.Action
canNotCreatePrefab Action
canNotImportAsset Action
return void
        public static void ValidatePrefabBuilder(
			NodeData node,
			BuildTarget target,
			Dictionary<string, List<Asset>> inputGroupAssets,
			Action noBuilderData,
			Action failedToCreateBuilder,
			Action<string> canNotCreatePrefab,
			Action<Asset> canNotImportAsset
		)
        {
            if(string.IsNullOrEmpty(node.InstanceData[target])) {
                noBuilderData();
            }

            var builder = PrefabBuilderUtility.CreatePrefabBuilder(node, target);

            if(null == builder ) {
                failedToCreateBuilder();
            }

            if(null != builder) {
                foreach(var key in inputGroupAssets.Keys) {
                    var assets = inputGroupAssets[key];
                    if(assets.Any()) {
                        bool isAllGoodAssets = true;
                        foreach(var a in assets) {
                            if(string.IsNullOrEmpty(a.importFrom)) {
                                canNotImportAsset(a);
                                isAllGoodAssets = false;
                            }
                        }
                        if(isAllGoodAssets) {
                            // do not call LoadAllAssets() unless all assets have importFrom
                            if(string.IsNullOrEmpty(builder.CanCreatePrefab(key, LoadAllAssets(assets)))) {
                                canNotCreatePrefab(key);
                            }
                        }
                    }
                }
            }
        }