public void Reset() { Weight = 0; HandState.Clear(); CardPlayed = null; for (int i = Children.Count - 1; i >= 0; --i) { var childNode = Children[i]; Pool <Node> .Free(childNode); Children.RemoveAt(i); } }