private void SetParentConnections <TState, TTrigger>(HierarchicalStateMachine <TState, TTrigger> stateMachine) { if (_parentConnections.Count > 0) { for (int i = 0; i < _parentConnections.Count; i++) { var current = _parentConnections[i]; var parentId = (TState)current.ParentStateId; var initialChildId = (TState)current.InitialChildId; var childs = Array.ConvertAll(current.GetChilds(), objectId => (TState)objectId); for (int j = 0; j < childs.Length; j++) { stateMachine.AddChildTo(parentId, childs[j]); } stateMachine.SetInitialStateTo(parentId, initialChildId); } } }