public CheckPoint CreateCheckPointEntity(CheckPointData data, Vector3 position) { if (!pointParents.TryGetValue(data.Info.ID, out var parent)) { parent = pointRoot.CreateChild(data.Info.ID); pointParents.Add(data.Info.ID, parent); } CheckPoint checkPoint = parent.gameObject.CreateChild(position.ToString()).AddComponent <CheckPoint>(); checkPoint.Init(data, position); return(checkPoint); }