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);
    }