package Ġto ky o . a ie uo . mine flow . flow Item . action . script Ċ Ċ import Ġto ky o . a ie uo . mine flow . flow Item .* Ċ import Ġto ky o . a ie uo . mine flow . form API . element . Button Ċ import Ġto ky o . a ie uo . mine flow . form API . response . Custom Form Response List Ċ import Ġto ky o . a ie uo . mine flow . ui . Flow Item Container Form Ċ import Ġto ky o . a ie uo . mine flow . utils . Category Ċ Ċ @ Suppress (" Le aking This ") Ċ open Ġclass ĠIF Action ( conditions : ĠList < Flow Item > Ġ= ĠlistOf (), Ġactions : ĠList < Flow Item > Ġ= ĠlistOf ()) Ġ: ĊĠĠĠ ĠFlow Item (), ĠFlow Item Container Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġid Ġ= ĠFlow Item Ids . ACTION _ IF ĊĊĠĠĠ Ġoverride Ġval Ġname Translation Key Ġ= Ġ" action . if . name " ĊĠĠĠ Ġoverride Ġval Ġdetail Translation Key Ġ= Ġ" action . if . description " ĊĊĠĠĠ Ġoverride Ġval Ġcategory Ġ= ĠCategory . SCRIPT ĊĊĠĠĠ Ġoverride Ġvar Ġitems : ĠMutable Map < String , ĠMutable List < Flow Item >> Ġ= Ġmutable Map Of () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset Items ( conditions . to Mutable List (), ĠFlow Item Container . CONDITION ) ĊĠĠĠĠĠĠĠ Ġset Items ( actions . to Mutable List (), ĠFlow Item Container . ACTION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Detail (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdetails Ġ= Ġmutable ListOf ("", Ġ" Â§ 7 ============= Â§ f Ġif ĠÂ§ 7 =============== Â§ f ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( condition Ġin Ġget Conditions ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetails . add ( condition . get Detail ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdetails . add (" Â§ 7 ~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~ Â§ f ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( action Ġin Ġget Actions ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetails . add ( action . get Detail ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdetails . add (" Â§ 7 ================================ Â§ f ") ĊĠĠĠĠĠĠĠ Ġreturn Ġdetails . join ToString ("\ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Container Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( custom Name . isEmpty ()) ĠgetName () Ġelse Ġcustom Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( source : ĠFlow Item Executor ) Ġ= Ġsequence Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( condition Ġin Ġget Conditions ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( result Ġin Ġcondition . execute ( source )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== ĠFlow Item Executor . Result . FAILURE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyield ( Flow Item Executor . Result . FAILURE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ sequence ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġyield All ( Flow Item Executor ( get Actions (), Ġsource . target , Ġparent Ġ= Ġsource ). execute Generator ()) ĊĠĠĠĠĠĠĠ Ġyield ( Flow Item Executor . Result . SUCCESS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Data Valid (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Custom Menu (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Custom Menu Buttons (): ĠList < Button > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ("@ condition . edit ") Ġ{ Ġplayer Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlow Item Container Form . send Action List ( player , Ġthis , ĠFlow Item Container . CONDITION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ("@ action . edit ") Ġ{ Ġplayer Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlow Item Container Form . send Action List ( player , Ġthis , ĠFlow Item Container . ACTION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġload SaveData ( contents : ĠCustom Form Response List ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( content Ġin Ġcontents [ 0 ] Ġas ĠList < Map < String , ĠAny >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġload Each SaveData ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item ( condition , ĠFlow Item Container . CONDITION ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( content Ġin Ġcontents [ 1 ] Ġas ĠList < Map < String , ĠAny >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġload Each SaveData ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item ( action , ĠFlow Item Container . ACTION ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġserialize Contents (): ĠList < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Conditions (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Actions (), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclone (): ĠIF Action Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġsuper . clone () Ġas ĠIF Action ĊĊĠĠĠĠĠĠĠ Ġitem . items Ġ= Ġmutable Map Of () ĊĠĠĠĠĠĠĠ Ġval Ġconditions Ġ= Ġmutable ListOf < Flow Item >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( condition Ġin Ġget Conditions ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconditions . add ( condition . clone ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem . set Items ( conditions , ĠFlow Item Container . CONDITION ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactions Ġ= Ġmutable ListOf < Flow Item >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( action Ġin Ġget Actions ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactions . add ( action . clone ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem . set Items ( actions , ĠFlow Item Container . ACTION ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġitem ĊĠĠĠ Ġ} Ċ }