ecsly 0.0.1-dev.9 copy "ecsly: ^0.0.1-dev.9" to clipboard
ecsly: ^0.0.1-dev.9 copied to clipboard

Experimental ECS core for Dart apps, including Flutter and Jaspr (early prerelease).

example/main.dart

import 'package:ecsly/ecsly.dart';

/// Tiny object component for the pub.dev example entry point.
///
/// `ecsly` also supports packed typed-data columns for hotter loops, but an
/// object component keeps the first example intentionally small.
class CounterComponent extends Component {
  CounterComponent(this.value);

  int value;
}

void main() {
  final world = World();
  world.components.registerObjectComponent<CounterComponent>();

  final entity = world.reserveEmptyEntity().entity;
  world.spawnBundle(entity, ComponentBundle.fromLists([CounterComponent(1)]));
  world.flush();

  for (final (_, counter) in world.queryMut<CounterComponent>()) {
    counter.value += 1;
    print('counter=${counter.value}');
  }
}
1
likes
150
points
0
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Experimental ECS core for Dart apps, including Flutter and Jaspr (early prerelease).

Homepage

Topics

#ecs #game-development #simulation #performance #dart

License

MIT (license)

Dependencies

directed_graph, from_json_to_json, meta

More

Packages that depend on ecsly