fix: some thing for game to be built
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<LevelInfo> levels;
|
||||
public List<EnemyInfo> enemies;
|
||||
public Dictionary<BulletType, int> 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<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);
|
||||
li.enemies.Clear();
|
||||
return levelEnemies;
|
||||
}
|
||||
|
||||
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;
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user