public override bool OnSerialize(NetworkWriter writer, bool initialState) { if (!initialState) { writer.WritePackedUInt32(syncVarDirtyBits); } if (!initialState && syncVarDirtyBits == 0U) { return(false); } var networkWriterAdapter = new NetworkWriterAdapter(writer); var count = m_playerDetails.Count; networkWriterAdapter.Serialize(ref count); if (count < 0 || count > 20) { Log.Print(LogType.Error, "Invalid number of players: " + count); Mathf.Clamp(count, 0, 20); } foreach (var playerDetail in m_playerDetails) { var key = playerDetail.Key; var playerDetails = playerDetail.Value; if (playerDetails != null) { key.OnSerializeHelper(networkWriterAdapter); playerDetails.OnSerializeHelper(networkWriterAdapter); } } return(true); }
public override void Serialize(NetworkWriter writer) { writer.WritePackedUInt32((uint)TurnIndex); writer.Write((sbyte)PhaseIndex); IBitStream stream = new NetworkWriterAdapter(writer); Action.ClientResolutionAction_SerializeToStream(ref stream); }
public override void Serialize(NetworkWriter writer) { int num = Actions?.Count ?? 0; writer.Write((sbyte)num); if (num > 0) { IBitStream stream = new NetworkWriterAdapter(writer); foreach (ClientResolutionAction action in Actions) { action.ClientResolutionAction_SerializeToStream(ref stream); } } }