bool OpenEditor() { if (!CanOpen()) { Debug.LogError("[e2d] Failed to open editor."); return(false); } if (!Camera) { Camera = Camera.main; } if (FontColorAuto) { Color bg = Camera.backgroundColor; FontColor = new Color(bg.r, bg.g, bg.b, 1f); } if (buffer == null) { var chunk = ChunkUtil.Alloc(TileSize, MinArea, MaxArea, Sorting); buffer = CreateBuffer(ref chunk); var theme = new Overlay.Theme() { cursor = T0Cursor, grid_square = T1GridSquare, grid_active = T2GridActive, background = T3Background, border = PaletteBorder, font = Font, font_scaling = FontScaling, font_color = FontColor, status_color = StatusColor, status_padding = StatusPadding, palette_area = new Vector2Int(PaletteWidth, PaletteHeight), palette_display = PreviewPosition, show_preview_text = ShowPreviewText, preview_width = PreviewWidth, relative_position = RelativePosition }; Overlay.Initialize(transform, theme, buffer.palette); } if (OnEditorOpened != null) { OnEditorOpened(this, buffer); } return(true); }
void LoadLevel() { if (!Camera) { Camera = Camera.main; } var chunk = ChunkUtil.Alloc(TileSize, MinArea, MaxArea, Sorting); var tmp_buffer = CreateBuffer(ref chunk); tmp_buffer.LoadBufferFromFile(); tmp_buffer.Free(); }
void ClearLevel() { if (!Camera) { Camera = Camera.main; } var chunk = ChunkUtil.Alloc(TileSize, MinArea, MaxArea, Sorting); var tmp_buffer = CreateBuffer(ref chunk); for (int layer = 0; layer < chunk.layers.Count; layer++) { tmp_buffer.layer = layer; tmp_buffer.SelectAllInLayer(); tmp_buffer.Erase(); } tmp_buffer.Free(); }