diff --git a/Assets/Battle/BattleController.cs b/Assets/Battle/BattleController.cs index 4eb33cd..0362376 100644 --- a/Assets/Battle/BattleController.cs +++ b/Assets/Battle/BattleController.cs @@ -389,11 +389,11 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe foreach (BattleParticipant p in this.monsters) { p.CheckState(); } + if (System.Array.TrueForAll(this.heroes, h => !h.IsAlive())) { - Debug.Log("You lost!"); - } - if (System.Array.TrueForAll(this.monsters, m => !m.IsAlive())) { - Debug.Log("You won!"); + BattleResult.FinishBattle(new BattleResult(false)); + } else if (System.Array.TrueForAll(this.monsters, m => !m.IsAlive())) { + BattleResult.FinishBattle(new BattleResult(true)); } } diff --git a/Assets/Battle/BattleResult.cs b/Assets/Battle/BattleResult.cs new file mode 100644 index 0000000..aba8dfd --- /dev/null +++ b/Assets/Battle/BattleResult.cs @@ -0,0 +1,30 @@ +using UnityEngine; +using UnityEngine.SceneManagement; + +public class BattleResult { + private static BattleResult sResult; + + private bool won; + + public static void FinishBattle(BattleResult result) { + sResult = result; + if (result.Won) { + Debug.Log("You won!"); + } else { + Debug.Log("You lost!"); + } + SceneManager.LoadScene("StoryScene"); + } + + public static BattleResult RetrieveResult() { + BattleResult result = sResult; + sResult = null; + return result; + } + + public BattleResult(bool won) { + this.won = won; + } + + public bool Won {get => this.won;} +} diff --git a/Assets/Battle/BattleResult.cs.meta b/Assets/Battle/BattleResult.cs.meta new file mode 100644 index 0000000..a1cf68d --- /dev/null +++ b/Assets/Battle/BattleResult.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d697460b6cb4ec9499c08ad6cb99dc32 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Battle/BattleSetup.cs b/Assets/Battle/BattleSetup.cs index 31737f9..7a83147 100644 --- a/Assets/Battle/BattleSetup.cs +++ b/Assets/Battle/BattleSetup.cs @@ -1,3 +1,4 @@ +using UnityEngine; using UnityEngine.SceneManagement; public class BattleSetup {