package Ġgg . r sm od . game . message . impl Ċ Ċ import Ġgg . r sm od . game . message . Message Ċ Ċ /** Ċ Ġ* Ġ@ author ĠTom Ġ< rsp sm ods @ gmail . com > Ċ Ġ*/ Ċ data Ġclass ĠMessage Public Message ( val Ġtype : ĠInt , Ġval Ġcolor : ĠInt , Ġval Ġeffect : ĠInt , Ġval Ġlength : ĠInt , Ġval Ġdata : ĠByteArray ) Ġ: ĠMessage Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠMessage Public Message ĊĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ!= Ġother . type ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( color Ġ!= Ġother . color ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( effect Ġ!= Ġother . effect ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( length Ġ!= Ġother . length ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! data . content Equals ( other . data )) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġcolor ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġeffect ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġlength ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdata . content HashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }