/// <summary>
        /// Save the tree in the C++
        /// If the user is connected we need to save it on the server too
        /// </summary>
        /// <param name="path"></param>
        public static void Save(string path)
        {
            // Normal save
            NativeFunction.enregistrerFichierXML(path.ToCharArray(), path.Length);

            if (User.Instance.IsConnected)
            {
                var hash = SendOnServer(path);
                UpdateZoneMap(hash);

                // Stats, achievement and progress
                StatsManager.AddMapCreated();
                AchievementManager.AchieveFirstMapCreated();
                ProgressManager.TriggerProgress(ProgressManager.ProgressType.NewZone);
            }
            else
            {
                SaveOffline(path);
            }
        }