package Ġrs . d us k . world . interact . dialog ue . type Ċ Ċ import Ġcom . github . m ichael bull . logging . Inline Logger Ċ import Ġrs . d us k . engine . client . ui . dialog ue . Dialog ue Context Ċ import Ġrs . d us k . engine . client . ui . open Ċ import Ġrs . d us k . engine . entity . character . player . Player Ċ Ċ private Ġconst Ġval ĠMAX IMUM _ STATE MENT _ SIZE Ġ= Ġ 5 Ċ private Ġval Ġlogger Ġ= ĠInline Logger () Ċ Ċ suspend Ġfun ĠDialog ue Context . statement ( text : ĠString , Ġclick To Continue : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠ Ġval Ġlines Ġ= Ġtext . trim Indent (). lines () ĊĊĠĠĠ Ġif Ġ( lines . size Ġ> ĠMAX IMUM _ STATE MENT _ SIZE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . debug Ġ{ Ġ" Maximum Ġstatement Ġlines Ġexceeded Ġ${ lines . size } Ġfor Ġ$ player " Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġname Ġ= ĊĠĠĠĠĠĠĠ Ġget Interface Name (" message ", Ġlines . size , Ġclick To Continue ) ĊĠĠĠ Ġif Ġ( player . open ( name )) Ġ{ ĊĠĠĠĠĠĠĠ Ġsend Lines ( player , Ġname , Ġlines ) ĊĠĠĠĠĠĠĠ Ġawait < Unit >(" statement ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġsend Lines ( player : ĠPlayer , Ġname : ĠString , Ġlines : ĠList < String >) Ġ{ ĊĠĠĠ Ġfor Ġ(( index , Ġline ) Ġin Ġlines . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . interfaces . send Text ( name , Ġ" line ${ index Ġ+ Ġ 1 }", Ġline ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġget Interface Name ( name : ĠString , Ġlines : ĠInt , Ġprompt : ĠBoolean ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ"$ name ${ if Ġ(! prompt ) Ġ"_ np " Ġelse Ġ"" }$ lines " Ċ }