From d8da83d8f28bd9de0e6ac8408a35a402a8806ece Mon Sep 17 00:00:00 2001 From: KOSMOGOR Date: Tue, 29 Apr 2025 01:23:40 +0300 Subject: [PATCH] fix: some thing for game to be built --- Assets/Prefabs/Game/GameController.prefab | 10 ++++----- Assets/Scenes/DeployMenu.unity | 12 +++++++++++ Assets/Scripts/Game/DeployButton.cs | 7 +++---- Assets/Scripts/Game/DeployController.cs | 7 +++---- Assets/Scripts/Game/GameController.cs | 25 +++++++++++------------ ProjectSettings/EditorBuildSettings.asset | 3 --- 6 files changed, 35 insertions(+), 29 deletions(-) diff --git a/Assets/Prefabs/Game/GameController.prefab b/Assets/Prefabs/Game/GameController.prefab index fa8eec2..60880df 100644 --- a/Assets/Prefabs/Game/GameController.prefab +++ b/Assets/Prefabs/Game/GameController.prefab @@ -44,20 +44,20 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 21512d898f67c404d9a7519c0b7dcba8, type: 3} m_Name: m_EditorClassIdentifier: - deployScene: {fileID: 102900000, guid: 3dbb8dbb9a7a2f2a0bd1311c83d35a6a, type: 3} + deploySceneName: DeployMenu levels: - - scene: {fileID: 102900000, guid: a1fcdf91e546853e5b455db87068027d, type: 3} + - sceneName: Level1 hp: 0 maxHp: 100 factory: 0 - - scene: {fileID: 102900000, guid: f5bbc8313924a074dbd2dad1bcb13fe1, type: 3} + - sceneName: Level2 hp: 0 maxHp: 100 factory: 1 - - scene: {fileID: 102900000, guid: 32cdfc1d09a868fb29f15ecf4b9a69a9, type: 3} + - sceneName: Level3 hp: 0 maxHp: 100 - factory: 2 + factory: 3 enemies: - prefab: {fileID: 3602081654026665026, guid: 7ab59219438e4a241affd5e9441d9d9f, type: 3} weight: 1 diff --git a/Assets/Scenes/DeployMenu.unity b/Assets/Scenes/DeployMenu.unity index 66dc08a..2b89d2f 100644 --- a/Assets/Scenes/DeployMenu.unity +++ b/Assets/Scenes/DeployMenu.unity @@ -534,6 +534,10 @@ PrefabInstance: propertyPath: level value: objectReference: {fileID: 102900000, guid: f5bbc8313924a074dbd2dad1bcb13fe1, type: 3} + - target: {fileID: 6580383546006840890, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} + propertyPath: levelName + value: Level2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -688,6 +692,10 @@ PrefabInstance: propertyPath: level value: objectReference: {fileID: 102900000, guid: 32cdfc1d09a868fb29f15ecf4b9a69a9, type: 3} + - target: {fileID: 6580383546006840890, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} + propertyPath: levelName + value: Level3 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -986,6 +994,10 @@ PrefabInstance: propertyPath: level value: objectReference: {fileID: 102900000, guid: a1fcdf91e546853e5b455db87068027d, type: 3} + - target: {fileID: 6580383546006840890, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3} + propertyPath: levelName + value: Level1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] diff --git a/Assets/Scripts/Game/DeployButton.cs b/Assets/Scripts/Game/DeployButton.cs index fc740f4..9c88df8 100644 --- a/Assets/Scripts/Game/DeployButton.cs +++ b/Assets/Scripts/Game/DeployButton.cs @@ -1,12 +1,11 @@ using System.Linq; using TMPro; -using UnityEditor; using UnityEngine; public class DeployButton : MonoBehaviour { public TMP_Text textField; - public SceneAsset level; + public string levelName; DeployController dc; @@ -15,11 +14,11 @@ public class DeployButton : MonoBehaviour } public void DeployFromButton() { - dc.Deploy(level.name); + dc.Deploy(levelName); } public void SetLevelInfoText() { - LevelInfo levelInfo = GameController.i.GetLevel(level.name); + LevelInfo levelInfo = GameController.i.GetLevel(levelName); string s = $"HP: {levelInfo.hp}/{levelInfo.maxHp}\nEnemies: {levelInfo.enemies.Values.Sum(x => x)}\nBullet type: {GameController.GetBulletTypeString(levelInfo.factory)}"; textField.text = s; } diff --git a/Assets/Scripts/Game/DeployController.cs b/Assets/Scripts/Game/DeployController.cs index 3e520f4..e6381af 100644 --- a/Assets/Scripts/Game/DeployController.cs +++ b/Assets/Scripts/Game/DeployController.cs @@ -1,6 +1,5 @@ using System.Linq; using TMPro; -using UnityEditor; using UnityEngine; using UnityEngine.SceneManagement; @@ -12,11 +11,11 @@ public class DeployController : MonoBehaviour public void Deploy(string sceneName) { LevelInfo level = GameController.i.GetLevel(sceneName); - SceneManager.LoadScene(level.scene.name); + SceneManager.LoadScene(level.sceneName); } - public void SetLevelInfoText(TMP_Text textField, SceneAsset level) { - LevelInfo levelInfo = GameController.i.GetLevel(level.name); + public void SetLevelInfoText(TMP_Text textField, string levelName) { + LevelInfo levelInfo = GameController.i.GetLevel(levelName); string s = $"HP: {levelInfo.hp}/{levelInfo.maxHp}\nEnemies: {levelInfo.enemies.Values.Sum(x => x)}\nBullet type: {GameController.GetBulletTypeString(levelInfo.factory)}"; } } diff --git a/Assets/Scripts/Game/GameController.cs b/Assets/Scripts/Game/GameController.cs index 921fb48..6decf7f 100644 --- a/Assets/Scripts/Game/GameController.cs +++ b/Assets/Scripts/Game/GameController.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using UnityEditor; using UnityEngine; using UnityEngine.SceneManagement; using Random = UnityEngine.Random; @@ -9,7 +8,7 @@ using Random = UnityEngine.Random; public class GameController : MonoBehaviour { public static GameController i; - public SceneAsset deployScene; + public string deploySceneName; public List levels; public List enemies; public Dictionary inventory = new(); @@ -24,7 +23,7 @@ public class GameController : MonoBehaviour return li; }).ToList(); levels.ForEach(li => { - AddEnemyInLevel(SelectEnemyWeighted().prefab, li.scene.name); + AddEnemyInLevel(SelectEnemyWeighted().prefab, li.sceneName); }); foreach (BulletType i in Enum.GetValues(typeof(BulletType))) { if (i == BulletType.None) continue; @@ -33,25 +32,25 @@ public class GameController : MonoBehaviour } public Dictionary PopEnemies(string sceneName) { - LevelInfo li = levels.Find(x => x.scene.name == sceneName); + LevelInfo li = levels.Find(x => x.sceneName == sceneName); Dictionary levelEnemies = new(li.enemies); li.enemies.Clear(); return levelEnemies; } public void AddEnemyInLevel(GameObject enemy, string sceneName) { - Dictionary levelEnemies = levels.Find(x => x.scene.name == sceneName).enemies; + Dictionary levelEnemies = levels.Find(x => x.sceneName == sceneName).enemies; if (levelEnemies.ContainsKey(enemy)) levelEnemies[enemy] += 1; else levelEnemies[enemy] = 1; } public LevelInfo GetLevel(string sceneName) { - return levels.Find(x => x.scene.name == sceneName); + return levels.Find(x => x.sceneName == sceneName); } void RepairLevel(string sceneName) { levels = levels.Select(li => { - if (li.scene.name == sceneName) { + if (li.sceneName == sceneName) { li.hp = Math.Clamp(li.hp + 20, 0, li.maxHp); } return li; @@ -60,7 +59,7 @@ public class GameController : MonoBehaviour void DamageLevels(string sceneName, float timeSpent) { levels = levels.Select(li => { - if (li.scene.name != sceneName && !IsLevelDestroyed(li.scene.name)) { + if (li.sceneName != sceneName && !IsLevelDestroyed(li.sceneName)) { int damage = (int)(li.enemies.Values.Sum(x => x) * timeSpent / 10); li.hp = Math.Clamp(li.hp - damage, 0, li.maxHp); } @@ -71,14 +70,14 @@ public class GameController : MonoBehaviour void SpawnEnemies(string sceneName, float timeSpent) { int enemiesToAdd = (int)(timeSpent / 10) + 1; levels.ForEach(li => { - if (li.scene.name == sceneName || IsLevelDestroyed(li.scene.name)) return; - for (int i = 0; i < enemiesToAdd; ++i) AddEnemyInLevel(SelectEnemyWeighted().prefab, li.scene.name); + if (li.sceneName == sceneName || IsLevelDestroyed(li.sceneName)) return; + for (int i = 0; i < enemiesToAdd; ++i) AddEnemyInLevel(SelectEnemyWeighted().prefab, li.sceneName); }); } void AddBullets() { levels.ForEach(li => { - if (!IsLevelDestroyed(li.scene.name) && li.factory != BulletType.None) inventory[li.factory] += 10; + if (!IsLevelDestroyed(li.sceneName) && li.factory != BulletType.None) inventory[li.factory] += 10; }); } @@ -108,7 +107,7 @@ public class GameController : MonoBehaviour } public void LoadDeployScene() { - SceneManager.LoadScene(deployScene.name); + SceneManager.LoadScene(deploySceneName); } public static void SetCursorState(bool locked) { @@ -145,7 +144,7 @@ public class GameController : MonoBehaviour [Serializable] public struct LevelInfo { - public SceneAsset scene; + public string sceneName; public int hp; public int maxHp; public BulletType factory; diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 3c28614..c9af604 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,9 +5,6 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: - - enabled: 1 - path: Assets/Scenes/Composing.unity - guid: 4be9044832449a14384b79b9da7005b1 - enabled: 1 path: Assets/Scenes/DeployMenu.unity guid: 3dbb8dbb9a7a2f2a0bd1311c83d35a6a