Documentation
¶
Index ¶
- Variables
- func MakeCheatsMenu(cfg CheatsMenu) *ui.Window
- func MakeLicenseWindow(windowWidth, windowHeight int, cfg License) *ui.Window
- func MakePiPWindow(windowWidth, windowHeight int, cfg PiP) *ui.Window
- func MakeSettingsWindow(windowWidth, windowHeight int, cfg Settings) *ui.Window
- func NewAboutWindow(cfg About) *ui.Window
- func NewAddEditLevel(config AddEditLevel) *ui.Window
- func NewCheatsWindow(cfg CheatsMenu) *ui.Window
- func NewDoodadConfigWindow(cfg *DoodadConfig) *ui.Window
- func NewDoodadDropper(config DoodadDropper) *ui.Window
- func NewDoodadPropertiesWindow(cfg *DoodadProperties) *ui.Window
- func NewFileSystemWindow(cfg FileSystem) *ui.Window
- func NewLayerWindow(config Layers) *ui.Window
- func NewLevelPackWindow(config LevelPack) *ui.Window
- func NewLicenseWindow(cfg License) *ui.Window
- func NewOpenDrawingWindow(config OpenDrawing) *ui.Window
- func NewOpenLevelEditor(config OpenLevelEditor) *ui.Window
- func NewPaletteEditor(config PaletteEditor) *ui.Window
- func NewPiPWindow(cfg PiP) *ui.Window
- func NewPublishWindow(cfg Publish) *ui.Window
- func NewSettingsWindow(cfg Settings) *ui.Window
- func NewTextToolWindow(cfg TextTool) *ui.Window
- type About
- type AddEditLevel
- type CheatsMenu
- type DoodadConfig
- type DoodadDropper
- type DoodadProperties
- type FileSystem
- type Layers
- type LevelPack
- type License
- type OpenDrawing
- type OpenLevelEditor
- type PaletteEditor
- type PiP
- type Publish
- type SetTextable
- type Settings
- type TextTool
Constants ¶
This section is empty.
Variables ¶
var GenericScripts = []struct { Label string Help string Filename string SetTags map[string]string }{ { Label: "Generic Solid", Help: "The whole canvas of your doodad acts solid.\n" + "The player and other mobile doodads can walk on\n" + "top of it, and it blocks movement from the sides.", Filename: "assets/scripts/generic-solid.js", }, { Label: "Generic Fire", Help: "The whole canvas of your doodad acts like fire.\n" + "Mobile doodads who touch it turn dark, and if\n" + "the player touches it - game over! The failure\n" + "message says: 'Watch out for (title)!'", Filename: "assets/scripts/generic-fire.js", }, { Label: "Generic Anvil", Help: "This doodad will behave like the Anvil: fall with\n" + "gravity and be deadly to any mobile doodad that it\n" + "lands on! The failure message says:\n" + "'Watch out for (title)!'", Filename: "assets/scripts/generic-anvil.js", }, { Label: "Generic Collectible Item", Help: "This doodad will behave like a pocketable item, like\n" + "the Keys. Tip: set a Doodad tag like quantity=0 to set\n" + "the item quantity when picked up (default is 1).", Filename: "assets/scripts/generic-item.js", SetTags: map[string]string{ "quantity": "1", }, }, }
Some generic built-in doodad scripts users can attach.
Functions ¶
func MakeCheatsMenu ¶
func MakeCheatsMenu(cfg CheatsMenu) *ui.Window
MakeCheatsMenu initializes a settings window for any scene. The window width/height are the actual SDL2 window dimensions.
func MakeLicenseWindow ¶
MakeLicenseWindow initializes a license window for any scene. The window width/height are the actual SDL2 window dimensions.
func MakePiPWindow ¶
MakePiPWindow initializes a license window for any scene. The window width/height are the actual SDL2 window dimensions.
func MakeSettingsWindow ¶
MakeSettingsWindow initializes a settings window for any scene. The window width/height are the actual SDL2 window dimensions.
func NewAboutWindow ¶
NewAboutWindow initializes the window.
func NewAddEditLevel ¶
func NewAddEditLevel(config AddEditLevel) *ui.Window
NewAddEditLevel initializes the window.
func NewCheatsWindow ¶
func NewCheatsWindow(cfg CheatsMenu) *ui.Window
NewCheatsWindow initializes the window.
func NewDoodadConfigWindow ¶
func NewDoodadConfigWindow(cfg *DoodadConfig) *ui.Window
NewSettingsWindow initializes the window.
func NewDoodadDropper ¶
func NewDoodadDropper(config DoodadDropper) *ui.Window
NewDoodadDropper initializes the window.
func NewDoodadPropertiesWindow ¶
func NewDoodadPropertiesWindow(cfg *DoodadProperties) *ui.Window
NewSettingsWindow initializes the window.
func NewFileSystemWindow ¶
func NewFileSystemWindow(cfg FileSystem) *ui.Window
NewFileSystemWindow initializes the window.
func NewLayerWindow ¶
NewLayerWindow initializes the window.
func NewLevelPackWindow ¶
NewLevelPackWindow initializes the window.
func NewLicenseWindow ¶
NewLicenseWindow initializes the window.
func NewOpenDrawingWindow ¶
func NewOpenDrawingWindow(config OpenDrawing) *ui.Window
NewOpenDrawingWindow initializes the window.
func NewOpenLevelEditor ¶
func NewOpenLevelEditor(config OpenLevelEditor) *ui.Window
NewOpenLevelEditor initializes the window.
func NewPaletteEditor ¶
func NewPaletteEditor(config PaletteEditor) *ui.Window
NewPaletteEditor initializes the window.
func NewPublishWindow ¶
NewPublishWindow initializes the window.
func NewSettingsWindow ¶
NewSettingsWindow initializes the window.
func NewTextToolWindow ¶
NewTextToolWindow initializes the window.
Types ¶
type About ¶
type About struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
}
About window.
type AddEditLevel ¶
type AddEditLevel struct {
Supervisor *ui.Supervisor
Engine render.Engine
// Editing settings for an existing level?
EditLevel *level.Level
// Show the "New Doodad" tab by default?
NewDoodad bool
// Callback functions.
OnChangePageTypeAndWallpaper func(pageType level.PageType, wallpaper string)
OnCreateNewLevel func(*level.Level)
OnCreateNewDoodad func(width, height int)
OnUpdateScreenshot func() error
OnReload func()
OnCancel func()
}
AddEditLevel is the "Create New Level & Edit Level Properties" window
type CheatsMenu ¶
type CheatsMenu struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
// SceneName: the caller will provide a fresh SceneName since
// the cheats window could span multiple scenes.
SceneName func() string
// Window wants to run a developer shell command (e.g. cheat codes).
RunCommand func(string)
OnSetPlayerCharacter func(string)
}
CheatsMenu window.
type DoodadConfig ¶
type DoodadConfig struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
// Configuration options.
EditActor *uix.Actor
ActiveTab string // specify the tab to open
OnRefresh func() // caller should rebuild the window
// Widgets.
TabFrame *ui.TabFrame
}
DoodadConfig window is what pops up in Edit Mode when you mouse over an actor and click its properties button.
type DoodadDropper ¶
type DoodadDropper struct {
Supervisor *ui.Supervisor
Engine render.Engine
// Editing settings for an existing level?
EditLevel *level.Level
// Callback functions.
OnStartDragActor func(doodad *doodads.Doodad, actor *level.Actor)
OnCancel func()
}
DoodadDropper is the doodad palette pop-up window for Editor Mode.
type DoodadProperties ¶
type DoodadProperties struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
// Configuration options.
EditDoodad *doodads.Doodad
ActiveTab string // specify the tab to open
OnRefresh func() // caller should rebuild the window
// Widgets.
TabFrame *ui.TabFrame
}
DoodadProperties window.
type FileSystem ¶
type FileSystem struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
Level *level.Level
OnDelete func(filename string) bool
OnCancel func()
// contains filtered or unexported fields
}
FileSystem window shows the file attachments to the current level.
type Layers ¶
type Layers struct {
Supervisor *ui.Supervisor
Engine render.Engine
// Pointer to the currently edited level.
EditDoodad *doodads.Doodad
ActiveLayer int // pointer to selected layer
// Callback functions.
OnChange func(*doodads.Doodad) // Doodad data was modified, reload the Canvas etc.
OnAddLayer func() // "Add Layer" button was clicked
OnCancel func() // Close button was clicked.
// Editor should change the active layer
OnChangeLayer func(index int)
// contains filtered or unexported fields
}
Layers shows the layers when editing a doodad file.
type LevelPack ¶
type LevelPack struct {
Supervisor *ui.Supervisor
Engine render.Engine
// Callback functions.
OnPlayLevel func(pack *levelpack.LevelPack, level levelpack.Level)
OnCloseWindow func()
// contains filtered or unexported fields
}
LevelPack window lets the user open and play a level from a pack.
type License ¶
type License struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
OnLicensed func()
OnCancel func()
}
License window.
type OpenDrawing ¶
type OpenDrawing struct {
Supervisor *ui.Supervisor
Engine render.Engine
LevelsOnly bool
// Callback functions.
OnOpenDrawing func(filename string)
OnCloseWindow func()
// contains filtered or unexported fields
}
OpenDrawing window lets the user open a drawing or play a user level.
type OpenLevelEditor ¶
type OpenLevelEditor struct {
Supervisor *ui.Supervisor
Engine render.Engine
// Load it for playing instead of editing?
LoadForPlay bool
// Callback functions.
OnPlayLevel func(filename string)
OnEditLevel func(filename string)
OnCancel func()
}
OpenLevelEditor is the "Open a Level to Edit It" window
DEPRECATED: in favor of OpenDrawing which has a nicer listbox instead of the ugly button grid of this window.
You can invoke this old window by the shell commands `$ d.GotoPlayMenu()` or `$ d.GotoLoadMenu()`
type PaletteEditor ¶
type PaletteEditor struct {
Supervisor *ui.Supervisor
Engine render.Engine
IsDoodad bool // you're editing a doodad instead of a level?
// Pointer to the currently edited palette, be it
// from a level or a doodad.
EditPalette *level.Palette
// Callback functions.
OnChange func()
OnAddColor func()
OnCancel func()
}
PaletteEditor lets you customize the level palette in Edit Mode.
type PiP ¶
type PiP struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
Level *level.Level
Event *event.State
Tool *drawtool.Tool
BrushSize *int
// Or sensible defaults:
Width int
Height int
OnCancel func()
}
PiP window.
type Publish ¶
type Publish struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
Level *level.Level
OnPublish func(builtinToo bool)
OnCancel func()
// contains filtered or unexported fields
}
Publish window.
type SetTextable ¶
SetTextable is a Button or Checkbox widget having a SetText function, to support the reset button on the Doodad Options tab.
type Settings ¶
type Settings struct {
// Settings passed in by doodle
Supervisor *ui.Supervisor
Engine render.Engine
// Boolean bindings.
DebugOverlay *bool
DebugCollision *bool
HorizontalToolbars *bool
EnableFeatures *bool
CrosshairSize *int
CrosshairColor *render.Color
HideTouchHints *bool
DisableAutosave *bool
ControllerStyle *int
// Configuration options.
SceneName string // name of scene which called this window
ActiveTab string // specify the tab to open
OnApply func()
OnOpenCheatsWindow func() *ui.Window // user opens the Cheats Menu
// contains filtered or unexported fields
}
Settings window.