package Ġorg . hex works . mix ite . core . api Ċ Ċ import Ġorg . hex works . mix ite . core . api . Hex agon Orientation . PO IN TY _ TOP Ċ import Ġorg . hex works . mix ite . core . api . Hex ag onal GridLayout . RECT ANG ULAR Ċ import Ġorg . hex works . mix ite . core . api . contract . Hex agon Data Storage Ċ import Ġorg . hex works . mix ite . core . api . contract . S atellite Data Ċ import Ġorg . hex works . mix ite . core . api . defaults . Default Hex agon Data Storage Ċ import Ġorg . hex works . mix ite . core . internal . Grid Data Ċ import Ġorg . hex works . mix ite . core . internal . impl . Hex ag onal Grid Calculator Impl Ċ import Ġorg . hex works . mix ite . core . internal . impl . Hex ag onal Grid Impl Ċ import Ġorg . hex works . mix ite . core . internal . impl . layout strategy . GridLayout Strategy Ċ Ċ /** Ċ Ġ* Ċ Ġ* ĠBuilder Ġfor Ġa Ġ[ Hex ag onal Grid ]. Ċ Ġ* ĠCan Ġbe Ġused Ġto Ġbuild Ġa Ġ[ Hex ag onal Grid ]. Ċ Ġ* ĠMandatory Ġparameters Ġare : Ċ Ġ* Ċ Ġ* Ġ Ġ* Ġwidth Ġof Ġthe Ġgrid Ċ Ġ* Ġ Ġ* Ġheight Ġof Ġthe Ġgrid Ċ Ġ* Ġ Ġ* Ġradius Ġof Ġa Ġ[ Hex agon ] Ċ Ġ* Ċ Ġ* ĠDefaults Ġfor Ġorientation Ġand Ġgrid Ġlayout Ġare ĠPO IN TY _ TOP Ġand ĠRE CT ANG ULAR . Ċ Ġ*/ Ċ class ĠHex ag onal Grid Builder < T Ġ: ĠS atellite Data > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġgrid Width : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġgrid Height : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġradius : ĠDouble Ġ= Ġ 0 . toDouble () ĊĠĠĠ Ġprivate Ġval Ġhex agon Data Storage : ĠHex agon Data Storage < T > Ġ= ĠDefault Hex agon Data Storage () ĊĠĠĠ Ġprivate Ġvar Ġorientation Ġ= ĠPO IN TY _ TOP ĊĠĠĠ Ġprivate Ġvar Ġgrid Layout Ġ= ĠRE CT ANG ULAR ĊĊĠĠĠ Ġval Ġgrid Layout Strategy : ĠGrid Layout Strategy ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgrid Layout . grid Layout Strategy ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe ĠGrid Data . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġgrid Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġgrid Data : ĠGrid Data ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( radius Ġ== Ġ 0 . 0 Ġ|| Ġgrid Width Ġ== Ġ 0 Ġ|| Ġgrid Height Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Not Ġall Ġnecessary Ġfields Ġare Ġinitialized !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGrid Data ( orientation , Ġgrid Layout , Ġradius , Ġgrid Width , Ġgrid Height ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBuilds Ġa Ġ[ Hex ag onal Grid ] Ġusing Ġthe Ġparameters Ġsupplied . ĊĠĠĠĠ Ġ* ĠThrows Ġ[ Hex ag onal Grid Creation Exception ] Ġif Ġnot Ġall Ġmandatory Ġparameters ĊĠĠĠĠ Ġ* Ġare Ġfilled Ġand / or Ġthey Ġare Ġnot Ġvalid . ĠIn Ġboth Ġcases Ġyou Ġwill Ġbe Ġsupplied Ġwith ĊĠĠĠĠ Ġ* Ġa Ġ[ Hex ag onal Grid Creation Exception ] Ġdetail ing Ġthe Ġcause Ġof Ġfailure . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Hex ag onal Grid ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbuild (): ĠHex ag onal Grid < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Parameters () ĊĠĠĠĠĠĠĠ Ġreturn ĠHex ag onal Grid Impl ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġa Ġ[ Hex ag onal Grid Calculator ] Ġfor Ġyour Ġ[ Hex ag onal Grid ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġhex ag onal Grid Ġgrid ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġcalculator ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T Ġ: ĠS atellite Data > Ġbuild Calculator For ( hex ag onal Grid : ĠHex ag onal Grid < T >): ĠHex ag onal Grid Calculator < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠHex ag onal Grid Calculator Impl ( hex ag onal Grid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Radius (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġradius ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġradius Ġof Ġthe Ġ[ Hex agon ] s Ġcontained Ġin Ġthe Ġresulting Ġ[ Hex ag onal Grid ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġradius Ġin Ġpixels ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthis Ġ[ Hex ag onal Grid Builder ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Radius ( radius : ĠDouble ): ĠHex ag onal Grid Builder < T > Ġ= Ġalso Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . radius Ġ= Ġradius ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Grid Width (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgrid Width ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMandatory Ġparameter . ĠSets Ġthe Ġnumber Ġof Ġ[ Hex agon ] s Ġin Ġthe Ġhorizontal Ġdirection . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġgrid Width Ġgrid Ġwidth ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthis Ġ[ Hex ag onal Grid Builder ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Grid Width ( grid Width : ĠInt ): ĠHex ag onal Grid Builder < T > Ġ= Ġalso Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . grid Width Ġ= Ġgrid Width ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Grid Height (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgrid Height ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMandatory Ġparameter . ĠSets Ġthe Ġnumber Ġof Ġ[ Hex agon ] s Ġin Ġthe Ġvertical Ġdirection . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġgrid Height Ġgrid Ġheight ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthis Ġ[ Hex ag onal Grid Builder ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Grid Height ( grid Height : ĠInt ): ĠHex ag onal Grid Builder < T > Ġ= Ġalso Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . grid Height Ġ= Ġgrid Height ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Orientation (): ĠHex agon Orientation Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġorientation ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġ[ Hex agon Orientation ] Ġused Ġin Ġthe Ġresulting Ġ[ Hex ag onal Grid ]. ĊĠĠĠĠ Ġ* ĠIf Ġit Ġis Ġnot Ġset ĠHex agon Orientation . PO IN TY Ġwill Ġbe Ġused . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġorientation Ġorientation ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthis Ġ[ Hex ag onal Grid Builder ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Orientation ( orientation : ĠHex agon Orientation ): ĠHex ag onal Grid Builder < T > Ġ= Ġalso Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . orientation Ġ= Ġorientation ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Hex agon Data Storage (): ĠHex agon Data Storage < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhex agon Data Storage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġ[ Hex ag onal GridLayout ] Ġwhich Ġwill Ġbe Ġused Ġwhen Ġcreating Ġthe Ġ[ Hex ag onal Grid ]. ĊĠĠĠĠ Ġ* ĠIf Ġit Ġis Ġnot Ġset Ġ< pre > RECT ANG ULAR </ pre > Ġwill Ġbe Ġassumed . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġgrid Layout Ġlayout ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthis Ġ[ Hex ag onal Grid Builder ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset GridLayout ( grid Layout : ĠHex ag onal GridLayout ): ĠHex ag onal Grid Builder < T > Ġ= Ġalso Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . grid Layout Ġ= Ġgrid Layout ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Parameters () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( radius Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Radius Ġmust Ġbe Ġgreater Ġthan Ġ 0 .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! grid Layout . check Parameters ( grid Height , Ġgrid Width )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Width : Ġ" Ġ+ Ġgrid Width Ġ+ Ġ" Ġand Ġheight : Ġ" Ġ+ Ġgrid Height Ġ+ Ġ" Ġis Ġnot Ġvalid Ġfor : Ġ" Ġ+ Ġgrid Layout . name Ġ+ Ġ" Ġlayout .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ