Noah Petherbridge
a7fd3aa1ca
Adds the first features to Edit Mode to support creation of Doodad files! The "New Doodad" button pops up a prompt for a Doodad size (default 100px) and configures the Canvas widget and makes a Doodad struct instead of a Level to manage. * Move the custom Canvas widget from `level.Canvas` to `uix.Canvas` (the uix package is for our custom UI widgets now) * Rename the `doodads.Doodad` interface (for runtime instances of Doodads) to `doodads.Actor` and make `doodads.Doodad` describe the file format and JSON schema instead. * Rename the `EditLevel()` method to `EditDrawing()` and it inspects the file extension to know whether to launch the Edit Mode for a Level or for a Doodad drawing. * Doodads can be edited by using the `-edit` CLI flag or using the in-game file open features (including `edit` command of dev console). * Add a `Scrollable` boolean to uix.Canvas to restrict the keyboard being able to scroll the level, for editing Doodads which have a fixed size.
12 lines
294 B
Go
12 lines
294 B
Go
package doodle
|
|
|
|
import "git.kirsle.net/apps/doodle/uix"
|
|
|
|
// TODO: build flags to not include this in production builds.
|
|
// This adds accessors for private variables from the dev console.
|
|
|
|
// GetDrawing returns the uix.Canvas
|
|
func (w *EditorScene) GetDrawing() *uix.Canvas {
|
|
return w.drawing
|
|
}
|