package Ġto ky o . a ie uo . mine flow . flow Item . condition Ċ Ċ 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 Ċ Ċ open Ġclass ĠAnd Script Ġ: ĠFlow Item (), ĠCondition , ĠFlow Item Container Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġid Ġ= ĠFlow Item Ids . CONDITION _ AND ĊĊĠĠĠ Ġoverride Ġval Ġname Translation Key Ġ= Ġ" condition . and . name " ĊĠĠĠ Ġoverride Ġval Ġdetail Translation Key Ġ= Ġ" condition . and . detail " ĊĊĠĠĠ Ġoverride Ġval Ġcategory Ġ= ĠCategory . SCRIPT ĊĊĠĠĠ Ġoverride Ġvar Ġitems : ĠMutable Map < String , ĠMutable List < Flow Item >> Ġ= Ġmutable Map Of () ĊĊĠĠĠ Ġoverride Ġfun Ġget Detail (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdetails Ġ= Ġmutable ListOf (" ---------- and ----------- ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( condition Ġin Ġget Conditions ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetails . add ( condition . get Detail ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdetails . add (" ------------------------ ") ĊĠĠĠĠĠĠĠ Ġ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 ( Flow Item Executor . Result . SUCCESS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ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 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġload SaveData ( contents : ĠCustom Form Response List ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( content Ġin Ġcontents Ġas ĠList < Map < String , ĠAny >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġload Each SaveData ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item ( condition , ĠFlow Item Container . CONDITION ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġserialize Contents (): ĠList < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Conditions () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Data Valid (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclone (): ĠAnd Script Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġsuper . clone () Ġas ĠAnd Script ĊĊĠĠĠĠĠĠĠ Ġ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 ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġitem ĊĠĠĠ Ġ} Ċ }