public static void SaveUnsavedFile(DrawingFile file) { DebugConsole.Log("Save Unsaved " + file.Index); PlayerPrefs.SetString(UnsavedFileStringKey, DrawingFile.Serialize(file)); // PlayerPrefs.Flush(); }
public Drawing(Short2 size, CanvasController canvasUi, Selection selection) { this.file = new DrawingFile(); this.size = size; this.canvasUi = canvasUi; this.selection = selection; RenderDrawing(); }
public static DrawingFile LoadFile(int index) { DebugConsole.Log("Load File " + index); if (!HasFile(index)) { return(null); } return(DrawingFile.Deserialize(PlayerPrefs.GetString(DrawingFileStringKeyPrefix + index))); }
public static DrawingFile LoadUnsavedFile() { DebugConsole.Log("Load Unsaved File"); if (!HasUnsavedFile()) { return(null); } return(DrawingFile.Deserialize(PlayerPrefs.GetString(UnsavedFileStringKey))); }
public static void SaveFile(DrawingFile file) { DebugConsole.Log("Save File " + file.Index); PlayerPrefs.SetString(DrawingFileStringKeyPrefix + file.Index, DrawingFile.Serialize(file)); if (file.Index >= GetFileCount()) { PlayerPrefs.SetInt(DrawingFileCountIntKey, file.Index + 1); } // PlayerPrefs.Flush(); }
DrawingController AddDrawing(DrawingFile file) { var drawing = Instantiate(DrawingPrototype); drawing.transform.SetParent(DrawingContainer, false); var drawingController = drawing.GetComponent <DrawingController>(); drawings.Add(drawingController); drawingController.Init(file); drawingController.OnClickedEvent += OnDrawingClicked; return(drawingController); }
public void OnNewButtonClicked() { var newDrawing = new DrawingFile(); newDrawing.Index = DataLayer.GetFileCount(); newDrawing.DateCreated = System.DateTime.Now.ToLongDateString(); newDrawing.Size = new Short2(8, 8); newDrawing.Layers = new LayerFile[0]; DataLayer.SaveUnsavedFile(newDrawing); App.CurrentDrawingFile = newDrawing; StopAllCoroutines(); StartCoroutine(SceneTransitionHandler()); }
public Drawing(DrawingFile file, CanvasController canvasUi, Selection selection) { this.file = file; size = file.Size; this.canvasUi = canvasUi; this.selection = selection; var layerUis = LayerTabController.Instance.AddLayers(file.Layers.Length); foreach (var layer in file.Layers) { layers.Add(new Layer(layer, size, layerUis[layer.Index])); } RenderDrawing(); }
public DrawingFileFoundMessage(DrawingFile foundFile) { FoundFile = foundFile; }
public static string Serialize(DrawingFile file) { return(JSON.ToNiceJSON(file, JSON.Parameters)); }
public async Task FindDrawingFilesAsync(string drawingNumber) { if (_searchInProgress) { return; } _searchInProgress = true; // do a full search if the same drawing number is searched twice in a row if (drawingNumber == _lastSearch && _searchCache.ContainsKey(drawingNumber)) { _searchCache.Remove(drawingNumber); } _lastSearch = drawingNumber; if (_searchCache.ContainsKey(drawingNumber)) { foreach (var result in _searchCache[drawingNumber]) { Messenger.Default.Send(new DrawingFileFoundMessage(result)); } } else { await Task.Factory.StartNew(() => { var rootFolder = Settings.Default.DrawingFileFolderName; var searchPattern = "*" + drawingNumber + "*"; var results = new List <DrawingFile>(); var pending = new Queue <string>(); pending.Enqueue(rootFolder); while (pending.Count > 0) { rootFolder = pending.Dequeue(); var tmp = Directory.GetFiles(rootFolder, searchPattern); for (var i = 0; i < tmp.Length; i++) { var ext = Path.GetExtension(tmp[i]).ToLower(); if (_validFileExtensions.All(validExt => ext != validExt)) { continue; } BitmapSource icon = null; Application.Current.Dispatcher.Invoke(() => icon = GetIcon(tmp[i])); var file = new DrawingFile(); file.FileName = Path.GetFileNameWithoutExtension(tmp[i]); file.FullPath = tmp[i]; file.CreatedAt = File.GetLastWriteTime(tmp[i]); file.Icon = icon; results.Add(file); Messenger.Default.Send(new DrawingFileFoundMessage(file)); } tmp = Directory.GetDirectories(rootFolder); for (var i = 0; i < tmp.Length; i++) { pending.Enqueue(tmp[i]); } } if (results.Count > 0) { _searchCache.Add(drawingNumber, results); } }); } _searchInProgress = false; }
public void Init(DrawingFile file) { DrawingFile = file; RenderDrawing(); }