public void OnEndDependency(UpgradeDependencyMode mode) { if (startNode != null) { if (lastNode != null) { var success = NodeDependencies.CreateDependency(startNode, lastNode, config.techConfig, mode); if (success) { UpdateContents(); } lastNode.ActivatingLinkEnd(); } startNode.ActivatingLinkEnd(); startNode = null; } if (depLine != null) { if (nodeRoot.Contains(depLine)) { nodeRoot.Remove(depLine); } depLine = null; } }
public static bool CreateDependency(Node from, Node to, TechConfig techConfig, UpgradeDependencyMode mode) { if (from.GetHashCode() == to.GetHashCode()) { return(false); } switch (mode) { case UpgradeDependencyMode.AddAction: return(AddAction(from, to, techConfig)); case UpgradeDependencyMode.CreateTechRequirement: return(AddTechRequirement(from, to, techConfig)); case UpgradeDependencyMode.RemoveAction: return(RemoveAction(from, to, techConfig)); case UpgradeDependencyMode.RemoveTechRequirement: return(RemoveTechRequirement(from, to, techConfig)); default: Debug.LogWarning($"Unhandled dependency mode: {mode}"); return(false); } }