ChildGroupNode _getChildGroupNode(IcSkillGroup skillGroup) { if (_childGroupNode) { return(_childGroupNode); } if (!skillGroup) { return(null); } if (_lastGroup == skillGroup && _childNode) { return(_childNode); } foreach (var node in skillGroup.nodes) { if (node is ChildGroupNode childGroupNode) { _lastGroup = skillGroup; _childNode = childGroupNode; return(childGroupNode); } } return(null); }
protected override NPBehave.Node GetOutValue() { if (_group == null) { return(null); } GetGroup(); _childGroupNode = _getChildGroupNode(_currentGroup); if (!_childGroupNode) { return(null); } _childGroupNode.GetChildGroupNode = this; return(_currentGroup.GetChildGroupNode((IcSkillGroup)graph)); }