133 lines
2.8 KiB
C#
133 lines
2.8 KiB
C#
using JetBrains.Annotations;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class LevelBehavior : MonoBehaviour
|
|
{
|
|
[SerializeField] GameObject eFie;
|
|
[SerializeField] GameObject eSilv;
|
|
[SerializeField] GameObject eHai;
|
|
|
|
[SerializeField] GameObject deathPanel;
|
|
[SerializeField] GameObject inventoryScript;
|
|
|
|
FieScript fie;
|
|
SilvScript silv;
|
|
HaiScript hai;
|
|
GameOver end;
|
|
InventoryScript inventory;
|
|
|
|
int curScene = 0;
|
|
float timer = 0f;
|
|
|
|
public bool gameOngoing;
|
|
|
|
public int earnGems = 5;
|
|
public int earnedGems = 0;
|
|
public bool gameWon;
|
|
private void Awake()
|
|
{
|
|
fie = eFie.GetComponent<FieScript>();
|
|
silv = eSilv.GetComponent<SilvScript>();
|
|
hai = eHai.GetComponent<HaiScript>();
|
|
|
|
end = inventoryScript.GetComponent<GameOver>();
|
|
inventory = inventoryScript.GetComponent<InventoryScript>();
|
|
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
gameWon = false;
|
|
gameOngoing = true;
|
|
|
|
// Create a temporary reference to the current scene.
|
|
Scene currentScene = SceneManager.GetActiveScene();
|
|
|
|
// Retrieve the name of this scene.
|
|
string sceneName = currentScene.name;
|
|
|
|
|
|
// Retrieve the index of the scene in the project's build settings.
|
|
int buildIndex = currentScene.buildIndex;
|
|
|
|
if (sceneName == "Day1")
|
|
{
|
|
Debug.Log("Es ist Tag 1");
|
|
curScene = 2;
|
|
fie.stateTime = 7;
|
|
silv.stateTime = 25;
|
|
hai.stateTime = 35;
|
|
}
|
|
|
|
if (sceneName == "Day2")
|
|
{
|
|
Debug.Log("Es ist Tag 2");
|
|
curScene = 5;
|
|
fie.stateTime = 5;
|
|
silv.stateTime = 10;
|
|
hai.stateTime = 25;
|
|
// Do something...
|
|
}
|
|
else if (sceneName == "Day3")
|
|
{
|
|
|
|
Debug.Log("Es ist Tag 3");
|
|
curScene = 4;
|
|
fie.stateTime = 3;
|
|
silv.stateTime = 10;
|
|
hai.stateTime = 15;
|
|
// Do something...
|
|
}
|
|
}
|
|
|
|
|
|
void Update()
|
|
{
|
|
if (gameOngoing == true)
|
|
{
|
|
TimeIs();
|
|
}
|
|
|
|
}
|
|
|
|
public void TimeIs()
|
|
{
|
|
timer += Time.deltaTime;
|
|
//Debug.Log(timer);
|
|
|
|
|
|
if (timer >= 90)
|
|
{
|
|
end.ShowWinScreen();
|
|
gameWon = true;
|
|
inventory.Gems += earnedGems;
|
|
|
|
timer = 0;
|
|
|
|
gameOngoing = false;
|
|
}
|
|
}
|
|
|
|
public void SwitchScene()
|
|
{
|
|
Debug.Log("Ich will jetzt in Scene " + curScene++ + " wechseln.");
|
|
|
|
gameOngoing = false;
|
|
gameWon = false;
|
|
|
|
if (curScene < 5)
|
|
{
|
|
Debug.Log("Ist noch nicht Tag 3");
|
|
|
|
SceneManager.LoadSceneAsync(curScene++);
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("Es war Tag 3");
|
|
SceneManager.LoadScene(1);
|
|
}
|
|
}
|
|
}
|