/* Ċ Ġ* ĠFX GL Ġ- ĠJava FX ĠGame ĠLibrary . ĠThe ĠMIT ĠLicense Ġ( MIT ). Ċ Ġ* ĠCopyright Ġ( c ) ĠAl mas B Ġ( al mas lvl @ gmail . com ). Ċ Ġ* ĠSee ĠLICENSE Ġfor Ġdetails . Ċ Ġ*/ Ċ Ċ package Ġcom . al mas b . fx gl . devtools Ċ Ċ import Ġcom . al mas b . fx gl . app . FX GL Ċ import Ġcom . al mas b . fx gl . entity . Entity Ċ import Ġcom . al mas b . fx gl . entity . Entity World Listener Ċ import Ġjavafx . beans . binding . Bindings Ċ import Ġjavafx . beans . property . Double Property Ċ import Ġjavafx . beans . property . Integer Property Ċ import Ġjavafx . collections . FX Collections Ċ import Ġjavafx . scene . control . Choice Box Ċ import Ġjavafx . scene . control . Label Ċ import Ġjavafx . scene . control . TextField Ċ import Ġjavafx . scene . layout . Background Ċ import Ġjavafx . scene . layout . Background Fill Ċ import Ġjavafx . scene . layout . H Box Ċ import Ġjavafx . scene . layout . V Box Ċ import Ġjavafx . scene . paint . Color Ċ import Ġjavafx . scene . text . Font Ċ import Ġjavafx . scene . text . Font Weight Ċ import Ġjavafx . util . String Converter Ċ Ċ /** Ċ Ġ* ĠAPI ĠIN COMPLETE Ċ Ġ* Ċ Ġ* Ġ@ author ĠAl mas ĠB aim ag amb et ov Ġ( al mas lvl @ gmail . com ) Ċ Ġ*/ Ċ class ĠDeveloper Pane Ġ: ĠV Box ( 2 5 . 0 ), ĠEntity World Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcb Entity Ġ= ĠChoice Box < Entity >() ĊĊĠĠĠ Ġcompanion Ġobject Ġnumber String Converter Ġ: ĠString Converter < Number >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( number : ĠNumber ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnumber . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfrom String ( string : ĠString ): ĠNumber Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ Ġstring . toDouble () Ġ} Ġcatch ( e : ĠException ) Ġ{ Ġ 0 . 0 Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġpref Width Ġ= Ġ 3 0 0 . 0 ĊĠĠĠĠĠĠĠ Ġpref Height Ġ= ĠFX GL . get Settings (). height . toDouble () Ġ- Ġ 2 0 0 ĊĊĠĠĠĠĠĠĠ Ġbackground Ġ= ĠBackground ( Background Fill ( Color . GRAY . derive Color ( 1 . 0 , Ġ 1 . 0 , Ġ 1 . 0 , Ġ 0 . 5 ), Ġnull , Ġnull )) ĊĊĠĠĠĠĠĠĠ Ġcb Entity . selection Model . selected ItemProperty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addListener Ġ{ Ġobs , Ġold , Ġentity Ġ-> Ġon Entity Select ( entity ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġcb Entity . items Ġ= ĠFX Collections . observable ArrayList ( FX GL . getApp (). game World . entities ) ĊĊĠĠĠĠĠĠĠ Ġchildren . add ( cb Entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Entity Select ( entity : ĠEntity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġchildren . retain All ( cb Entity ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( component Ġin Ġentity . components ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd Ġcomponent Ġname ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlabel Component Ġ= ĠLabel ( component . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Component . font Ġ= ĠFont . font ("", ĠFontWeight . BOLD , Ġ 2 4 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchildren . add ( label Component ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd Ġcomponent Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent . java Class . declared Methods ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . is Annotation Present ( Developer Editable :: class . java ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġmethod Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġann Ġ= Ġmethod . getDeclared Annotation ( Developer Editable :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlabel Ġ= ĠLabel ( ann . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfield Ġ= ĠTextField () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= Ġmethod . invoke ( component ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( property ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInteger Property Ġ-> ĠBind ings . bind Bid irectional ( field . text Property (), Ġproperty , Ġnumber String Converter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDouble Property Ġ-> ĠBind ings . bind Bid irectional ( field . text Property (), Ġproperty , Ġnumber String Converter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" Unknown Ġproperty Ġtype : Ġ$ property ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchildren . addAll ( H Box ( 5 . 0 , Ġlabel , Ġfield )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Entity Added ( entity : ĠEntity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcb Entity . items . add ( entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Entity Removed ( entity : ĠEntity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcb Entity . items . remove ( entity ) ĊĠĠĠ Ġ} Ċ }