Private Sub encodeData
Log("encoding")
Private listVals As List
Private listRD As List
Private listGD As List
Private ser As B4XSerializator
Private i As Int
listRD.Initialize2(Array As Int(cDie(0).Value, cDie(1).Value, cDie(2).Value, cDie(3).Value, cDie(4).Value, cDie(5).Value))
listGD.Initialize
For i = 0 To 35
Private GD As gameDie 'Type declared in Globals
GD.Initialize
GD.value = cGameDie(i).Value
GD.match = cGameDie(i).Match
GD.locked = cGameDie(i).Locked
GD.won = cGameDie(i).Won
listGD.Add(GD)
Next
listVals.Initialize2(Array As List(listRD, listGD))
ser.ConvertObjectToBytesAsync(listVals, "encode")
End Sub
Private Sub encode_ObjectToBytes (Success As Boolean, Bytes() As Byte)
If Success Then
Log("sending")
TurnBasedMatch.TakeTurn(TBMatch, Bytes, TurnBasedMatch.PARTICIPANT_NEXT, "GP_onTurnBasedMatchUpdated")
Else
Log("encode failed")
End If
End Sub
Private Sub decodeMatchData(data() As Byte)
Private ser As B4XSerializator
Log("received")
ser.ConvertBytesToObjectAsync(data, "decode")
End Sub
Private Sub decode_BytesToObject (Success As Boolean, NewObject As Object)
If Success Then
Log("decoding")
Private listVals As List = NewObject
Private listRD As List = listVals.Get(0)
Private listGD As List = listVals.Get(1)
Private i As Int
For i = 0 To 5
cDie(i).Value = listRD.Get(i)
Next
For i = 0 To 35
Private GD As gameDie = listGD.Get(i)
cGameDie(i).Value = GD.value
cGameDie(i).Match = GD.match
cGameDie(i).Locked = GD.locked
cGameDie(i).Won = GD.won
Next
Else
Log("BytesToObject Decode Failed")
End If
End Sub