package Ġcom . dark over lord of data . ent itas . demo . systems Ċ Ċ /** Ċ Ġ* ĠPlayer Input System Ċ Ġ* Ċ Ġ* ĠRespond Ġto Ġthe Ġplayers Ġtouch Ġinput Ċ Ġ*/ Ċ Ċ import Ġcom . badlogic . gdx . G dx Ċ import Ġcom . badlogic . gdx . Input Ċ import Ġcom . badlogic . gdx . Input Processor Ċ import Ġcom . dark over lord of data . ent itas .* Ċ import Ġcom . dark over lord of data . ent itas . demo .* Ċ Ċ class ĠPlayer Input System ( game : ĠGame Scene , Ġpool : ĠPool ) ĊĠĠĠĠĠ Ġ: ĠI Execute System , ĊĠĠĠĠĠĠĠ ĠInput Processor Ġ{ ĊĊĠĠĠ Ġval Ġpool Ġ= Ġpool ĊĠĠĠ Ġval Ġgroup Ġ= Ġpool . getGroup ( Matcher . all Of ( Matcher . Player )) ĊĠĠĠ Ġval Ġwidth Ġ= Ġgame . width ĊĠĠĠ Ġval Ġheight Ġ= Ġgame . height ĊĠĠĠ Ġval Ġpixel Factor Ġ= Ġgame . pixel Factor ĊĠĠĠ Ġval ĠFire Rate Ġ= Ġ. 1 f ĊĊĠĠĠ Ġprivate Ġvar Ġshoot Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġmouse X Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar ĠmouseY Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġtime To Fire Ġ= Ġ 0 f ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġpool . create Player ( width . toFloat (), Ġheight . toFloat ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexecute () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġgroup . single Entity ĊĊĠĠĠĠĠĠĠ Ġif Ġ( player Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . position . x Ġ= Ġmouse X . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . position . y Ġ= ĠmouseY . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( shoot ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime To Fire Ġ-= ĠG dx . graphics . deltaTime ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( time To Fire Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpool . create Bullet ( mouse X Ġ- Ġ 2 7 f , ĠmouseY Ġ- Ġ 1 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpool . create Bullet ( mouse X Ġ+ Ġ 2 7 f , ĠmouseY Ġ- Ġ 1 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime To Fire Ġ= ĠFire Rate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch Down ( x : ĠInt , Ġy : ĠInt , Ġpointer : ĠInt , Ġbutton : ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġshoot Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġmove To ( x , Ġy ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġtouch Up ( x : ĠInt , Ġy : ĠInt , Ġpointer : ĠInt , Ġbutton : ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġshoot Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġtouch Drag ged ( x : ĠInt , Ġy : ĠInt , Ġpointer : ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmove To ( x , Ġy ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġmouse Moved ( x : ĠInt , Ġy : ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmove To ( x , Ġy ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġkey Down ( key code : ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Input . Keys . Z Ġ== Ġkey code ) Ġshoot Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġkey Up ( key code : ĠInt ) Ġ: ĠBoolean Ġ Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Input . Keys . Z Ġ== Ġkey code ) Ġshoot Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġkey Typed ( character : ĠChar ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġsc rolled ( amount : ĠInt ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmove To ( x : ĠInt , Ġy : Int ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmouse X Ġ= Ġx / pixel Factor ĊĠĠĠĠĠĠĠ ĠmouseY Ġ= Ġ( height Ġ- Ġy )/ pixel Factor ĊĠĠĠ Ġ} Ċ Ċ }