Files
featherVoice/TUIKit/TUIRoomKit/Source/View/Model/VideoSeatItem.swift

39 lines
1.2 KiB
Swift
Raw Normal View History

2025-08-08 10:49:36 +08:00
//
// VideoSeatItem.swift
// TUIVideoSeat
//
// Created by jack on 2023/3/6.
// Copyright © 2023 Tencent. All rights reserved.
import Foundation
import RTCRoomEngine
class VideoSeatItem: Equatable {
static func == (lhs: VideoSeatItem, rhs: VideoSeatItem) -> Bool {
let lhsType = lhs.videoStreamType == .screenStream
let rhsType = rhs.videoStreamType == .screenStream
return (lhs.userId == rhs.userId) && (lhsType == rhsType)
}
var userId: String = ""
var userName: String = ""
var avatarUrl: String = ""
var userRole: TUIRole = .generalUser
var userVoiceVolume: Int = 0
var hasAudioStream: Bool = false
var hasVideoStream: Bool = false
var videoStreamType: TUIVideoStreamType = .cameraStream
var isOnSeat: Bool = false
var disableSendingMessage: Bool = false
var isHasVideoStream: Bool {
return hasVideoStream || videoStreamType == .screenStream
}
func update(userInfo: UserEntity) {
userId = userInfo.userId
userName = userInfo.userName
avatarUrl = userInfo.avatarUrl
userRole = userInfo.userRole
hasAudioStream = userInfo.hasAudioStream
hasVideoStream = userInfo.hasVideoStream
}
}