Files
sodalive-ios/SodaLive/Sources/Live/Room/Chat/LiveRoomChat.swift
Yu Sung 70003af82b feat(live-room): 채팅창 얼리기 기능을 추가한다
채팅 입력 제어와 룸 상태 동기화를 통합해 지연 입장자도 동일 상태를 적용한다.
2026-03-19 18:20:13 +09:00

58 lines
1.1 KiB
Swift

//
// LiveRoomChat.swift
// SodaLive
//
// Created by klaus on 2023/08/14.
//
import Foundation
enum LiveRoomChatType: String {
case CHAT, DONATION, JOIN, ROULETTE_DONATION
}
protocol LiveRoomChat {
var type: LiveRoomChatType { get set }
}
struct LiveRoomNormalChat: LiveRoomChat {
let userId: Int
let profileUrl: String
let nickname: String
let rank: Int
let chat: String
var type: LiveRoomChatType = .CHAT
}
struct LiveRoomDonationChat: LiveRoomChat {
let memberId: Int
let profileUrl: String
let nickname: String
let chat: String
let can: Int
let donationMessage: String
var type: LiveRoomChatType = .DONATION
}
struct LiveRoomRouletteDonationChat: LiveRoomChat {
let profileUrl: String
let nickname: String
let rouletteResult: String
var type: LiveRoomChatType = .ROULETTE_DONATION
}
struct LiveRoomJoinChat: LiveRoomChat {
let nickname: String
let statusMessage: String?
var type: LiveRoomChatType = .JOIN
init(nickname: String, statusMessage: String? = nil) {
self.nickname = nickname
self.statusMessage = statusMessage
}
}