feat: FlameIsolate - a neat way of handling threads (#1909)

Adding a bridge library for integral_isolates adding support for components to run CPU intensive code with a function similar to Flutter's compute function, but with a long lived isolate. Lifecycle is handled by the game loop, where the isolate would live between onMount and onRemove.
This commit is contained in:
Johannes Löhnn
2022-10-31 21:06:27 +01:00
committed by GitHub
parent 0bcd5e594d
commit b25b935644
43 changed files with 2082 additions and 0 deletions

View File

@ -0,0 +1,24 @@
import 'package:flame/components.dart';
import 'package:flutter/material.dart';
import 'package:flutter_isolates_example/terrain/terrain.dart';
class Grass extends PositionComponent with Terrain {
static final _color = Paint()..color = const Color(0xff567d46);
static final _debugColor = Paint()..color = Colors.black.withOpacity(.5);
late final _rect = size.toRect();
late final _rect2 = Rect.fromCenter(
center: _rect.center,
height: 10,
width: 10,
);
@override
void render(Canvas canvas) {
canvas.drawRect(_rect, _color);
canvas.drawRect(_rect2, _debugColor);
}
@override
double difficulty = 1.0;
}