diff options
author | chai <215380520@qq.com> | 2023-11-26 23:52:30 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-11-26 23:52:30 +0800 |
commit | 626381f061cde0c78564f6336e3131835cf20a5b (patch) | |
tree | d9991d6eda6ae5d7649ac91ecaa3b4dc833cd4c3 /Assembly_CSharp/GameManager.cs | |
parent | 0e63c4a2c6dec8dfa260501fb7d73750261ea7b7 (diff) |
* move
Diffstat (limited to 'Assembly_CSharp/GameManager.cs')
-rw-r--r-- | Assembly_CSharp/GameManager.cs | 476 |
1 files changed, 0 insertions, 476 deletions
diff --git a/Assembly_CSharp/GameManager.cs b/Assembly_CSharp/GameManager.cs deleted file mode 100644 index bfa59e1..0000000 --- a/Assembly_CSharp/GameManager.cs +++ /dev/null @@ -1,476 +0,0 @@ -using UnityEngine; -using UnityEngine.UI; - -public class GameManager : MonoBehaviour -{ - [SerializeField] - private TileManager tileManager; - - [SerializeField] - private SpawnManager spawnManager; - - public int gameMode = 3; - - [SerializeField] - private TerrainTile singleStartTile; - - [SerializeField] - private Waypoint[] singleStartWaypoints; - - [SerializeField] - private TerrainTile doubleStartTile; - - [SerializeField] - private Waypoint[] doubleStartWaypoints; - - [SerializeField] - private TerrainTile tripleStartTile; - - [SerializeField] - private Waypoint[] tripleStartWaypoints; - - public bool gameOver; - - public int health; - - public int maxHealth; - - private float healthLoss; - - [SerializeField] - private Text healthText; - - [SerializeField] - private Image maskBar; - - [SerializeField] - private Image healthBar; - - [SerializeField] - private Image healthLossBar; - - [SerializeField] - private GameObject gameOverMenu; - - [SerializeField] - private Text levelsCompletedText; - - [SerializeField] - private Text xpGainText; - - [SerializeField] - private Text newRecordText; - - [SerializeField] - private GameObject victoryScreen; - - [SerializeField] - private Text vicLevelsText; - - [SerializeField] - private Text vicLevelXpText; - - [SerializeField] - private Text vicXpBonusText; - - [SerializeField] - private Text vicNewRecordText; - - public Vector3 dotTick = 24f * Vector3.one; - - public int hauntedHouseEfficiency = 1; - - public int universityBonus; - - public static GameManager instance; - - private void Awake() - { - instance = this; - gameMode = PlayerPrefs.GetInt("GameMode", 1); - if (gameMode == 1) - { - singleStartTile.transform.Rotate(0f, 90 * Random.Range(-1, 3), 0f); - singleStartTile.SetCardinalDirections(); - tileManager.startTile = singleStartTile; - spawnManager.initialSpawns = singleStartWaypoints; - doubleStartTile.gameObject.SetActive(value: false); - tripleStartTile.gameObject.SetActive(value: false); - } - else if (gameMode == 2) - { - doubleStartTile.transform.Rotate(0f, 90 * Random.Range(-1, 3), 0f); - doubleStartTile.SetCardinalDirections(); - tileManager.startTile = doubleStartTile; - spawnManager.initialSpawns = doubleStartWaypoints; - singleStartTile.gameObject.SetActive(value: false); - tripleStartTile.gameObject.SetActive(value: false); - } - else if (gameMode == 3) - { - tripleStartTile.transform.Rotate(0f, 90 * Random.Range(-1, 3), 0f); - tripleStartTile.SetCardinalDirections(); - tileManager.startTile = tripleStartTile; - spawnManager.initialSpawns = tripleStartWaypoints; - doubleStartTile.gameObject.SetActive(value: false); - singleStartTile.gameObject.SetActive(value: false); - } - - } - - private void Start() - { - maxHealth = 100 + 10 * (PlayerPrefs.GetInt("TowerHealth1", 0) + PlayerPrefs.GetInt("TowerHealth2", 0) + PlayerPrefs.GetInt("TowerHealth3", 0) + PlayerPrefs.GetInt("TowerHealth4", 0) + PlayerPrefs.GetInt("TowerHealth5", 0) + PlayerPrefs.GetInt("TowerHealth6", 0) + PlayerPrefs.GetInt("TowerHealth7", 0) + PlayerPrefs.GetInt("TowerHealth8", 0) + PlayerPrefs.GetInt("TowerHealth9", 0) + PlayerPrefs.GetInt("TowerHealth10", 0)); - health = maxHealth; - healthLoss = maxHealth; - SetHealthBar(); - int num = 0; - num = PlayerPrefs.GetInt("BalistaPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Crossbow, num); - } - num = PlayerPrefs.GetInt("BalistaPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Crossbow, num); - } - num = PlayerPrefs.GetInt("BalistaPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Crossbow, num); - } - num = PlayerPrefs.GetInt("MortarPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Morter, num); - } - num = PlayerPrefs.GetInt("MortarPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Morter, num); - } - num = PlayerPrefs.GetInt("MortarPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Morter, num); - } - num = PlayerPrefs.GetInt("TeslaPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.TeslaCoil, num); - } - num = PlayerPrefs.GetInt("TeslaPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.TeslaCoil, num); - } - num = PlayerPrefs.GetInt("TeslaPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.TeslaCoil, num); - } - num = PlayerPrefs.GetInt("FrostPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Frost, num); - } - num = PlayerPrefs.GetInt("FrostPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Frost, num); - } - num = PlayerPrefs.GetInt("FrostPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Frost, num); - } - num = PlayerPrefs.GetInt("FlamePHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.FlameThrower, num); - } - num = PlayerPrefs.GetInt("FlamePArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.FlameThrower, num); - } - num = PlayerPrefs.GetInt("FlamePShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.FlameThrower, num); - } - num = PlayerPrefs.GetInt("PoisonPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.PoisonSprayer, num); - } - num = PlayerPrefs.GetInt("PoisonPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.PoisonSprayer, num); - } - num = PlayerPrefs.GetInt("PoisonPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.PoisonSprayer, num); - } - num = PlayerPrefs.GetInt("ShredderPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Shredder, num); - } - num = PlayerPrefs.GetInt("ShredderPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Shredder, num); - } - num = PlayerPrefs.GetInt("ShredderPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Shredder, num); - } - num = PlayerPrefs.GetInt("EncampmentPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Encampment, num); - } - num = PlayerPrefs.GetInt("EncampmentPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Encampment, num); - } - num = PlayerPrefs.GetInt("EncampmentPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Encampment, num); - } - num = PlayerPrefs.GetInt("LookoutPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Lookout, num); - } - num = PlayerPrefs.GetInt("LookoutPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Lookout, num); - } - num = PlayerPrefs.GetInt("LookoutPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Lookout, num); - } - num = PlayerPrefs.GetInt("RadarPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Radar, num); - } - num = PlayerPrefs.GetInt("RadarPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Radar, num); - } - num = PlayerPrefs.GetInt("RadarPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Radar, num); - } - num = PlayerPrefs.GetInt("ObeliskPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.Obelisk, num); - } - num = PlayerPrefs.GetInt("ObeliskPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.Obelisk, num); - } - num = PlayerPrefs.GetInt("ObeliskPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.Obelisk, num); - } - num = PlayerPrefs.GetInt("ParticleCannonPHealth", 0); - if (num > 0) - { - TowerManager.instance.AddBonusHealthDamage(TowerType.ParticleCannon, num); - } - num = PlayerPrefs.GetInt("ParticleCannonPArmor", 0); - if (num > 0) - { - TowerManager.instance.AddBonusArmorDamage(TowerType.ParticleCannon, num); - } - num = PlayerPrefs.GetInt("ParticleCannonPShield", 0); - if (num > 0) - { - TowerManager.instance.AddBonusShieldDamage(TowerType.ParticleCannon, num); - } - } - - private void Update() - { - if (healthLoss > (float)health) - { - healthLoss = Mathf.Clamp(healthLoss - 4f * Time.deltaTime, health, healthLoss); - healthLossBar.rectTransform.sizeDelta = new Vector2(healthLoss / 10f, 0.25f); - } - } - - public void IncreaseTowerHealth(int amt) - { - maxHealth += amt * 10; - health += amt * 10; - healthLoss = health; - SetHealthBar(); - if (maxHealth / 10 >= 50) - { - AchievementManager.instance.UnlockAchievement("TowerHealth50"); - } - else if (maxHealth / 10 >= 40) - { - AchievementManager.instance.UnlockAchievement("TowerHealth40"); - } - else if (maxHealth / 10 >= 30) - { - AchievementManager.instance.UnlockAchievement("TowerHealth30"); - } - } - - private void SetHealthBar() - { - maskBar.rectTransform.localScale = new Vector3(2000 / maxHealth, 50f, 10f); - maskBar.rectTransform.sizeDelta = new Vector2((float)maxHealth / 10f, 0.25f); - healthLossBar.rectTransform.sizeDelta = new Vector2((float)health / 10f, 0.25f); - UpdateHealthText(); - } - - private void UpdateHealthText() - { - healthText.text = "Tower: " + health / 10 + "/" + maxHealth / 10; - healthBar.rectTransform.sizeDelta = new Vector2((float)health / 10f, 0.25f); - } - - public void TakeDamage(int damage) - { - health = Mathf.Max(health - 10 * damage, 0); - UpdateHealthText(); - if (health <= 0 && !gameOver) - { - gameOver = true; - GameOver(); - } - } - - public void RepairTower(int heal) - { - health = Mathf.Clamp(health + heal, 0, maxHealth); - if (healthLoss < (float)health) - { - healthLoss = health; - } - UpdateHealthText(); - } - - public void GameOverQuit() - { - if (!SpawnManager.instance.combat) - { - SpawnManager.instance.level++; - } - if (Time.timeScale != 1f) - { - Time.timeScale = 1f; - } - gameOver = true; - GameOver(); - } - - public int NaturalSum(int value) - { - return value * (value + 1) / 2; - } - - private void GameOver() - { - gameOverMenu.SetActive(value: true); - DamageTracker.instance.DisplayDamageTotals(); - int num = NaturalSum(SpawnManager.instance.level - 1) * gameMode; - int num2 = 0; - int @int = PlayerPrefs.GetInt("Record" + gameMode, 0); - if (SpawnManager.instance.level - 1 - @int > 0) - { - num2 = (NaturalSum(SpawnManager.instance.level - 1) - NaturalSum(@int)) * 3; - PlayerPrefs.SetInt("Record" + gameMode, SpawnManager.instance.level - 1); - string text = ""; - if (gameMode == 1) - { - text = "single"; - } - else if (gameMode == 2) - { - text = "double"; - } - else if (gameMode == 3) - { - text = "triple"; - } - newRecordText.text = "New " + text + " defense record!\n +" + num2 + " bonus xp"; - } - else - { - newRecordText.text = ""; - } - int int2 = PlayerPrefs.GetInt("XP", 0); - PlayerPrefs.SetInt("XP", int2 + num2); - levelsCompletedText.text = "Defended " + (SpawnManager.instance.level - 1) + " levels"; - xpGainText.text = "+" + num + " xp"; - } - - public void Victory() - { - AchievementManager.instance.CheckTowerTypesVictory(); - victoryScreen.SetActive(value: true); - DamageTracker.instance.DisplayDamageTotals(); - int num = NaturalSum(SpawnManager.instance.level - 1) * gameMode; - int num2 = SpawnManager.instance.lastLevel * gameMode * 10; - int num3 = 0; - int @int = PlayerPrefs.GetInt("Record" + gameMode, 0); - if (SpawnManager.instance.lastLevel - @int > 0) - { - num3 = (NaturalSum(SpawnManager.instance.level - 1) - NaturalSum(@int)) * 3; - PlayerPrefs.SetInt("Record" + gameMode, SpawnManager.instance.lastLevel); - string text = ""; - if (gameMode == 1) - { - text = "single"; - } - else if (gameMode == 2) - { - text = "double"; - } - else if (gameMode == 3) - { - text = "triple"; - } - vicNewRecordText.text = "New " + text + " defense record!\n +" + num3 + " bonus xp"; - } - else - { - vicNewRecordText.text = ""; - } - int int2 = PlayerPrefs.GetInt("XP", 0); - PlayerPrefs.SetInt("XP", int2 + num3 + num2); - vicLevelsText.text = "Defended all " + SpawnManager.instance.lastLevel + " levels"; - vicLevelXpText.text = "+" + num + " xp"; - vicXpBonusText.text = "+" + num2 + " xp"; - } - - public void LoadScene(string sceneName) - { - if (AchievementManager.instance != null) - { - AchievementManager.instance.OnSceneClose(); - } - LevelLoader.instance.LoadLevel(sceneName); - } -} |