package Ġe cs . systems Ċ Ċ import ĠGame Ċ import ĠGame Animation Ċ import Ġcom . badlogic . ash ley . core . Entity Ċ import Ġcom . badlogic . ash ley . systems . Iter ating System Ċ import Ġcom . badlogic . gdx . G dx Ċ import Ġcom . badlogic . gdx . Input Ċ import Ġcom . badlogic . gdx . utils . viewport . Viewport Ċ import Ġe cs . components .* Ċ import Ġk tx . ash ley . all Of Ċ import Ġpackets . server . SP acket Move ĊĊ Ċ private Ġconst Ġval ĠSPE ED Ġ= Ġ 6 f Ċ Ċ class ĠPlayer Input System Ġ: ĠIter ating System ( all Of ( Player Component :: class , ĠMove Component :: class , ĠAnimation Component :: class ). get ()) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġmov X : ĠByte Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġmov Y : ĠByte Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Entity ( entity : ĠEntity , Ġdelta Time : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmove Comp Ġ= Ġentity . obtain Move () ĊĠĠĠĠĠĠĠ Ġval Ġanim Comp Ġ= Ġentity . obtain Animation () ĊĊĠĠĠĠĠĠĠ Ġval Ġspeed Y Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . is Key Pressed ( Input . Keys . W ) Ġ-> ĠSPE ED ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . is Key Pressed ( Input . Keys . S ) Ġ-> Ġ- SPEED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġspeed X Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . is Key Pressed ( Input . Keys . D ) Ġ-> ĠSPE ED ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . is Key Pressed ( Input . Keys . A ) Ġ-> Ġ- SPEED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 f ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmove Comp . speed . set ( speed X , Ġspeed Y ) ĊĊĠĠĠĠĠĠĠ Ġcheck Move ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( speed X Ġ> Ġ 0 ) Ġ 1 Ġelse Ġif Ġ( speed X Ġ< Ġ 0 ) Ġ- 1 Ġelse Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( speed Y Ġ> Ġ 0 ) Ġ 1 Ġelse Ġif Ġ( speed Y Ġ< Ġ 0 ) Ġ- 1 Ġelse Ġ 0 , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġanim Ġ= Ġif ( speed X Ġ!= Ġ 0 f Ġ|| Ġspeed Y Ġ!= Ġ 0 f ) ĠGame Animation . PLAYER _ RUN Ġelse ĠGame Animation . PLAYER _ IDLE ĊĊĠĠĠĠĠĠĠ Ġif Ġ( anim Comp . current Animation Ġ!= Ġanim ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanim Comp . current Animation Ġ= Ġanim ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Move ( x : ĠByte , Ġy : ĠByte ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( mov X Ġ!= Ġx Ġ|| Ġmov Y Ġ!= Ġy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGame . client . send ( SP acket Move ( x , Ġy )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmov X Ġ= Ġx ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmov Y Ġ= Ġy ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ