package Ġdev . b ens ad iku . ar android test Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . google . ar . scene form . Anchor Node Ċ import Ġcom . google . ar . scene form . math . Vector 3 Ċ import Ġcom . google . ar . scene form . rendering . Model Render able Ċ import Ġcom . google . ar . scene form . rendering . View Render able Ċ import Ġcom . google . ar . scene form . ux . Ar Fragment Ċ import Ġcom . google . ar . scene form . ux . Transform able Node Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . android . synt hetic . main . name _ animal .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġvar Ġarray View : ĠArray < View >? Ġ= Ġnull ĊĠĠĠ Ġvar Ġar Fragment : ĠAr Fragment ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġselected : ĠInt Ġ= Ġ 1 ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbear R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcat R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdog R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġc ow R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġele ph ant R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfer ret R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġh ipp op ot am us R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġh orse R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġko ala _ bear R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġl ion R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre inde er R end ere able : ĠModel Render able ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġw olver ine R end ere able : ĠModel Render able ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġar Fragment Ġ= Ġsupport FragmentManager . find Fragment ById ( R . id . scene form _ ux _ fragment ) Ġas ĠAr Fragment ĊĊĠĠĠĠĠĠĠ Ġset Array View () ĊĠĠĠĠĠĠĠ Ġset ClickListener () ĊĠĠĠĠĠĠĠ Ġsetup Model () ĊĊĠĠĠĠĠĠĠ Ġar Fragment ?. setOn Tap Ar Plane Listener Ġ{ Ġhit Result , Ġplane , Ġmotion Event Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanchor Ġ= Ġhit Result . create Anchor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanchor Node Ġ= ĠAnchor Node ( anchor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanchor Node . setParent ( ar Fragment ?. ar Scene View ?. scene ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Model ( anchor Node , Ġselected ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Model () Ġ{ ĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . bear ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġbear R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . dog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġdog R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . cat ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġcat R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . cow ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġc ow R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . ele ph ant ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġele ph ant R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . fer ret ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġfer ret R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . h ipp op ot am us ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġh ipp op ot am us R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . h orse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġh orse R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . ko ala _ bear ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġko ala _ bear R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . l ion ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġl ion R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . re inde er ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġre inde er R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠModel Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source ( this , ĠR . raw . w olver ine ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġw olver ine R end ere able Ġ= Ġrender able Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Load Ġfailed Ġ${ it . message }", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Model ( anchor Node : ĠAnchor Node , Ġselected : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrender able Node Ġ= ĠTransform able Node ( ar Fragment ?. transformation System ) ĊĠĠĠĠĠĠĠ Ġrender able Node . setParent ( anchor Node ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġbear R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" Be ar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġcat R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" Cat ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġdog R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" Dog ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġc ow R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" C ow ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġele ph ant R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" Ele ph ant ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġfer ret R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" F er ret ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġfer ret R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" H ipp op ot am us ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġfer ret R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" H orse ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġfer ret R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" Ko ala ĠBear ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġfer ret R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" L ion ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġre inde er R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" Re inde er ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . render able Ġ= Ġw olver ine R end ere able ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrender able Node . select () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Name ( anchor Node , Ġrender able Node , Ġ" W olver ine ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Name ( anchor Node : ĠAnchor Node , Ġmodel : ĠTransform able Node , Ġname : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġanimal _ name : ĠView Render able ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ ĠView Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( this , ĠR . layout . name _ animal ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġrender able Ġ-> Ġanimal _ name Ġ= Ġrender able Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġname View Ġ= ĠTransform able Node ( ar Fragment ?. transformation System ) ĊĠĠĠĠĠĠĠ Ġname View . local Position Ġ= ĠVector 3 ( 0 f , Ġmodel . local Position . y Ġ+ Ġ 0 . 5 f , Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġname View . setParent ( anchor Node ) ĊĠĠĠĠĠĠĠ Ġname View . render able Ġ= Ġanimal _ name ĊĠĠĠĠĠĠĠ Ġname View . select () ĊĊĠĠĠĠĠĠĠ Ġval Ġname Animal Ġ= Ġanimal _ name ?. view Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġname Animal . text Ġ= Ġname ĊĊĠĠĠĠĠĠĠ Ġname Animal . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanchor Node . setParent ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Array View () Ġ{ ĊĠĠĠĠĠĠĠ Ġarray View Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbear ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġcat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġdog ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġc ow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġele ph ant ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġfer ret ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġh ipp op ot am us ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġh orse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġko ala _ bear ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġl ion ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġre inde er ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġw olver ine ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset ClickListener () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( view Ġin Ġarray View !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ Ġthis View Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Background ( this View . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( this View . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . bear Ġ-> Ġselected Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cat Ġ-> Ġselected Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . dog Ġ-> Ġselected Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cow Ġ-> Ġselected Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . ele ph ant Ġ-> Ġselected Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fer ret Ġ-> Ġselected Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . h ipp op ot am us Ġ-> Ġselected Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . h orse Ġ-> Ġselected Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . ko ala _ bear Ġ-> Ġselected Ġ= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . l ion Ġ-> Ġselected Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . re inde er Ġ-> Ġselected Ġ= Ġ 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . w olver ine Ġ-> Ġselected Ġ= Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Background ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( view Ġin Ġarray View !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view . id Ġ== Ġid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( Color . parse Color ("# 8 0 3 3 3 6 3 9 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( Color . TRANSP ARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ