Documentation ¶
Index ¶
- Constants
- type Animation
- type AnimationCommand
- type AnimationCommandType
- type AnimationControl
- type Components
- type ControlState
- type ControlStateType
- type EndControl
- type EndControlType
- type EngineComponents
- type MouseReactive
- type Sprite
- type SpriteRender
- type SpriteSheet
- type Text
- type Texture
- type Transform
- type UITransform
Constants ¶
const ( TopLeft = "TopLeft" TopMiddle = "TopMiddle" TopRight = "TopRight" MiddleLeft = "MiddleLeft" Middle = "Middle" MiddleRight = "MiddleRight" BottomLeft = "BottomLeft" BottomMiddle = "BottomMiddle" BottomRight = "BottomRight" )
Pivot variants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Animation ¶ added in v0.2.0
type Animation struct { // List of times (must be in strictly increasing order, with first element equal to 0) Time []float64 // List of sprite numbers (must have one less element than the Time field, and at least one element) SpriteNumber []int `toml:"sprite_number"` }
Animation structure
func (*Animation) UnmarshalTOML ¶ added in v0.2.0
UnmarshalTOML fills structure fields from TOML data
type AnimationCommand ¶ added in v0.2.0
type AnimationCommand struct { // Animation command type Type AnimationCommandType // Command time, used only with AnimationCommandSetTime Time float64 }
AnimationCommand structure
type AnimationCommandType ¶ added in v0.2.0
type AnimationCommandType int
AnimationCommandType is an animation command type
const ( // AnimationCommandNone does nothing AnimationCommandNone AnimationCommandType = iota // AnimationCommandRestart restarts the animation AnimationCommandRestart // AnimationCommandStart starts the animation AnimationCommandStart // AnimationCommandStepBackward steps backward AnimationCommandStepBackward // AnimationCommandStepForward steps forward AnimationCommandStepForward // AnimationCommandSetTime sets animation time to the specified time value AnimationCommandSetTime // AnimationCommandPause pauses the animation AnimationCommandPause // AnimationCommandAbort aborts and removes the animation from entity AnimationCommandAbort )
type AnimationControl ¶ added in v0.2.0
type AnimationControl struct { // Reference animation Animation *Animation // End control End EndControl // Animation command Command AnimationCommand // Animation speed multiplier RateMultiplier float64 // contains filtered or unexported fields }
AnimationControl component
func (*AnimationControl) GetState ¶ added in v0.2.0
func (c *AnimationControl) GetState() ControlState
GetState returns animation control state
func (*AnimationControl) SetCurrentTime ¶ added in v0.2.0
func (c *AnimationControl) SetCurrentTime(time float64)
SetCurrentTime sets current animation time
func (*AnimationControl) SetStateType ¶ added in v0.2.0
func (c *AnimationControl) SetStateType(stateType ControlStateType)
SetStateType sets animation control state type
type Components ¶
type Components struct { Engine *EngineComponents Game interface{} }
Components contains engine and game components
func InitComponents ¶
func InitComponents(manager *ecs.Manager, gameComponents interface{}) *Components
InitComponents initializes components
type ControlState ¶ added in v0.2.0
type ControlState struct { // Control state type Type ControlStateType // Current animation time CurrentTime float64 }
ControlState structure
type ControlStateType ¶ added in v0.2.0
type ControlStateType int
ControlStateType is a control state type
const ( // ControlStateNotStarted is the default state ControlStateNotStarted ControlStateType = iota // ControlStateRunning is the running state ControlStateRunning // ControlStatePaused is the paused state ControlStatePaused // ControlStateDone is the done state ControlStateDone )
type EndControl ¶ added in v0.2.0
type EndControl struct { // End control type Type EndControlType }
EndControl structure
type EndControlType ¶ added in v0.2.0
type EndControlType int
EndControlType is an end control type
const ( // EndControlNormal goes back to the start of the animation EndControlNormal EndControlType = iota // EndControlStay stays at the end of the animation EndControlStay // EndControlLoop loops the animation EndControlLoop )
type EngineComponents ¶
type EngineComponents struct { SpriteRender *ecs.Component Transform *ecs.Component AnimationControl *ecs.Component Text *ecs.Component UITransform *ecs.Component MouseReactive *ecs.Component }
EngineComponents contains references to all engine components
type MouseReactive ¶
MouseReactive component
type Sprite ¶
type Sprite struct { // Horizontal position of the sprite in the sprite sheet X int // Vertical position of the sprite in the sprite sheet Y int // Width of the sprite Width int // Height of the sprite Height int }
Sprite structure
type SpriteRender ¶
type SpriteRender struct { // Reference sprite sheet SpriteSheet *SpriteSheet // Index of the sprite on the sprite sheet SpriteNumber int // Draw options Options ebiten.DrawImageOptions }
SpriteRender component
type SpriteSheet ¶
type SpriteSheet struct { // Texture image Texture Texture `toml:"texture_image"` // List of sprites Sprites []Sprite // List of animations Animations map[string]Animation }
SpriteSheet structure
type Texture ¶
Texture structure
func (*Texture) UnmarshalText ¶
UnmarshalText fills structure fields from text data
type Transform ¶
type Transform struct { // Scale1 vector defines image scaling. Contains scale value minus 1 so that zero value is identity. Scale1 math.Vector2 `toml:"scale_minus_1"` // Rotation angle is measured counterclockwise. Rotation float64 // Translation defines the position of the image center relative to the origin. Translation math.Vector2 // Depth determines the drawing order on the screen. Images with higher depth are drawn above others. Depth float64 }
Transform component. The origin (0, 0) is the lower left part of screen. Image is first rotated, then scaled, and finally translated.
func NewTransform ¶
func NewTransform() *Transform
NewTransform creates a new default transform, corresponding to identity.
func (*Transform) SetRotation ¶
SetRotation sets transform rotation.
func (*Transform) SetTranslation ¶
SetTranslation sets transform translation.
type UITransform ¶
type UITransform struct { // Translation defines the position of the pivot relative to the origin. Translation math.VectorInt2 // Pivot defines the position of the element relative to its translation (default is Middle). Pivot string }
UITransform component