//
//  Question.swift
//  lichunWebsocket
//
//  Question and answer models for game events
//

import Foundation

// MARK: - Question
struct Question: Identifiable, Equatable {
    let id: String
    let question: String
    let answers: [AnswerOption]
    let characters: [SimplePerson]?  // NEW
    let image: String?               // NEW

    var eventId: String {
        id
    }

    static func == (lhs: Question, rhs: Question) -> Bool {
        return lhs.id == rhs.id && lhs.question == rhs.question
    }
}

// MARK: - Answer Option
struct AnswerOption: Identifiable, Decodable, Encodable {
    let option: String
    var id: String?
    var data: String?
    let energyCost: Int?
    let moneyCost: Int?
    let diamondCost: Int?

    var choiceId: String? {
        guard let id, !id.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty else {
            return nil
        }
        return id
    }
}
