import 'dart:math'; import 'package:flame/game.dart'; import 'package:flame_oxygen/flame_oxygen.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'component/timer_component.dart'; import 'component/velocity_component.dart'; import 'system/debug_system.dart'; import 'system/kawabunga_system.dart'; import 'system/move_system.dart'; import 'system/sprite_system.dart'; void main() { runApp(GameWidget(game: ExampleGame())); } class ExampleGame extends OxygenGame with FPSCounter { @override Future init() async { if (kDebugMode) { world.registerSystem(DebugSystem()); } world.registerSystem(MoveSystem()); world.registerSystem(SpriteSystem()); world.registerSystem(KawabungaSystem()); world.registerComponent(() => TimerComponent()); world.registerComponent( () => VelocityComponent(), ); final random = Random(); for (var i = 0; i < 10; i++) { createEntity( name: 'Entity $i', position: size / 2, size: Vector2.all(64), angle: 0, ) ..add( SpriteInit(await loadSprite('pizza.png')), ) ..add( Vector2( random.nextDouble() * 100 * (random.nextBool() ? 1 : -1), random.nextDouble() * 100 * (random.nextBool() ? 1 : -1), ), ); } } }