# and the like. It can be used to standardize the size of the UI across
# devices. It is used to position the sprites in `App::ui_sprites`.
#
-# See the sample game at `contrib/asteronits/`.
+# See the sample game at `contrib/asteronits/` and the basic project template
+# at `lib/gamnit/examples/template_flat/`.
module flat
import glesv2
import gamnit
import gamnit::cameras
+import gamnit::dynamic_resolution
import gamnit::limit_fps
import android_two_fingers_motion is conditional(android)
# Draw the whole screen, all `glDraw...` calls should be executed here
protected fun frame_core_draw(display: GamnitDisplay)
do
- perf_clock_main.lapse
+ frame_core_dynamic_resolution_before display
+ perf_clock_main.lapse
frame_core_world_sprites display
perfs["gamnit flat world_sprites"].add perf_clock_main.lapse
frame_core_ui_sprites display
perfs["gamnit flat ui_sprites"].add perf_clock_main.lapse
+
+ frame_core_dynamic_resolution_after display
end
private fun frame_core_sprites(display: GamnitDisplay, sprite_set: SpriteSet, camera: Camera)
redef fun add(e)
do
+ if contexts_items.has(e.context) then return
map_sprite e
super
end
if e isa Sprite then unmap_sprite e
end
+ redef fun remove_all(e)
+ do
+ if not has(e) then return
+ remove e
+ end
+
redef fun clear
do
super