Skip to content
Snippets Groups Projects
Commit e8c1d0cf authored by Robin Ruud Kristensen's avatar Robin Ruud Kristensen
Browse files

refacterd into more functions

parent 5fb051bf
Branches
No related tags found
1 merge request!85Merge
......@@ -8,44 +8,30 @@ namespace Bigsock
{
public class FollowPlayer : MonoBehaviour
{
[SerializeField]
private NeighbourMapGenerator neighborMapGenerator;
[SerializeField]
private CinemachineConfiner2D cameraMap;
[SerializeField] GameObject VictoryScreen;
[SerializeField] NeighbourMapGenerator neighborMapGenerator;
[SerializeField] CinemachineConfiner2D cameraMap;
[SerializeField] GameObject victoryScreen;
//Unity varibles
private GameObject[] boss;
private GameObject player;
private GameObject[] enemies;
private GameObject[] Chest;
private List<GameObject> chests;
private GameObject stair;
//Normal variables
private int levels = 0;
Vector3 offset = new Vector3(0, 0, -10);
int i = 0;
GameObject[] boss;
GameObject player;
GameObject[] enemies;
GameObject[] Chest;
List<GameObject> chests;
GameObject stair;
int finalLevel = 2;
private static int LEVEL_CAP = 2;
private int roomNr = 0;
bool stairs_down;
int h = 0;
private bool stairs_down;
private int victoryHold = 0;
void Start()
{
chests = new List<GameObject>();
neighborMapGenerator.RunProceduralGeneration();
player = GameObject.Find("BigSock");
stair = GameObject.Find("Stairs(Clone)");
Chest = GameObject.FindGameObjectsWithTag("Chest");
foreach(GameObject c in Chest)
{
chests.Add(c);
c.SetActive(false);
}
stairs_down = stair.GetComponent<Stairs>().stairs_touch;
stair.SetActive(false);
InitializeLevel();
}
void LateUpdate()
......@@ -53,63 +39,30 @@ namespace Bigsock
boss = GameObject.FindGameObjectsWithTag("Boss");
enemies = GameObject.FindGameObjectsWithTag((roomNr).ToString());
if (boss.Length == 0 && levels < 2)
if (boss.Length == 0 && levels < LEVEL_CAP)
{
if (!stair.activeInHierarchy)
{
Debug.Log("hei");
levels++;
}
stair.SetActive(true);
stairs_down = stair.GetComponent<Stairs>().stairs_touch;
}
if (levels == finalLevel && h == 0)
{
Time.timeScale = 0;
GameObject canvas = GameObject.Find("Canvas");
if(canvas != null)
if (levels == LEVEL_CAP && victoryHold == 0)
{
Instantiate(VictoryScreen, canvas.transform);
h++;
VictoryScreen();
victoryHold++;
}
}
if (stairs_down)
{
roomNr = 0;
foreach (GameObject c in chests)
{
DestroyImmediate(c);
}
DestroyImmediate(stair);
chests.Clear();
TilemapGenerator.resetMaps();
TilemapGenerator.SetRoomIDZero();
ClearScene();
player.transform.position = new Vector3(9,5,0);
neighborMapGenerator.RunProceduralGeneration();
Chest = GameObject.FindGameObjectsWithTag("Chest");
stair = GameObject.Find("Stairs(Clone)");
stairs_down = stair.GetComponent<Stairs>().stairs_touch;
foreach (GameObject c in Chest)
{
if(c != null)
{
c.SetActive(false);
chests.Add(c);
}
}
stair.SetActive(false);
InitializeLevel();
}
int i = 0;
if(i == 0) {
cameraMap.InvalidateCache();
}
if (enemies.Length == 0)
{
......@@ -126,16 +79,57 @@ namespace Bigsock
}
private void OnDestroy()
{
ClearScene();
}
/*
*Deletes all game objects from the scene that is not the player
*and also resets all arrays that have been made*/
private void ClearScene()
{
roomNr = 0;
foreach (GameObject c in chests)
{
DestroyImmediate(c);
}
chests.Clear();
DestroyImmediate(stair);
NeighbourMapGenerator.ClearRoomList();
TilemapGenerator.SetRoomIDZero();
TilemapGenerator.resetMaps();
}
/*
*Initializes the victory screen*/
private void VictoryScreen()
{
Time.timeScale = 0;
GameObject canvas = GameObject.Find("Canvas");
if (canvas != null)
{
Instantiate(victoryScreen, canvas.transform);
}
}
/*
*Creates a level and adds objects to the different arrays */
private void InitializeLevel()
{
neighborMapGenerator.RunProceduralGeneration();
Chest = GameObject.FindGameObjectsWithTag("Chest");
stair = GameObject.Find("Stairs(Clone)");
stairs_down = stair.GetComponent<Stairs>().stairs_touch;
foreach (GameObject c in Chest)
{
if (c != null)
{
c.SetActive(false);
chests.Add(c);
}
}
stairs_down = stair.GetComponent<Stairs>().stairs_touch;
stair.SetActive(false);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment