From fd99c1153a287c87f9c1f361ad7bb200fb963bd3 Mon Sep 17 00:00:00 2001 From: Pavel Krisys Verbel <p.verbel@free.fr> Date: Sun, 1 Oct 2017 13:17:17 +0200 Subject: [PATCH] Correction --- .vs/Shoot'em up/v14/.suo | Bin 0 -> 117248 bytes Assets/Scripts/Game/EnemyDeathManager.cs | 18 +++++ Assets/Scripts/Game/EnemyDeathManager.cs.meta | 12 ++++ Assets/Scripts/Game/EnemyFactory.cs | 65 ++++++++++++++++++ Assets/Scripts/Game/EnemyFactory.cs.meta | 12 ++++ Assets/Scripts/Game/ImmunityManager.cs | 59 ++++++++++++++++ Assets/Scripts/Game/ImmunityManager.cs.meta | 12 ++++ Assets/Scripts/Game/ScoreManager.cs | 31 +++++++++ Assets/Scripts/Game/ScoreManager.cs.meta | 12 ++++ Assets/Scripts/Game/ScoreMemory.cs | 22 ++++++ Assets/Scripts/Game/ScoreMemory.cs.meta | 12 ++++ Assets/Scripts/Game/ScorePrinter.cs | 15 ++++ Assets/Scripts/Game/ScorePrinter.cs.meta | 12 ++++ Assets/Scripts/Menus/GameOverScorePrinter.cs | 18 +++++ .../Menus/GameOverScorePrinter.cs.meta | 12 ++++ 15 files changed, 312 insertions(+) create mode 100644 .vs/Shoot'em up/v14/.suo create mode 100644 Assets/Scripts/Game/EnemyDeathManager.cs create mode 100644 Assets/Scripts/Game/EnemyDeathManager.cs.meta create mode 100644 Assets/Scripts/Game/EnemyFactory.cs create mode 100644 Assets/Scripts/Game/EnemyFactory.cs.meta create mode 100644 Assets/Scripts/Game/ImmunityManager.cs create mode 100644 Assets/Scripts/Game/ImmunityManager.cs.meta create mode 100644 Assets/Scripts/Game/ScoreManager.cs create mode 100644 Assets/Scripts/Game/ScoreManager.cs.meta create mode 100644 Assets/Scripts/Game/ScoreMemory.cs create mode 100644 Assets/Scripts/Game/ScoreMemory.cs.meta create mode 100644 Assets/Scripts/Game/ScorePrinter.cs create mode 100644 Assets/Scripts/Game/ScorePrinter.cs.meta create mode 100644 Assets/Scripts/Menus/GameOverScorePrinter.cs create mode 100644 Assets/Scripts/Menus/GameOverScorePrinter.cs.meta diff --git a/.vs/Shoot'em up/v14/.suo b/.vs/Shoot'em up/v14/.suo new file mode 100644 index 0000000000000000000000000000000000000000..edcdda0a807d2e4a6717919b68a5ab505c4c5a4e GIT binary patch literal 117248 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 literal 0 HcmV?d00001 diff --git a/Assets/Scripts/Game/EnemyDeathManager.cs b/Assets/Scripts/Game/EnemyDeathManager.cs new file mode 100644 index 0000000..1ff8e66 --- /dev/null +++ b/Assets/Scripts/Game/EnemyDeathManager.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyDeathManager : DeathManager +{ + public EnemyFactory enemyFactory; + + [SerializeField] + int enemyDeathScore; + + public override void Die() + { + base.Die(); + ScoreManager.Instance.IncreaseScore(enemyDeathScore); + enemyFactory.Release(this.gameObject); + } +} diff --git a/Assets/Scripts/Game/EnemyDeathManager.cs.meta b/Assets/Scripts/Game/EnemyDeathManager.cs.meta new file mode 100644 index 0000000..2770f4f --- /dev/null +++ b/Assets/Scripts/Game/EnemyDeathManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7913e1dd17c5cfc4bad3f69ca7ef9303 +timeCreated: 1506697926 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Game/EnemyFactory.cs b/Assets/Scripts/Game/EnemyFactory.cs new file mode 100644 index 0000000..fa285f2 --- /dev/null +++ b/Assets/Scripts/Game/EnemyFactory.cs @@ -0,0 +1,65 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyFactory : MonoBehaviour +{ + public enum EnemyType + { + normalEnemy = 0, + zigzagEnemy = 1 + } + + [SerializeField] + GameObject[] enemyPrefabs = new GameObject[2]; + + List<GameObject>[] enemyStock = new List<GameObject>[2]; + + private void Start() + { + enemyStock[0] = new List<GameObject>(); + enemyStock[1] = new List<GameObject>(); + } + + public GameObject GetEnemy(EnemyType enemyType) + { + GameObject newEnemy; + if (enemyStock[(int)enemyType].Count == 0) + { + newEnemy = Instantiate(enemyPrefabs[(int)enemyType]); + BaseEnemyManager enemyManager = newEnemy.GetComponent<BaseEnemyManager>(); + if(enemyManager) + { + enemyManager.enemyType = enemyType; + enemyManager.enemyFactory = this; + } + EnemyDeathManager enemyDeathManager = newEnemy.GetComponent<EnemyDeathManager>(); + if(enemyDeathManager) + { + enemyDeathManager.enemyFactory = this; + } + } + else + { + newEnemy = enemyStock[(int)enemyType][0]; + enemyStock[(int)enemyType].RemoveAt(0); + newEnemy.SetActive(true); + } + return newEnemy; + } + + public void Release(GameObject enemy) + { + enemy.SetActive(false); + HealthManager healthManager = enemy.GetComponent<HealthManager>(); + if (healthManager) + { + healthManager.currentHealth = healthManager.maxHealth; + } + BaseEnemyManager enemyManager = enemy.GetComponent<BaseEnemyManager>(); + if (enemyManager) + { + enemyStock[(int)enemyManager.enemyType].Add(enemy); + } + } +} diff --git a/Assets/Scripts/Game/EnemyFactory.cs.meta b/Assets/Scripts/Game/EnemyFactory.cs.meta new file mode 100644 index 0000000..0e13c52 --- /dev/null +++ b/Assets/Scripts/Game/EnemyFactory.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 14909d483ee1e8d429bfb870b7febd68 +timeCreated: 1506695515 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Game/ImmunityManager.cs b/Assets/Scripts/Game/ImmunityManager.cs new file mode 100644 index 0000000..0ccf9ce --- /dev/null +++ b/Assets/Scripts/Game/ImmunityManager.cs @@ -0,0 +1,59 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ImmunityManager : MonoBehaviour +{ + static public ImmunityManager Instance { get; private set; } + + public bool isImmune { get; private set; } + + [SerializeField] + SpriteRenderer spriteRenderer; + + [SerializeField] + float immunityTime = 0.5f; + + Color standardColor; + + [SerializeField] + Color immunityColor; + + float immunityStart = float.NegativeInfinity; + + // Use this for initialization + void Start () + { + Instance = this; + if(spriteRenderer) + { + standardColor = spriteRenderer.color; + } + } + + public void BecomeImmune() + { + if(!isImmune) + { + isImmune = true; + immunityStart = Time.time; + if(spriteRenderer) + { + spriteRenderer.color = immunityColor; + } + } + } + + // Update is called once per frame + void Update () + { + if(isImmune && Time.time - immunityStart > immunityTime) + { + isImmune = false; + if(spriteRenderer) + { + spriteRenderer.color = standardColor; + } + } + } +} diff --git a/Assets/Scripts/Game/ImmunityManager.cs.meta b/Assets/Scripts/Game/ImmunityManager.cs.meta new file mode 100644 index 0000000..61539a5 --- /dev/null +++ b/Assets/Scripts/Game/ImmunityManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e44532f6e72b5cf44bb0679c315aecdc +timeCreated: 1506849147 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Game/ScoreManager.cs b/Assets/Scripts/Game/ScoreManager.cs new file mode 100644 index 0000000..e119401 --- /dev/null +++ b/Assets/Scripts/Game/ScoreManager.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ScoreManager : MonoBehaviour +{ + static public ScoreManager Instance { get; private set; } + + int score = 0; + + public int GetScore() + { + return score; + } + + void Start () + { + Instance = this; + score = 0; + } + + public void IncreaseScore(int i) + { + score += i; + } + + public override string ToString() + { + return score.ToString(); + } +} diff --git a/Assets/Scripts/Game/ScoreManager.cs.meta b/Assets/Scripts/Game/ScoreManager.cs.meta new file mode 100644 index 0000000..ea0a955 --- /dev/null +++ b/Assets/Scripts/Game/ScoreManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b91979c541b86ac4eb4449822adb4066 +timeCreated: 1506699747 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Game/ScoreMemory.cs b/Assets/Scripts/Game/ScoreMemory.cs new file mode 100644 index 0000000..4c60768 --- /dev/null +++ b/Assets/Scripts/Game/ScoreMemory.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ScoreMemory : MonoBehaviour +{ + public static ScoreMemory Instance { get; private set; } + + public int savedScore = 0; + + // Use this for initialization + void Start () + { + if(Instance) + { + Destroy(this.gameObject); + return; + } + Instance = this; + DontDestroyOnLoad(this.gameObject); + } +} diff --git a/Assets/Scripts/Game/ScoreMemory.cs.meta b/Assets/Scripts/Game/ScoreMemory.cs.meta new file mode 100644 index 0000000..3e0faf7 --- /dev/null +++ b/Assets/Scripts/Game/ScoreMemory.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5f705cd2e636cd74fa6ec347d53f9c03 +timeCreated: 1506853422 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Game/ScorePrinter.cs b/Assets/Scripts/Game/ScorePrinter.cs new file mode 100644 index 0000000..aec9330 --- /dev/null +++ b/Assets/Scripts/Game/ScorePrinter.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ScorePrinter : MonoBehaviour +{ + [SerializeField] + UnityEngine.UI.Text scoreText; + + // Update is called once per frame + void Update () + { + scoreText.text = "Score : " + ScoreManager.Instance; + } +} diff --git a/Assets/Scripts/Game/ScorePrinter.cs.meta b/Assets/Scripts/Game/ScorePrinter.cs.meta new file mode 100644 index 0000000..5d6b968 --- /dev/null +++ b/Assets/Scripts/Game/ScorePrinter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6de4dc28e17febb48a153a50eb97b18a +timeCreated: 1506848776 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Menus/GameOverScorePrinter.cs b/Assets/Scripts/Menus/GameOverScorePrinter.cs new file mode 100644 index 0000000..c354f74 --- /dev/null +++ b/Assets/Scripts/Menus/GameOverScorePrinter.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class GameOverScorePrinter : MonoBehaviour +{ + [SerializeField] + UnityEngine.UI.Text scoreText; + + // Use this for initialization + void Start () + { + if(ScoreMemory.Instance) + { + scoreText.text = "Score : " + ScoreMemory.Instance.savedScore; + } + } +} diff --git a/Assets/Scripts/Menus/GameOverScorePrinter.cs.meta b/Assets/Scripts/Menus/GameOverScorePrinter.cs.meta new file mode 100644 index 0000000..6f7f2b7 --- /dev/null +++ b/Assets/Scripts/Menus/GameOverScorePrinter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cab4c7344649eee47925c411aa5a56b9 +timeCreated: 1506854568 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- GitLab