protected override HashSet <string> ApplyStrategyNode(string entryPath, Object asset, StrategyNode node) { GameObject go = asset as GameObject; HashSet <string> result = new HashSet <string>(); ComponentProcessor processor = GetComponentProcessor(node.processor); HashSet <string> sub = processor.Process(entryPath, go, node); result.UnionWith(sub); int count = go.transform.childCount; for (int i = 0; i < count; i++) { GameObject child = go.transform.GetChild(i).gameObject; result.UnionWith(ApplyStrategyNode(entryPath, child, node)); } return(result); }
private void AddComponentProcessor(ComponentProcessor processor) { _componentProcessorDict.Add(processor.Name, processor); }