-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathboard-game.dart
59 lines (43 loc) · 1.04 KB
/
board-game.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import 'dart:ui';
import 'package:flame/flame.dart';
import 'package:flame/game.dart';
import 'package:flutter/gestures.dart';
import 'controller.dart';
import 'player-ship.dart';
class BoardGame extends Game {
Size screenSize;
double tileSize;
Controller controller;
PlayerShip playerShip;
BoardGame() {
initialize();
}
void initialize() async {
resize(await Flame.util.initialDimensions());
controller = Controller(this);
playerShip = PlayerShip(this);
}
void resize(Size size) {
screenSize = size;
tileSize = screenSize.height / 9; // 9:16 ratio
}
@override
void render(Canvas canvas) {
controller.render(canvas);
playerShip.render(canvas);
}
@override
void update(double t) {
controller.update(t);
playerShip.update(t);
}
void onPanStart(DragStartDetails details) {
controller.onPanStart(details);
}
void onPanUpdate(DragUpdateDetails details) {
controller.onPanUpdate(details);
}
void onPanEnd(DragEndDetails details) {
controller.onPanEnd(details);
}
}