package Ġcom . in ari . fire fly . control Ċ Ċ import Ġcom . in ari . fire fly . FF App Ċ import Ġcom . in ari . fire fly . FF Context Ċ import Ġcom . in ari . fire fly . component . Comp Id Ċ import Ġcom . in ari . fire fly . entity . Entity Ċ import Ġcom . in ari . fire fly . entity . Entity Activation Event Ċ import Ġcom . in ari . fire fly . system . component . Component System Ċ import Ġcom . in ari . fire fly . system . component . System Component Ċ import Ġcom . in ari . util . Bit Set Ċ import Ġcom . in ari . util . aspect . Aspect s Ċ import Ġcom . in ari . util . collection . Dyn Array Ċ import Ġjava . awt . Component Orientation Ċ Ċ object ĠController System Ġ: ĠComponent System Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġsupported Components : ĠAs pect s Ġ= ĠSystem Component . SYSTEM _ COMPONENT _ AS PECT S . create Aspect s ( ĊĠĠĠĠĠĠĠ ĠController ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Jvm Field Ġval Ġcontroller Ġ= ĠComponent System . create Component Mapping ( ĊĠĠĠĠĠĠĠ ĠController , ĊĠĠĠĠĠĠĠ Ġactivation Mapping Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġname Mapping Ġ= Ġtrue ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠFF Context . register Listener ( FF App . Update Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . forEach Active Ġ{ Ġc Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi : ĠInt Ġ= Ġc . controlled . next Set Bit ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ>= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc . update ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ= Ġc . controlled . next Set Bit ( i Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠFF Context . load System ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear System () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontroller . clear () ĊĠĠĠ Ġ} Ċ }