From 02dbaae8d11b85a8a1320f2b93f0fb52b841f0f4 Mon Sep 17 00:00:00 2001 From: Mingu Kim Date: Fri, 27 Jun 2025 00:56:39 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A6=BD=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gameton-06/Assets/Editor.meta | 8 +++ Gameton-06/Assets/Editor/BuildScript.cs | 49 +++++++++++++++++++ Gameton-06/Assets/Editor/BuildScript.cs.meta | 11 +++++ .../UI/RouletteSpin/RoulettePresenter.cs | 5 +- .../Scripts/UI/RouletteSpin/RouletteSpin.cs | 4 ++ 5 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 Gameton-06/Assets/Editor.meta create mode 100644 Gameton-06/Assets/Editor/BuildScript.cs create mode 100644 Gameton-06/Assets/Editor/BuildScript.cs.meta diff --git a/Gameton-06/Assets/Editor.meta b/Gameton-06/Assets/Editor.meta new file mode 100644 index 00000000..7a1df61e --- /dev/null +++ b/Gameton-06/Assets/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0520addb815e26946a4b893500a08374 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Gameton-06/Assets/Editor/BuildScript.cs b/Gameton-06/Assets/Editor/BuildScript.cs new file mode 100644 index 00000000..afa74bbf --- /dev/null +++ b/Gameton-06/Assets/Editor/BuildScript.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using UnityEditor; +using UnityEditor.Build.Reporting; +using UnityEngine; + +namespace TON +{ + public class BuildScript + { + static string[] SCENES = FindEnabledEditorScenes(); + + static string APP_NAME = "TestBuild"; //앱이름 입력 + static string TARGET_DIR = "E:/Build/"; //빌드경로 입력 + + [MenuItem("Build/Build Android")] + static void PerformAndroidBuild() + { + string target_dir = APP_NAME + ".apk"; + PlayerSettings.keystorePass = "dlrhahdla"; //키스토어 비번 입력 + PlayerSettings.keyaliasPass = "dlrhahdla"; //키스토어 비번 입력 + GenericBuild(SCENES, TARGET_DIR + "/" + target_dir, BuildTargetGroup.Android, BuildTarget.Android, BuildOptions.None); + } + + private static string[] FindEnabledEditorScenes() + { + List EditorScenes = new List(); + foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes) + { + if (!scene.enabled) continue; + EditorScenes.Add(scene.path); + } + return EditorScenes.ToArray(); + } + + static void GenericBuild(string[] scenes, string target_dir, BuildTargetGroup build_target_group, BuildTarget build_target, BuildOptions build_options) + { + EditorUserBuildSettings.SwitchActiveBuildTarget(build_target_group, build_target); + string res = BuildPipeline.BuildPlayer(scenes, target_dir, build_target, build_options).ToString(); + + if (res.Length < 0) + { + throw new Exception("BuildPlayer failure: " + res); + } + } + } +} diff --git a/Gameton-06/Assets/Editor/BuildScript.cs.meta b/Gameton-06/Assets/Editor/BuildScript.cs.meta new file mode 100644 index 00000000..77bfec0a --- /dev/null +++ b/Gameton-06/Assets/Editor/BuildScript.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b41a1a0b12f28d4c9b65acaefd7c1f2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RoulettePresenter.cs b/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RoulettePresenter.cs index daf8575d..1a755716 100644 --- a/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RoulettePresenter.cs +++ b/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RoulettePresenter.cs @@ -8,7 +8,8 @@ namespace TON public class RoulettePresenter : MonoBehaviour { private PlayerDataManager playerDataManager; - + // ReactiveProperty + private void Awake() { // 싱글톤으로 PlayerDataManager 접근 @@ -18,6 +19,8 @@ namespace TON { Debug.LogError("PlayerDataManager가 초기화되지 않았습니다."); } + + // Todo : UI 바인딩 } // 재화 획득 메서드 diff --git a/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RouletteSpin.cs b/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RouletteSpin.cs index 559b4c28..07f4481c 100644 --- a/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RouletteSpin.cs +++ b/Gameton-06/Assets/Gameton/Scripts/UI/RouletteSpin/RouletteSpin.cs @@ -5,12 +5,14 @@ using UnityEngine.UI; namespace TON { + // View public class RouletteSpin : MonoBehaviour { [SerializeField] private Roulette roulette; [SerializeField] private Button buttonSpin; private PlayerDataManager playerDataManager; + // Todo : Presenter 변수 private void Awake() { @@ -27,6 +29,8 @@ namespace TON buttonSpin.interactable = false; roulette.Spin(EndOfSpin); }); + + // Presenter 생성 } private void EndOfSpin(RoulettePieceData selectedData)