Behavior.fromJson constructor
Behavior.fromJson(
- 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'],
);
}