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