fluttershy_backend_dartex 0.0.2 copy "fluttershy_backend_dartex: ^0.0.2" to clipboard
fluttershy_backend_dartex: ^0.0.2 copied to clipboard

discontinued

Dartex fluttershy backend.

example/lib/main.dart

import 'package:flutter/material.dart' hide State, Transform, Size;
import 'package:fluttershy/fluttershy.dart';
import 'package:fluttershy/size.dart';
import 'package:fluttershy_backend_dartex/fluttershy_backend_dartex.dart';
import 'package:fluttershy_backend_dartex/components/transform.dart';
import 'package:fluttershy_backend_dartex/components/rectangle.dart';
import 'package:fluttershy_backend_dartex/components/camera.dart';
import 'package:fluttershy_backend_dartex/components/origin.dart';
import 'package:fluttershy_backend_dartex/components/parent.dart';
import 'package:vector_math/vector_math_64.dart' hide Colors;

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        resizeToAvoidBottomInset: false,
        body: Fluttershy(
          backgroundColor: Colors.black,
          backend: DartexBackend(
            systems: [],
            init: (context, world) {
              final test = world
                  .createEntity()
                  .withComponent(Transform(
                    translation: Vector3(100.0, 100.0, 0.0),
                  ))
                  .withComponent(
                    Rectangle(
                      size: Size(180.0, 180.0),
                      color: Colors.white,
                    ),
                  )
                  .build();

              world
                  .createEntity()
                  .withComponent(Transform(
                    translation: Vector3(0.0, 180.0, 0.0),
                    rotation: Quaternion.euler(0.0, 0.0, 0.8),
                    scale: Vector3.all(0.5),
                  ))
                  .withComponent(
                    Rectangle(
                      size: Size(180.0, 180.0),
                      color: Colors.red,
                    ),
                  )
                  .withComponent(
                    Parent(test),
                  )
                  .withComponent(
                    Origin(
                      offset: Vector3(90.0, 90.0, 0.0),
                    ),
                  )
                  .build();

              world
                  .createEntity()
                  .withComponent(Transform(
                    translation: Vector3(0.0, 0.0, 0.0),
                    rotation: Quaternion.euler(0.0, 0.0, 0.0),
                    scale: Vector3.all(1.0),
                  ))
                  .withComponent(
                    Camera(
                      size: Size(double.infinity, 900.0),
                    ),
                  )
                  .build();
            },
          ),
        ),
      ),
    );
  }
}