package Ġpub g . radar . struct . cmd Ċ Ċ import Ġpub g . radar . Game Listener Ċ import Ġpub g . radar . bug ln Ċ import Ġpub g . radar . de serializer . ROLE _ MAX Ċ import Ġpub g . radar . de serializer . channel . Actor Channel . Companion . actors Ċ import Ġpub g . radar . de serializer . channel . Actor Channel . Companion . air Drop Location Ċ import Ġpub g . radar . de serializer . channel . Actor Channel . Companion . visual Act ors Ċ import Ġpub g . radar . register Ċ import Ġpub g . radar . struct . Actor Ċ import Ġpub g . radar . struct . Arc he type .* Ċ import Ġpub g . radar . struct . B unch Ċ import Ġpub g . radar . struct . Net GUID Cache . Companion . guid Cache Ċ import Ġpub g . radar . struct . Network GUID Ċ import Ġpub g . radar . struct . cmd . CMD . property Bool Ċ import Ġpub g . radar . struct . cmd . CMD . propertyName Ċ import Ġpub g . radar . struct . cmd . CMD . property Object Ċ import Ġpub g . radar . struct . cmd . CMD . property Rot ator Ċ import Ġpub g . radar . struct . cmd . CMD . property Vector 1 0 0 Ċ import Ġpub g . radar . struct . cmd . CMD . rep Movement Ċ import Ġjava . util . concurrent . Concurrent HashMap Ċ Ċ object ĠActor CMD Ġ: ĠGame Listener Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġregister ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Game Over () Ġ{ ĊĠĠĠĠĠĠĠ Ġactor With Player State . clear () ĊĠĠĠĠĠĠĠ Ġplayer State To Actor . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġactor With Player State Ġ= ĠConcurrent HashMap < Network GUID , ĠNetwork GUID >() ĊĠĠĠ Ġval Ġplayer State To Actor Ġ= ĠConcurrent HashMap < Network GUID , ĠNetwork GUID >() ĊĊĠĠĠ Ġfun Ġprocess ( actor : ĠActor , Ġbunch : ĠB unch , Ġwaiting Handle : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( b unch ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( waiting Handle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġif Ġ( read Bit ()) Ġ{ Ġ// b Hidden ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisual Act ors . remove ( actor . net GUID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", b Hidden Ġid $ actor " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġif Ġ(! read Bit ()) Ġ{ Ġ// Ġb Replic ate Movement ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! actor . is Vehicle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisual Act ors . remove ( actor . net GUID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", ! b Replic ate Movement Ġid $ actor Ġ" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġif Ġ( read Bit ()) Ġ{ Ġ// b Tear Off ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisual Act ors . remove ( actor . net GUID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", b Tear Off Ġid $ actor " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrole Ġ= Ġread Int ( ROLE _ MAX ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġrole ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( net GUID , Ġobj ) Ġ= Ġread Object () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactor . owner Ġ= Ġif Ġ( net GUID . isValid ()) Ġnet GUID Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ" Ġowner : Ġ[$ net GUID ] Ġ$ obj Ġ-------- -> Ġbe Owned :$ actor " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrep Movement ( actor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( actor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAir Drop Ġ-> Ġair Drop Location [ net GUID ] Ġ= Ġlocation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOther Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġvisual Act ors [ net GUID ] Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( a , Ġobj ) Ġ= Ġread Object () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattach To Ġ= Ġif Ġ( a . isValid ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactors [ a ]?. be Attached Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actor . attach To Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactors [ actor . attach To !! ]?. be Attached Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactor . attach To Ġ= Ġattach To ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", attach To Ġ[$ actor -------- -> Ġ$ a Ġ${ guid Cache . getObject From Net GUID ( a )} Ġ${ actors [ a ]}" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Offset Ġ= Ġproperty Vector 1 0 0 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actor . Type Ġ== ĠD ro op ed ItemGroup ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ"${ actor . location } Ġlocation Offset Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", attach Location Ġ$ actor Ġ-------- --> Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Offset Ġ= Ġproperty Vector 1 0 0 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actor . Type Ġ== ĠD ro op ed ItemGroup ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ"${ actor . location } Ġlocation Offset Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", attach Location Ġ$ actor Ġ-------- --> Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ-> Ġproperty Rot ator () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattach Socket Ġ= ĠpropertyName () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( attach Comp on n ent , Ġattach Name ) Ġ= Ġbunch . read Object () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread Int ( ROLE _ MAX ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 Ġ-> Ġproperty Bool () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 Ġ-> Ġproperty Object () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 6 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( player State GUID , Ġplayer State ) Ġ= Ġproperty Object () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( player State GUID . isValid ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactor With Player State [ actor . net GUID ] Ġ= Ġplayer State GUID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer State To Actor [ player State GUID ] Ġ= Ġactor . net GUID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 Ġ-> Ġ{// Remote View Pitch Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread UInt 1 6 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠ 1 8 Ġ-> Ġproperty Object () Ċ // ĠĠĠĠĠĠĠĠ 1 9 Ġ-> Ġproperty Object () Ċ // ĠĠĠĠĠĠĠĠ 2 0 Ġ-> ĠpropertyName () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Offset Ġ= Ġproperty Vector 1 0 0 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actor . Type Ġ== ĠD ro op ed ItemGroup ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ"${ actor . location } Ġlocation Offset Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", attach Location Ġ$ actor Ġ-------- --> Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠ 2 2 Ġ-> Ġproperty Rot ator () Ċ // ĠĠĠĠĠĠĠĠ 2 3 Ġ-> Ġproperty Bool () Ċ // ĠĠĠĠĠĠĠĠ 2 4 Ġ-> Ġproperty Bool () Ċ // ĠĠĠĠĠĠĠĠ 2 5 Ġ-> Ġproperty Bool () Ċ // ĠĠĠĠĠĠĠĠ 2 6 Ġ-> Ġproperty Float () Ċ // ĠĠĠĠĠĠĠĠ 2 7 Ġ-> Ġproperty Float () Ċ // ĠĠĠĠĠĠĠĠ 2 8 Ġ-> Ġproperty Byte () Ċ // ĠĠĠĠĠĠĠĠ 2 9 Ġ-> Ġproperty Bool () Ċ // ĠĠĠĠĠĠĠĠ 3 0 Ġ-> Ġproperty Float () Ċ // ĠĠĠĠĠĠĠĠ 3 1 Ġ-> Ġproperty Int () Ċ // ĠĠĠĠĠĠĠĠ 3 2 Ġ-> Ġproperty Bool () Ċ // ĠĠĠĠĠĠĠĠ 3 3 Ġ-> Ġproperty Object () Ċ // ĠĠĠĠĠĠĠĠ 3 4 Ġ-> Ġproperty Float () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 5 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Offset Ġ= Ġproperty Vector 1 0 0 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actor . Type Ġ== ĠD ro op ed ItemGroup ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ"${ actor . location } Ġlocation Offset Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbug ln Ġ{ Ġ", attach Location Ġ$ actor Ġ-------- --> Ġ$ location Offset " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠ 3 6 Ġ-> Ġproperty Rot ator () Ċ // ĠĠĠĠĠĠĠĠ 3 7 Ġ-> Ġproperty Object () Ċ // ĠĠĠĠĠĠĠĠ 3 8 Ġ-> ĠpropertyName () Ċ // ĠĠĠĠĠĠĠĠ 3 9 Ġ-> Ġproperty Bool () Ċ // ĠĠĠĠĠĠĠĠ 4 0 Ġ-> Ġproperty Bool () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 1 Ġ-> Ġ{// player ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġprintln (" 4 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsources Num Ġ= Ġread UInt 8 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Has Add itive Sources Ġ= Ġread Bit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Has Override Sources Ġ= Ġread Bit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġval Ġlast Pre Add itive Velocity Ġ= Ġproperty Vector 1 0 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Is Add itive Velocity Applied Ġ= Ġread Bit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġflags Ġ= Ġread UInt 8 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsources Num ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 4 2 Ġ-> Ġproperty Vector 1 0 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠ 4 3 Ġ-> Ġproperty Vector 1 0 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġprintln (" 4 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Num Ġ= Ġread UInt 1 6 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġarray Num ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandle Ġ= Ġread Int Packed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActor CMD . process ( actor , Ġbunch , Ġhandle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }