public void DeleteLevel(LevelData levelToDelete)
    {
        LevelDataLoaded levelDataLoaded = levelToDelete as LevelDataLoaded;

        if (levelDataLoaded != null)
        {
            string path = getTextureFilePath(levelDataLoaded.TexturePath);

            File.Delete(path);
            levels.Remove(levelDataLoaded);
        }

        setPlayingLevel(DefaultLevelsContainer.Levels[0]);
    }
    public bool AddLevel(int[] speeds, float[] startAngles)
    {
        bool success = false;


        string          key   = "";
        LevelDataLoaded level = new LevelDataLoaded();

        level.Speeds      = new int[speeds.Length];
        level.StartAngles = new float[speeds.Length];
        for (int i = 0; i < speeds.Length; i++)
        {
            int speed = speeds[i];
            key                 += speed.ToString() + startAngles[i].ToString("0.00");
            level.Speeds[i]      = speed;
            level.StartAngles[i] = startAngles[i];
        }


        LevelDataLoaded sd = levels.Find(x => x.Key == key);

        if (sd == null)
        {
            level.Key = key;
            levels.Add(level);
            success = true;
            float[] radiuses = GetRadiuses(level.Speeds.Length, StartRaduis, RaduisDecreasePercent);


            Vector3[] positions = PathGenerator.GetPositions(level, radiuses);
            Texture2D texture2D = PathGenerator.MakeTexture(positions, radiuses);


            string name = "level_" + System.DateTime.Now.ToFileTime();
            string path = getTextureFilePath(name);
            if (path == "")
            {
                return(false);
            }
            level.TexturePath = name;
            File.WriteAllBytes(path, (byte[])texture2D.EncodeToPNG());


#if UNITY_WEBGL && !UNITY_EDITOR
            SyncFiles();
#endif
        }
        return(success);
    }