activating case for extra parameter now that a method is available

This commit is contained in:
FateJH 2016-09-20 22:03:21 -04:00
parent 38a4e128b6
commit 3cfa08b3cb

View file

@ -31,11 +31,14 @@ import scodec.codecs._
* @param player_guid the player GUID * @param player_guid the player GUID
* @param item_guid the item GUID * @param item_guid the item GUID
* @param dest a codified location within the player's inventory see above * @param dest a codified location within the player's inventory see above
* //@param extra optional; a special kind of item manipulation; the common one is `FA` * @param extra optional; a special kind of item manipulation; the common one is `FA`
* @see MoveItemMessage
* @see ObjectAttachMessage
*/ */
final case class ObjectAttachMessage(player_guid : PlanetSideGUID, final case class ObjectAttachMessage(player_guid : PlanetSideGUID,
item_guid : PlanetSideGUID, item_guid : PlanetSideGUID,
dest : Int) dest : Int,
extra : Option[Int])
extends PlanetSideGamePacket { extends PlanetSideGamePacket {
type Packet = ObjectAttachMessage type Packet = ObjectAttachMessage
def opcode = GamePacketOpcode.ObjectAttachMessage def opcode = GamePacketOpcode.ObjectAttachMessage
@ -43,18 +46,11 @@ final case class ObjectAttachMessage(player_guid : PlanetSideGUID,
} }
object ObjectAttachMessage extends Marshallable[ObjectAttachMessage] { object ObjectAttachMessage extends Marshallable[ObjectAttachMessage] {
// implicit val codec : Codec[ObjectAttachMessage] = (
// ("player_guid" | PlanetSideGUID.codec) ::
// ("item_guid" | PlanetSideGUID.codec) >>:~ { _ =>
// ("dest" | uint8L) >>:~ ( loc =>
// conditional(loc == 0, "extra" | uint8L)
// )
// }
// ).as[ObjectAttachMessage]
implicit val codec : Codec[ObjectAttachMessage] = ( implicit val codec : Codec[ObjectAttachMessage] = (
("player_guid" | PlanetSideGUID.codec) :: ("player_guid" | PlanetSideGUID.codec) ::
("item_guid" | PlanetSideGUID.codec) :: ("item_guid" | PlanetSideGUID.codec) ::
("dest" | uint8L) (("dest" | uint8L) >>:~ { loc =>
conditional(loc == 0, "extra" | uint8L).hlist
})
).as[ObjectAttachMessage] ).as[ObjectAttachMessage]
} }