コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }