d2screen

package
v0.0.0-...-7f92c57 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2021 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Overview

Package d2screen provides a means of defining and transitioning between game screens

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LoadingState

type LoadingState struct {
	// contains filtered or unexported fields
}

LoadingState represents the loading state

func (*LoadingState) Done

func (l *LoadingState) Done()

Done provides a way for callers to report that screen loading has been completed.

func (*LoadingState) Error

func (l *LoadingState) Error(err error)

Error provides a way for callers to report an error during loading.

func (*LoadingState) Progress

func (l *LoadingState) Progress(ratio float64)

Progress provides a way for callers to report the ratio between `0` and `1` of the progress made loading a screen.

type Screen

type Screen interface{}

Screen is an exported interface

type ScreenAdvanceHandler

type ScreenAdvanceHandler interface {
	Advance(elapsed float64) error
}

ScreenAdvanceHandler is an exported interface

type ScreenLoadHandler

type ScreenLoadHandler interface {
	// OnLoad performs all necessary loading to prepare a screen to be shown such as loading assets, placing and binding
	// of ui elements, etc. This loading is done asynchronously. The provided channel will allow implementations to
	// provide progress via Error, Progress, or Done
	OnLoad(loading LoadingState)
}

ScreenLoadHandler is an exported interface

type ScreenManager

type ScreenManager struct {
	*d2util.Logger
	// contains filtered or unexported fields
}

ScreenManager manages game screens (main menu, credits, character select, game, etc)

func NewScreenManager

func NewScreenManager(ui *d2ui.UIManager, l d2util.LogLevel, guiManager *d2gui.GuiManager) *ScreenManager

NewScreenManager creates a screen manager

func (*ScreenManager) Advance

func (sm *ScreenManager) Advance(elapsed float64) error

Advance updates the UI on every frame

func (*ScreenManager) Render

func (sm *ScreenManager) Render(surface d2interface.Surface)

Render renders the UI by a given surface

func (*ScreenManager) SetNextScreen

func (sm *ScreenManager) SetNextScreen(screen Screen)

SetNextScreen is about to set a given screen as next

type ScreenRenderHandler

type ScreenRenderHandler interface {
	Render(target d2interface.Surface)
}

ScreenRenderHandler is an exported interface

type ScreenUnloadHandler

type ScreenUnloadHandler interface {
	OnUnload() error
}

ScreenUnloadHandler is an exported interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL