From 208fc77b7f9dfb9e39e6b02b0d236cf9a99c2440 Mon Sep 17 00:00:00 2001
From: Yu Sung <hwchon1234@gmail.com>
Date: Tue, 26 Dec 2023 15:56:04 +0900
Subject: [PATCH] =?UTF-8?q?=EB=A3=B0=EB=A0=9B=20=EC=B5=9C=EB=8C=80=20?=
 =?UTF-8?q?=EA=B0=9C=EC=88=98=20=EC=88=98=EC=A0=95=20AS-IS=20:=20=EC=B5=9C?=
 =?UTF-8?q?=EB=8C=80=206=EA=B0=9C=20TO-BE=20:=20=EC=B5=9C=EB=8C=80=2010?=
 =?UTF-8?q?=EA=B0=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

룰렛 확률 수정
AS-IS : 소수점 없음
TO-BE : 소수점 2자리
---
 SodaLive/Sources/FortuneWheel/FortuneWheelModel.swift       | 6 +++++-
 SodaLive/Sources/Live/Room/LiveRoomViewModel.swift          | 3 ++-
 .../Sources/Live/Room/Routlette/Config/RouletteOption.swift | 2 +-
 .../Live/Room/Routlette/Config/RouletteSettingsView.swift   | 2 +-
 .../Room/Routlette/Config/RouletteSettingsViewModel.swift   | 5 +++--
 5 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/SodaLive/Sources/FortuneWheel/FortuneWheelModel.swift b/SodaLive/Sources/FortuneWheel/FortuneWheelModel.swift
index 4c2c615..4139172 100644
--- a/SodaLive/Sources/FortuneWheel/FortuneWheelModel.swift
+++ b/SodaLive/Sources/FortuneWheel/FortuneWheelModel.swift
@@ -39,7 +39,11 @@ struct FortuneWheelModel {
             Color(hex: "#E6AAC1"),
             Color(hex: "#8FCEEA"),
             Color(hex: "#CD5880"),
-            Color(hex: "#C2C85E")
+            Color(hex: "#C2C85E"),
+            Color(hex: "#000000"),
+            Color(hex: "#888888"),
+            Color(hex: "#FFFFFF"),
+            Color(hex: "#000080"),
         ]
         self.pointerColor = pointerColor
         self.strokeWidth = strokeWidth
diff --git a/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift b/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift
index a92d05f..677cc30 100644
--- a/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift
+++ b/SodaLive/Sources/Live/Room/LiveRoomViewModel.swift
@@ -1474,7 +1474,8 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
     private func calculatePercentages(options: [RouletteItem]) -> [RoulettePreviewItem] {
         let totalWeight = options.reduce(0) { $0 + $1.weight }
         let updatedOptions = options.map { option in
-            RoulettePreviewItem(title: option.title, percent: "\(Int(Float(option.weight) / Float(totalWeight) * Float(100)))%")
+            let percent = floor(Double(option.weight) / Double(totalWeight) * 10000) / 100
+            return RoulettePreviewItem(title: option.title, percent: "\(String(format: "%.2f", percent))%")
         }
         
         return updatedOptions
diff --git a/SodaLive/Sources/Live/Room/Routlette/Config/RouletteOption.swift b/SodaLive/Sources/Live/Room/Routlette/Config/RouletteOption.swift
index 6ddeb49..e238003 100644
--- a/SodaLive/Sources/Live/Room/Routlette/Config/RouletteOption.swift
+++ b/SodaLive/Sources/Live/Room/Routlette/Config/RouletteOption.swift
@@ -10,7 +10,7 @@ import SwiftUI
 class RouletteOption: ObservableObject {
     var title: String
     var weight: Int
-    var percentage: Int = 50
+    var percentage: String = "50.00"
     
     init(title: String, weight: Int) {
         self.title = title
diff --git a/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsView.swift b/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsView.swift
index 1be5d55..ece0466 100644
--- a/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsView.swift
+++ b/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsView.swift
@@ -80,7 +80,7 @@ struct RouletteSettingsView: View {
                                     .foregroundColor(Color(hex: "eeeeee"))
                                 
                                 HStack(spacing: 0) {
-                                    Text("※ 룰렛 옵션은 최소 2개,\n최대 6개까지 설정할 수 있습니다.")
+                                    Text("※ 룰렛 옵션은 최소 2개,\n최대 10개까지 설정할 수 있습니다.")
                                         .font(.custom(Font.medium.rawValue, size: 13.3))
                                         .foregroundColor(Color(hex: "ff5c49"))
                                     
diff --git a/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsViewModel.swift b/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsViewModel.swift
index 8b054b3..be20f16 100644
--- a/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsViewModel.swift
+++ b/SodaLive/Sources/Live/Room/Routlette/Config/RouletteSettingsViewModel.swift
@@ -49,7 +49,7 @@ final class RouletteSettingsViewModel: ObservableObject {
     }
     
     func addOption() {
-        if (options.count >= 6) {
+        if (options.count >= 10) {
             return
         }
         options.append(RouletteOption(title: "", weight: 1))
@@ -72,7 +72,8 @@ final class RouletteSettingsViewModel: ObservableObject {
         guard totalWeight > 0 else { return }
         
         for i in 0..<options.count {
-            options[i].percentage = Int(Double(options[i].weight) / Double(totalWeight) * 100)
+            let percent = floor(Double(options[i].weight) / Double(totalWeight) * 10000) / 100
+            options[i].percentage = String(format: "%.2f", percent)
         }
         
         removeAllAndAddOptions(options: options)