I’m still a begginer and I wanted to move player to certain door depend on which scene he came from so I created this code below.
{
public string[] doorlist;
public GameObject[] spawnposition;
public static string PreviousLevel { get; private set; }
public GameObject player;
void Awake()
{
player = GameObject.FindWithTag("Player2");
}
private void OnDestroy()
{
PreviousLevel = gameObject.scene.name;
}
private void Start()
{
Debug.Log(PreviousLevel);
if (PreviousLevel == doorlist[0])
{
player.transform.position = spawnposition[0].transform.position;
}
if (PreviousLevel == doorlist[1])
{
player).transform.position = spawnposition[1].transform.position;
}
if (PreviousLevel == doorlist[2])
{
player.transform.position = spawnposition[2].transform.position;
}
if (PreviousLevel == doorlist[3])
{
player.transform.position = spawnposition[3].transform.position;
}
if (PreviousLevel == doorlist[4])
{
player.transform.position = spawnposition[4].transform.position;
}
if (PreviousLevel == doorlist[5])
{
player.transform.position = spawnposition[5].transform.position;
}
if (PreviousLevel == doorlist[6])
{
player.transform.position = spawnposition[6].transform.position;
}
if (PreviousLevel == doorlist[7])
{
player.transform.position = spawnposition[7].transform.position;
}
if (PreviousLevel == doorlist[8])
{
player.transform.position = spawnposition[8].transform.position;
}
if (PreviousLevel == doorlist[9])
{
player.transform.position = spawnposition[9].transform.position;
}
if (PreviousLevel == doorlist[10])
{
player.transform.position = spawnposition[10].transform.position;
}
if (PreviousLevel == doorlist[11])
{
player.transform.position = spawnposition[11].transform.position;
}
if (PreviousLevel == doorlist[12])
{
player.transform.position = spawnposition[12].transform.position;
}
if (PreviousLevel == doorlist[13])
{
player.transform.position = spawnposition[13].transform.position;
}
}
And I made the size of public string ‘14’ since there are 14 doors. It works fine but I keep thinking that I’m doing something wrong here cause my code looks messy obviously and it keeps getting longer as the game developed.
So I thought instead of using if (PreviousLevel == doorlist[0]) , maybe I should check if string doorlist has ‘PreviousLevel’ in it, and if it has than I should find what number it is and move player to spawnposition that has the same number.
Again I’m really new to this thing sorry my code is a mess, and is there any way to find a certain string in string? And if there isn’t, any suggestion that i could try out?