Mercurial > games > semicongine
comparison src/semicongine/engine.nim @ 140:29f0109c5222
add: some helper functions
author | Sam <sam@basx.dev> |
---|---|
date | Sat, 22 Apr 2023 17:34:42 +0700 |
parents | e6c7973d8525 |
children | 9c0d7839dc91 |
comparison
equal
deleted
inserted
replaced
139:34112bf5abf8 | 140:29f0109c5222 |
---|---|
88 | 88 |
89 proc addScene*(engine: var Engine, entity: Entity, vertexInput: seq[ShaderAttribute]) = | 89 proc addScene*(engine: var Engine, entity: Entity, vertexInput: seq[ShaderAttribute]) = |
90 engine.renderer.setupDrawableBuffers(entity, vertexInput) | 90 engine.renderer.setupDrawableBuffers(entity, vertexInput) |
91 | 91 |
92 proc renderScene*(engine: var Engine, entity: Entity) = | 92 proc renderScene*(engine: var Engine, entity: Entity) = |
93 assert engine.renderer.valid | |
93 if engine.running: | 94 if engine.running: |
94 engine.renderer.render(entity) | 95 engine.renderer.render(entity) |
95 | 96 |
96 proc updateInputs*(engine: var Engine) = | 97 proc updateInputs*(engine: var Engine) = |
97 if not engine.running: | 98 if not engine.running: |
142 func mouseWasReleased*(engine: Engine, button: MouseButton): auto = button in engine.input.mouseWasReleased | 143 func mouseWasReleased*(engine: Engine, button: MouseButton): auto = button in engine.input.mouseWasReleased |
143 func mousePosition*(engine: Engine, key: Key): auto = engine.input.mousePosition | 144 func mousePosition*(engine: Engine, key: Key): auto = engine.input.mousePosition |
144 func eventsProcessed*(engine: Engine): auto = engine.input.eventsProcessed | 145 func eventsProcessed*(engine: Engine): auto = engine.input.eventsProcessed |
145 func framesRendered*(engine: Engine): auto = engine.renderer.framesRendered | 146 func framesRendered*(engine: Engine): auto = engine.renderer.framesRendered |
146 func gpuDevice*(engine: Engine): Device = engine.device | 147 func gpuDevice*(engine: Engine): Device = engine.device |
148 func getWindow*(engine: Engine): auto = engine.window |