getEnum method

String getEnum({
  1. String name = "Tex",
})

For development and debugging purposes

Implementation

String getEnum({String name = "Tex"}) {
  int len = _frames.length + _textures.length;
  if (len == 0) return "enum $name {}";

  final buffer = StringBuffer();
  buffer.writeln("enum $name {");

  for (final key in _textures.keys) {
    buffer.write('  ${Helpers.toCamelCase(key)}("$key", 1)');
    len--;
    if (len == 0) {
      buffer.writeln(";");
    } else {
      buffer.writeln(",");
    }
  }
  buffer.writeln();

  if (len != 0) buffer.writeln("  // Animations");

  for (final key in _frames.keys) {
    buffer.write('  ${Helpers.toCamelCase(key)}("$key", ${_frames[key]!.length})');
    len--;
    if (len == 0) {
      buffer.writeln(";");
    } else {
      buffer.writeln(",");
    }
  }
  buffer.writeln();

  buffer.writeln('  final String assetName;');
  buffer.writeln('  final int frameCount;');
  buffer.writeln('  const $name(this.assetName, this.frameCount);');
  buffer.writeln();
  buffer.writeln('  @override');
  buffer.writeln('  String toString() => assetName;');
  buffer.write('}');

  return buffer.toString();
}