Behavior.fromJson constructor

Behavior.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory Behavior.fromJson(Map<String, dynamic> json) {
  return Behavior(
    type: BehaviorType.values.firstWhere((e) => e.name == json['type'],
        orElse: () => BehaviorType.speak),
    character: Character(
      id: json['character']['id'] ?? 'unknown',
      name: json['character']['name'] ?? 'Unknown',
      color: Colors.white, // Reverted to original manual construction
    ),
    dialog: json['dialog'],
    branch: json['branch'] != null ? Branch.fromJson(json['branch']) : null,
    position: json['position'] != null
        ? Position.values.firstWhere((e) => e.name == json['position'],
            orElse: () => Position.center)
        : null,
    state: json['state'] != null
        ? StateEnum.values.firstWhere((e) => e.name == json['state'],
            orElse: () => StateEnum.defaultState)
        : null,
    sound: json['sound'],
    characterImage: json['character']['image'],
  );
}