public AssetStream(Model.ConnectionData c, Node f, Node t, AssetReferenceStreamManager m) { connection = c; nodeFrom = f; nodeTo = t; assetGroups = m.FindAssetGroup(c); output = null; }
public override bool OnAssetsReimported( Model.NodeData nodeData, AssetReferenceStreamManager streamManager, BuildTarget target, string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { if (streamManager == null) { return(true); } var loadPath = m_loadPath[target]; // if loadPath is null/empty, loader load everything except for settings if (string.IsNullOrEmpty(loadPath)) { // ignore config file path update var notConfigFilePath = importedAssets.Where(path => !TypeUtility.IsGraphToolSystemAsset(path)); if (notConfigFilePath.Any()) { LogUtility.Logger.LogFormat(LogType.Log, "{0} is marked to revisit", nodeData.Name); return(true); } } var assetGroup = streamManager.FindAssetGroup(nodeData.OutputPoints[0]); if (assetGroup.Count > 0) { var importPath = string.Format("Assets/{0}", m_loadPath[target]); foreach (var path in importedAssets) { if (path.StartsWith(importPath)) { // if this is reimport, we don't need to redo Loader if (assetGroup["0"].Find(x => x.importFrom == path) == null) { LogUtility.Logger.LogFormat(LogType.Log, "{0} is marked to revisit", nodeData.Name); return(true); } } } foreach (var path in deletedAssets) { if (path.StartsWith(importPath)) { LogUtility.Logger.LogFormat(LogType.Log, "{0} is marked to revisit", nodeData.Name); return(true); } } foreach (var path in movedAssets) { if (path.StartsWith(importPath)) { LogUtility.Logger.LogFormat(LogType.Log, "{0} is marked to revisit", nodeData.Name); return(true); } } foreach (var path in movedFromAssetPaths) { if (path.StartsWith(importPath)) { LogUtility.Logger.LogFormat(LogType.Log, "{0} is marked to revisit", nodeData.Name); return(true); } } } return(false); }