Skip to content

Instantly share code, notes, and snippets.

@calvinnor
Last active October 2, 2019 07:26
Show Gist options
  • Save calvinnor/72b901d7acf0a43314f2b7cfa1cdbfe0 to your computer and use it in GitHub Desktop.
Save calvinnor/72b901d7acf0a43314f2b7cfa1cdbfe0 to your computer and use it in GitHub Desktop.
Implementation of GameState from DKA Project
data class GameState(
val playerOneDetails: PlayerDetails,
val playerTwoDetails: PlayerDetails,
var playerOneScore: Long,
var playerTwoScore: Long
) : Parcelable {
constructor(parcel: Parcel) : this(
playerOneDetails = parcel.readParcelable(PlayerDetails::class.java.classLoader),
playerTwoDetails = parcel.readParcelable(PlayerDetails::class.java.classLoader),
playerOneScore = parcel.readLong(),
playerTwoScore = parcel.readLong()
)
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeParcelable(playerOneDetails, flags)
parcel.writeLong(playerOneScore)
parcel.writeLong(playerTwoScore)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<GameState> {
override fun createFromParcel(parcel: Parcel): GameState {
return GameState(parcel)
}
override fun newArray(size: Int): Array<GameState?> {
return arrayOfNulls(size)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment