///|
fn main {
println("--- Game NPC AI Example ---")
let builder : @fsm.Builder[String, String, Unit] = @fsm.Builder::new()
.transition("Patrol", "PlayerSpotted", "Chase")
.transition("Chase", "PlayerLost", "Search")
.transition("Search", "Timeout", "Patrol")
.transition("Chase", "InAttackRange", "Attack")
.transition("Attack", "PlayerOutOfRange", "Chase")
.transition("Attack", "PlayerDefeated", "Patrol")
println("Mermaid Diagram:\n" + @fsm.to_mermaid(builder))
}