0

シーン 05 、シーン 03 、MEP_Desert 、Snow_Scene_01、デモ . プレイヤーが死んだら、それらのレベルに戻る必要があります。ビルド設定にある以前のレベルに戻ったコードは何ですか。他のレベルでこれをもう一度繰り返す必要があります。ビルド設定で他のシーンをどのように行うのですか?

これが私のコードです:

{


    //----------------------------------------------------------------------------------------------------
    // Script describes/processes "Button" element of EasyGUI system
    //----------------------------------------------------------------------------------------------------

    #pragma strict
    @script AddComponentMenu ("EGUI/UI_Elements/Button")
    import UnityEngine.SceneManagement;

    public class EGUI_Button extends EGUI_Element {}

    // List of built-in functionality types
    public enum ButtonAction 
    {
      None,                 // Do nothing
      Custom,               // Call function (name in callFunction) with parameter for actionRecipient object (this gameObject is default)
      LoadLevel,            // Load level with index/name in parameter
      RestartLevel,         // Restart current level
      ExitGame,             // Close application
      SetQuality,           // Set quality level according to parameter (Fastest, Fast, ... Fantastic)
      DecQuality,           // Decrease quality level 
      IncQuality,           // Increase quality level  
      SetResolution,        // Set screen resolution according to parameter (1024x768, 1920x1080 ... etc)
      OpenURL,              // Open URL specified in parameter

      CloseEverything,       // Close/disable whole GUI manager and all related GUI-elements. 
      Resume,                // Close parent GUI-element and set time-scale to 1
      ShowAnother,           // Show GUI-element specified in actionRecipient
      ShowPrevious,          // Show previous GUI-element
      HideThis,              // Hide parent GUI-element  
      HideThis_ShowAnother,  // Hide parent GUI-element and show window specified in actionRecipient
      HideThis_ShowPrevious, // Hide parent GUI-element and show previous window

      SoundSwitch           // Enable/Disable all sounds in the scene

    };


    var onClickAction: ButtonAction;    // Action preset to perform onClick
    var actionRecipient: GameObject;    // Optional link to action recipient object
    var callFunction: String;           // Optional name of custom function to call
    var parameter: String;              // Optional parameter to send/use in the Action


    //=====================================================================================================
    // Overload parent OnClick function to Perform built-in actions
    function OnClick () 
    {
       super.OnClick();
       PerformAction ();
    }

    //----------------------------------------------------------------------------------------------------
    // Perform built-in actions according to selected type (onClickAction)
    function PerformAction () 
    {
       switch (onClickAction)
        {

          case ButtonAction.None:
            ;
          break;


          case ButtonAction.Custom:
               if(!actionRecipient) actionRecipient = gameObject;
               if(parameter.Length > 0) actionRecipient.SendMessage (callFunction, parameter, SendMessageOptions.DontRequireReceiver);
                 else actionRecipient.SendMessage (callFunction, SendMessageOptions.DontRequireReceiver);
            break;


          case ButtonAction.LoadLevel:
              Time.timeScale = 1;
                try
                    SceneManager.LoadScene(int.Parse(parameter));
                catch(error)
                    SceneManager.LoadScene(parameter);

              if (SceneManager.GetActiveScene().buildIndex > 2) // if not the first scene load the prvious scene
                    SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 4);
                else
                    SceneManager.LoadScene(0);
            break;


          case ButtonAction.RestartLevel: 
              Time.timeScale = 1;
                SceneManager.LoadScene(SceneManager.GetActiveScene().name);
                break;


          case ButtonAction.ExitGame: 


                  Application.Quit();
            break; 


          case ButtonAction.SetQuality: 
              switch (parameter)
                {
                    case "Fastest":
                     QualitySettings.SetQualityLevel(QualityLevel.Fastest);
                    break;

                    case "Fast":
                     QualitySettings.SetQualityLevel(QualityLevel.Fast);
                    break;

                    case "Simple":
                     QualitySettings.SetQualityLevel(QualityLevel.Simple);
                    break;

                    case "Good":
                     QualitySettings.SetQualityLevel(QualityLevel.Good);
                    break;


                    case "Beautiful":
                     QualitySettings.SetQualityLevel(QualityLevel.Beautiful);
                    break;


                    case "Fantastic":
                     QualitySettings.SetQualityLevel(QualityLevel.Fantastic);
                    break;
               }
            break;  


          case ButtonAction.IncQuality: 
              QualitySettings.IncreaseLevel();
          break; 


          case ButtonAction.DecQuality: 
              QualitySettings.DecreaseLevel();
            break; 


          case ButtonAction.SetResolution: 
             Screen.SetResolution ( int.Parse(parameter.Substring(0,parameter.IndexOf("x"))),  int.Parse(parameter.Substring(parameter.IndexOf("x")+1)), Screen.fullScreen);
            break;


          case ButtonAction.OpenURL: 
                Application.OpenURL(parameter);
            break;               


          case ButtonAction.CloseEverything: 
              GetGUIManager().gameObject.SetActive(false);
            break;                                                                                                                                                                                                                                                                      


          case ButtonAction.Resume: 
              Time.timeScale = 1;
              transform.parent.gameObject.SendMessage("Disable");
            break; 


          case ButtonAction.ShowAnother:
              if(actionRecipient) actionRecipient.GetComponent(EGUI_Element).SetActivation(true, transform.parent.gameObject);
            break; 


          case ButtonAction.ShowPrevious:
             if(senderObject) senderObject.SetActive(true);
            break; 


          case ButtonAction.HideThis:
              transform.parent.gameObject.SendMessage("Disable");
            break; 


          case ButtonAction.HideThis_ShowAnother:
              if(actionRecipient) actionRecipient.GetComponent(EGUI_Element).SetActivation(true, transform.parent.gameObject);
              transform.parent.gameObject.SendMessage("Disable");
            break; 


          case ButtonAction.HideThis_ShowPrevious:
              if(senderObject) senderObject.SetActive(true);
              transform.parent.gameObject.SendMessage("Disable");
            break; 


          case ButtonAction.SoundSwitch:
              if(actionRecipient) actionRecipient.GetComponent(AudioListener).enabled = !actionRecipient.GetComponent(AudioListener).enabled;
            break; 

        }
    }

    //----------------------------------------------------------------------------------------------------

}
4

1 に答える 1