Documentation ¶
Index ¶
- func Get[V any](r ReflectRegistry) (V, bool)
- func Load[M any](s *Store, model M, view string) M
- func ORM()
- func TypeOf[V any]() reflect.Type
- type AssetSystem
- type AudioSystem
- type Camera
- type Contact
- type DebugEvent
- type DebugGraph
- type DebugLog
- type DebugProfiler
- type DebugSnapshot
- type DebugSystem
- type Employee
- type EventSystem
- type Game
- type GameSettings
- type GameState
- type GameSystem
- type GameTime
- type Graphics
- type GraphicsSystem
- type InputSystem
- type ManyToOne
- type Matrix
- type ORMView
- type ORMViewField
- type OneToMany
- type OneToOne
- type Order
- type Query
- type QueryLogic
- type ReflectRegistry
- type Results
- type SQL
- type Scene
- type Screen
- type Shape
- type Space
- type SpaceCollisionCallback
- type SpaceComponent
- type SpaceCoord
- type SpaceNearest
- type SpaceQuery
- type SpaceSearchCallback
- type Stage
- type StageManager
- type StageWindow
- type StatDatabase
- type StatPoint
- type StatSet
- type Storage
- type Store
- type Table
- type Timer
- type User
- type View
- type Window
- type WindowSystem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AssetSystem ¶
type AssetSystem interface{}
type AudioSystem ¶
type AudioSystem interface { GameSystem }
type DebugEvent ¶
type DebugEvent struct { Id int Name string Parent *DebugEvent Depth int Children []*DebugEvent Sibling *DebugEvent }
type DebugGraph ¶
type DebugGraph struct { Placement ui.Placement Database *StatDatabase Set *StatSet }
type DebugProfiler ¶
type DebugProfiler struct{}
func (*DebugProfiler) Begin ¶
func (prof *DebugProfiler) Begin(ev string)
func (*DebugProfiler) End ¶
func (prof *DebugProfiler) End()
type DebugSystem ¶
type DebugSystem struct { Logs []DebugLog Snapshots []DebugSnapshot Graphs []DebugGraph Events []DebugEvent Enabled bool }
type EventSystem ¶
type EventSystem interface{}
type Game ¶
type Game struct { Debug DebugSystem Assets AssetSystem Windows WindowSystem Graphics GraphicsSystem Input InputSystem Actions input.ActionSets Audio AudioSystem Events EventSystem Stages StageManager State GameState Settings GameSettings Running bool }
type GameSettings ¶
type GameSystem ¶
type GraphicsSystem ¶
type GraphicsSystem interface { GameSystem }
type InputSystem ¶
type InputSystem interface { GameSystem input.InputSystem }
type ORMView ¶
type ORMView struct {
Fields []ORMViewField
}
type ORMViewField ¶
type QueryLogic ¶
type ReflectRegistry ¶
type Shape ¶
type Shape interface { Finite() bool Distance(point SpaceCoord) float32 Normal(point SpaceCoord, out *SpaceCoord) bool Raytrace(point SpaceCoord, direction SpaceCoord) bool }
type Space ¶
type Space interface { GameSystem Collisions(flags util.Match[int], callback SpaceCollisionCallback) Intersects(query SpaceQuery, callback SpaceSearchCallback) int Contains(query SpaceQuery, callback SpaceSearchCallback) int Raytrace(query SpaceQuery, callback SpaceSearchCallback) int KNN(query SpaceQuery, nearest []SpaceNearest, nearestCount *int) }
type SpaceCollisionCallback ¶
type SpaceComponent ¶
type SpaceCoord ¶
type SpaceNearest ¶
type SpaceQuery ¶
type SpaceQuery struct { Point SpaceCoord End SpaceCoord Shape Shape Maximum int Flags util.Match[int] }
type SpaceSearchCallback ¶
type SpaceSearchCallback func(entity any, overlap float32, index int, query SpaceQuery) bool
type Stage ¶
type Stage struct { Name string Assets []asset.Ref Windows []StageWindow Scenes []Scene Views []View Actions input.ActionSets }
type StageManager ¶
type StageWindow ¶
type StatDatabase ¶
type Storage ¶
type Storage[E any, PK comparable] interface { Get(ctx context.Context, pk PK) (E, error) Create(ctx context.Context, e E) (PK, error) Update(ctx context.Context, e E, pk PK) error Delete(ctx context.Context, pk PK) error Search(ctx context.Context, q Query) (Results[E], error) First(ctx context.Context, q Query) (*E, error) All(ctx context.Context, q Query) ([]E, error) Exists(ctx context.Context, q Query) (bool, error) }
type User ¶
type User struct { Table `t:"Users" pk:"UserID"` ID string `c:"UserID"` Name string `c:"EmpName" v:"*"` // on all views Email string `c:"Email" v:"withEmail,withEmployee"` Employee OneToOne[Employee] `c:"EmpID" v:"withEmployee(basic)"` // just on this view }
User{ID: 23}.Load(ctx, UserViewEmployee)
type WindowSystem ¶
type WindowSystem interface { GameSystem MainWindow() Window Windows() []Window Screens() []Screen }
Click to show internal directories.
Click to hide internal directories.