fix: some thing for game to be built

This commit is contained in:
KOSMOGOR
2025-04-29 01:23:40 +03:00
parent cb7ec5c6b7
commit d8da83d8f2
6 changed files with 35 additions and 29 deletions
+5 -5
View File
@@ -44,20 +44,20 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 21512d898f67c404d9a7519c0b7dcba8, type: 3} m_Script: {fileID: 11500000, guid: 21512d898f67c404d9a7519c0b7dcba8, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
deployScene: {fileID: 102900000, guid: 3dbb8dbb9a7a2f2a0bd1311c83d35a6a, type: 3} deploySceneName: DeployMenu
levels: levels:
- scene: {fileID: 102900000, guid: a1fcdf91e546853e5b455db87068027d, type: 3} - sceneName: Level1
hp: 0 hp: 0
maxHp: 100 maxHp: 100
factory: 0 factory: 0
- scene: {fileID: 102900000, guid: f5bbc8313924a074dbd2dad1bcb13fe1, type: 3} - sceneName: Level2
hp: 0 hp: 0
maxHp: 100 maxHp: 100
factory: 1 factory: 1
- scene: {fileID: 102900000, guid: 32cdfc1d09a868fb29f15ecf4b9a69a9, type: 3} - sceneName: Level3
hp: 0 hp: 0
maxHp: 100 maxHp: 100
factory: 2 factory: 3
enemies: enemies:
- prefab: {fileID: 3602081654026665026, guid: 7ab59219438e4a241affd5e9441d9d9f, type: 3} - prefab: {fileID: 3602081654026665026, guid: 7ab59219438e4a241affd5e9441d9d9f, type: 3}
weight: 1 weight: 1
+12
View File
@@ -534,6 +534,10 @@ PrefabInstance:
propertyPath: level propertyPath: level
value: value:
objectReference: {fileID: 102900000, guid: f5bbc8313924a074dbd2dad1bcb13fe1, type: 3} objectReference: {fileID: 102900000, guid: f5bbc8313924a074dbd2dad1bcb13fe1, type: 3}
- target: {fileID: 6580383546006840890, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: levelName
value: Level2
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@@ -688,6 +692,10 @@ PrefabInstance:
propertyPath: level propertyPath: level
value: value:
objectReference: {fileID: 102900000, guid: 32cdfc1d09a868fb29f15ecf4b9a69a9, type: 3} objectReference: {fileID: 102900000, guid: 32cdfc1d09a868fb29f15ecf4b9a69a9, type: 3}
- target: {fileID: 6580383546006840890, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: levelName
value: Level3
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
@@ -986,6 +994,10 @@ PrefabInstance:
propertyPath: level propertyPath: level
value: value:
objectReference: {fileID: 102900000, guid: a1fcdf91e546853e5b455db87068027d, type: 3} objectReference: {fileID: 102900000, guid: a1fcdf91e546853e5b455db87068027d, type: 3}
- target: {fileID: 6580383546006840890, guid: eb75319be3c428240ad8fa8f46e52a48, type: 3}
propertyPath: levelName
value: Level1
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
+3 -4
View File
@@ -1,12 +1,11 @@
using System.Linq; using System.Linq;
using TMPro; using TMPro;
using UnityEditor;
using UnityEngine; using UnityEngine;
public class DeployButton : MonoBehaviour public class DeployButton : MonoBehaviour
{ {
public TMP_Text textField; public TMP_Text textField;
public SceneAsset level; public string levelName;
DeployController dc; DeployController dc;
@@ -15,11 +14,11 @@ public class DeployButton : MonoBehaviour
} }
public void DeployFromButton() { public void DeployFromButton() {
dc.Deploy(level.name); dc.Deploy(levelName);
} }
public void SetLevelInfoText() { 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)}"; string s = $"HP: {levelInfo.hp}/{levelInfo.maxHp}\nEnemies: {levelInfo.enemies.Values.Sum(x => x)}\nBullet type: {GameController.GetBulletTypeString(levelInfo.factory)}";
textField.text = s; textField.text = s;
} }
+3 -4
View File
@@ -1,6 +1,5 @@
using System.Linq; using System.Linq;
using TMPro; using TMPro;
using UnityEditor;
using UnityEngine; using UnityEngine;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
@@ -12,11 +11,11 @@ public class DeployController : MonoBehaviour
public void Deploy(string sceneName) { public void Deploy(string sceneName) {
LevelInfo level = GameController.i.GetLevel(sceneName); LevelInfo level = GameController.i.GetLevel(sceneName);
SceneManager.LoadScene(level.scene.name); SceneManager.LoadScene(level.sceneName);
} }
public void SetLevelInfoText(TMP_Text textField, SceneAsset level) { public void SetLevelInfoText(TMP_Text textField, string levelName) {
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)}"; string s = $"HP: {levelInfo.hp}/{levelInfo.maxHp}\nEnemies: {levelInfo.enemies.Values.Sum(x => x)}\nBullet type: {GameController.GetBulletTypeString(levelInfo.factory)}";
} }
} }
+12 -13
View File
@@ -1,7 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using UnityEditor;
using UnityEngine; using UnityEngine;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
@@ -9,7 +8,7 @@ using Random = UnityEngine.Random;
public class GameController : MonoBehaviour public class GameController : MonoBehaviour
{ {
public static GameController i; public static GameController i;
public SceneAsset deployScene; public string deploySceneName;
public List<LevelInfo> levels; public List<LevelInfo> levels;
public List<EnemyInfo> enemies; public List<EnemyInfo> enemies;
public Dictionary<BulletType, int> inventory = new(); public Dictionary<BulletType, int> inventory = new();
@@ -24,7 +23,7 @@ public class GameController : MonoBehaviour
return li; return li;
}).ToList(); }).ToList();
levels.ForEach(li => { levels.ForEach(li => {
AddEnemyInLevel(SelectEnemyWeighted().prefab, li.scene.name); AddEnemyInLevel(SelectEnemyWeighted().prefab, li.sceneName);
}); });
foreach (BulletType i in Enum.GetValues(typeof(BulletType))) { foreach (BulletType i in Enum.GetValues(typeof(BulletType))) {
if (i == BulletType.None) continue; if (i == BulletType.None) continue;
@@ -33,25 +32,25 @@ public class GameController : MonoBehaviour
} }
public Dictionary<GameObject, int> PopEnemies(string sceneName) { public Dictionary<GameObject, int> PopEnemies(string sceneName) {
LevelInfo li = levels.Find(x => x.scene.name == sceneName); LevelInfo li = levels.Find(x => x.sceneName == sceneName);
Dictionary<GameObject, int> levelEnemies = new(li.enemies); Dictionary<GameObject, int> levelEnemies = new(li.enemies);
li.enemies.Clear(); li.enemies.Clear();
return levelEnemies; return levelEnemies;
} }
public void AddEnemyInLevel(GameObject enemy, string sceneName) { public void AddEnemyInLevel(GameObject enemy, string sceneName) {
Dictionary<GameObject, int> levelEnemies = levels.Find(x => x.scene.name == sceneName).enemies; Dictionary<GameObject, int> levelEnemies = levels.Find(x => x.sceneName == sceneName).enemies;
if (levelEnemies.ContainsKey(enemy)) levelEnemies[enemy] += 1; if (levelEnemies.ContainsKey(enemy)) levelEnemies[enemy] += 1;
else levelEnemies[enemy] = 1; else levelEnemies[enemy] = 1;
} }
public LevelInfo GetLevel(string sceneName) { public LevelInfo GetLevel(string sceneName) {
return levels.Find(x => x.scene.name == sceneName); return levels.Find(x => x.sceneName == sceneName);
} }
void RepairLevel(string sceneName) { void RepairLevel(string sceneName) {
levels = levels.Select(li => { levels = levels.Select(li => {
if (li.scene.name == sceneName) { if (li.sceneName == sceneName) {
li.hp = Math.Clamp(li.hp + 20, 0, li.maxHp); li.hp = Math.Clamp(li.hp + 20, 0, li.maxHp);
} }
return li; return li;
@@ -60,7 +59,7 @@ public class GameController : MonoBehaviour
void DamageLevels(string sceneName, float timeSpent) { void DamageLevels(string sceneName, float timeSpent) {
levels = levels.Select(li => { 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); int damage = (int)(li.enemies.Values.Sum(x => x) * timeSpent / 10);
li.hp = Math.Clamp(li.hp - damage, 0, li.maxHp); li.hp = Math.Clamp(li.hp - damage, 0, li.maxHp);
} }
@@ -71,14 +70,14 @@ public class GameController : MonoBehaviour
void SpawnEnemies(string sceneName, float timeSpent) { void SpawnEnemies(string sceneName, float timeSpent) {
int enemiesToAdd = (int)(timeSpent / 10) + 1; int enemiesToAdd = (int)(timeSpent / 10) + 1;
levels.ForEach(li => { levels.ForEach(li => {
if (li.scene.name == sceneName || IsLevelDestroyed(li.scene.name)) return; if (li.sceneName == sceneName || IsLevelDestroyed(li.sceneName)) return;
for (int i = 0; i < enemiesToAdd; ++i) AddEnemyInLevel(SelectEnemyWeighted().prefab, li.scene.name); for (int i = 0; i < enemiesToAdd; ++i) AddEnemyInLevel(SelectEnemyWeighted().prefab, li.sceneName);
}); });
} }
void AddBullets() { void AddBullets() {
levels.ForEach(li => { 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() { public void LoadDeployScene() {
SceneManager.LoadScene(deployScene.name); SceneManager.LoadScene(deploySceneName);
} }
public static void SetCursorState(bool locked) { public static void SetCursorState(bool locked) {
@@ -145,7 +144,7 @@ public class GameController : MonoBehaviour
[Serializable] [Serializable]
public struct LevelInfo { public struct LevelInfo {
public SceneAsset scene; public string sceneName;
public int hp; public int hp;
public int maxHp; public int maxHp;
public BulletType factory; public BulletType factory;
@@ -5,9 +5,6 @@ EditorBuildSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 2 serializedVersion: 2
m_Scenes: m_Scenes:
- enabled: 1
path: Assets/Scenes/Composing.unity
guid: 4be9044832449a14384b79b9da7005b1
- enabled: 1 - enabled: 1
path: Assets/Scenes/DeployMenu.unity path: Assets/Scenes/DeployMenu.unity
guid: 3dbb8dbb9a7a2f2a0bd1311c83d35a6a guid: 3dbb8dbb9a7a2f2a0bd1311c83d35a6a