package Ġlt . mark mer kk . app . mvp Ċ Ċ import Ġcom . es ot eric software . k ry onet . Connection Ċ import Ġcom . es ot eric software . k ry onet . Listener Ċ import Ġlt . mark mer kk . app . Const Ċ import Ġlt . mark mer kk . app . entities . Movement Ċ import Ġlt . mark mer kk . app . network . Game Client Ċ import Ġlt . mark mer kk . app . network . Network Ċ import Ġlt . mark mer kk . app . network . events . Event Player Movement Ċ import Ġlt . mark mer kk . app . network . events . Network Event Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . net . Inet Address Ċ Ċ /** Ċ Ġ* Ġ@ author Ġm arius mer ke vic ius Ċ Ġ* Ġ@ since Ġ 2 0 1 6 - 1 0 - 2 3 Ċ Ġ*/ Ċ class ĠClient Interactor Impl ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġserver Ip : ĠString Ġ= ĠConst . DEFAULT _ SERVER _ IP Ċ ) Ġ: ĠClient Interactor Ġ{ ĊĊĠĠĠ Ġlateinit Ġprivate Ġvar Ġevent Provider : ĠNetwork Event Provider ĊĠĠĠ Ġprivate Ġval Ġclient Ġ= ĠGame Client () ĊĊĠĠĠ Ġoverride Ġfun Ġstart ( event Provider : ĠNetwork Event Provider ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . event Provider Ġ= Ġevent Provider ĊĠĠĠĠĠĠĠ Ġclient . start () ĊĠĠĠĠĠĠĠ ĠNetwork . register ( client ) ĊĠĠĠĠĠĠĠ Ġclient . addListener ( listener ) ĊĠĠĠĠĠĠĠ Ġclient . connect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . CONN _ TIMEOUT _ M ILL IS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInet Address . get ByName ( server Ip ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . PORT _ TCP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst . PORT _ UDP ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop () Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . remove Listener ( listener ) ĊĠĠĠĠĠĠĠ Ġclient . stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// region ĠList eners ĊĊĠĠĠ Ġprivate Ġval Ġlistener : ĠListener Ġ= Ġobject Ġ: ĠListener () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconnected ( connection : ĠConnection ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . connected ( connection ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Provider . connected ( connection . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdisconnected ( connection : ĠConnection ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . disconnected ( connection ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Provider . disconnected ( connection . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġreceived ( connection : ĠConnection , Ġevent Object : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . received ( connection , Ġevent Object ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event Object Ġ! is ĠNetwork Event ) Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Provider . event ( event Object ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġ// region ĠSent ĠEvents ĊĊĠĠĠ Ġoverride Ġfun Ġsend Movement Event Code ( connection Id : ĠInt , Ġmovement Event : ĠMovement ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient . send TCP ( Event Player Movement ( connection Id , Ġmovement Event . to Code ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Client Interactor Impl :: class . java ) !! ĊĠĠĠ Ġ} Ċ Ċ }