unity3d - Issue using .Contains with application.loadedlevel/loadlevel -
unity3d - Issue using .Contains with application.loadedlevel/loadlevel -
i'm working on script returns right scene when pressing escape. in dataupgrade, level select, transferdata(x) should homecoming startmenu, in startmenu should close game , in level(x) should homecoming transferdata(x). next script has been made help functionr.
#pragma strict import system; function update () { if (input.getkey ("escape")) { var level : string = application.loadedlevel.tostring(); //var transferdata = "transferdata"; if(level == "startmenu"){ application.quit(); } else if(level == "dataupgrade"){ application.loadlevel("startmenu"); } else if(level == "level select"){ application.loadlevel("startmenu"); } else if(level.contains("transferdata")) application.loadlevel("startmenu"); else if(level.contains("level")) application.loadlevel (application.loadedlevel - 1); //trying out isn't working either /*else if( transferdata in level) application.loadlevel("startmenu"); else if("level" in level) application.loadlevel (application.loadedlevel - 1);*/ } }
i'm not sure why it's not working, scenes have right names , have been added build settings. in advance
quick fix
this how prepare it, , don't need for
loop. utilize contains()
hard work.
import system; function update () { if (input.getkey ("escape")) { var level : string = application.loadedlevel.tostring(); if(level == "startmenu") application.quit(); else if(level == "dataupgrade") application.loadlevel("startmenu"); else if(level == "level select") application.loadlevel("startmenu"); else if(level.contains("transferdata") application.loadlevel("startmenu"); } }
smart fix you can smart , take advantage of or
operator cut down related if
statements.
else if(level == "dataupgrade" || level == "level select" || level.contains("transferdata") application.loadlevel("startmenu");
sneaky fix you can sneaky since other cases, except one, takes startmenu
. can have else
guarantees homecoming startmenu
.
if(application.loadedlevel == "startmenu") application.quit(); else application.loadlevel("startmenu");
unity3d unityscript
Comments
Post a Comment