Reworked the obstacle course script so that floor squares can not appear as well as adding a level counter that determines when you will move to a bigger obstacle course. Also fixed a big floor building issue that wasn't noticable until adding these features

This commit is contained in:
Gregory Campbell
2020-01-12 22:48:35 -05:00
parent b88a3b978b
commit 3f856967a7
+31 -13
View File
@@ -9,11 +9,13 @@ public class FloorLevel : MonoBehaviour
{
public int escalation = 1;
public int level = 1;
public GameObject player;
public PlayerController script;
public GameObject[] obstacleList;
private int selection = 0;
private int height = 2;
void Awake()
{
@@ -40,7 +42,8 @@ public class FloorLevel : MonoBehaviour
if(script.finished == true)
{
escalation++;
level++;
if(level > 3) escalation++;
respawn();
levelBuild();
@@ -66,7 +69,7 @@ public class FloorLevel : MonoBehaviour
void respawn()
{
script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100);
script.transform.position = new Vector3((100*escalation)+50, 2, (100*escalation)+50);
script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self);
}
@@ -81,28 +84,43 @@ public class FloorLevel : MonoBehaviour
Destroy(GameObject.FindWithTag("Finish"));
for(int i = 1; i <= escalation; i++){
for(int j = 1; j <= escalation; j++){
selection = Random.Range(2, obstacleList.Length);
Instantiate(obstacleList[selection], new Vector3(50*i, 2, 50*j), Quaternion.identity);
for(int i = 0; i < escalation; i++){
for(int j = 0; j < escalation; j++){
if(Random.Range(0, 20) != 0 || (i == (escalation-1) && j == (escalation-1) && i == j))
{
height = Random.Range(0, 7);
selection = Random.Range(2, obstacleList.Length);
Instantiate(obstacleList[selection], new Vector3(-50*i, 2, -50*j), Quaternion.identity);
Instantiate(obstacleList[selection], new Vector3(100*i+50, height, 100*j+50), Quaternion.identity);
}
if(Random.Range(0, 20) != 0 || (i == (escalation-1) && j == (escalation-1) && i == j))
{
height = Random.Range(0, 7);
selection = Random.Range(2, obstacleList.Length);
Instantiate(obstacleList[selection], new Vector3(-50*i, 2, 50*j), Quaternion.identity);
Instantiate(obstacleList[selection], new Vector3(-100*i-50, height, -100*j-50), Quaternion.identity);
}
if(Random.Range(0, 10) != 0)
{
height = Random.Range(0, 7);
selection = Random.Range(2, obstacleList.Length);
Instantiate(obstacleList[selection], new Vector3(50*i, 2, -50*j), Quaternion.identity);
Instantiate(obstacleList[selection], new Vector3(-100*i-50, height, 100*j+50), Quaternion.identity);
}
script.transform.position = new Vector3((50*escalation)+100, 2, (50*escalation)+100);
script.transform.Rotate(0.0f, 0.0f, 0.0f, Space.Self);
if(Random.Range(0, 10) != 0)
{
height = Random.Range(0, 7);
selection = Random.Range(2, obstacleList.Length);
Instantiate(obstacleList[selection], new Vector3(100*i+50, height, -100*j-50), Quaternion.identity);
}
}
Instantiate(obstacleList[0], new Vector3((50*escalation)+100, 0, (50*escalation)+100), Quaternion.identity);
Instantiate(obstacleList[1], new Vector3(-((50*escalation)+100), 0, -((50*escalation)+100)), Quaternion.identity);
}
Instantiate(obstacleList[0], new Vector3((100*escalation)+50, 0, (100*escalation)+50), Quaternion.identity);
Instantiate(obstacleList[1], new Vector3(-((100*escalation)+50), 0, -((100*escalation)+50)), Quaternion.identity);
script.finished = false;
}