コード例 #1
0
    /**************************************************
    * Update
    **************************************************/
    void Update()
    {
        // 戻るボタンでアプリ終了
        if (Input.GetKey(KeyCode.Escape))
        {
            Application.Quit();
        }

        if (!finish_read_config && SettingsCanvas.IsFinishStart())
        {
            config_data        = SettingsCanvas.GetConfig();
            screen_not_sleep   = config_data.screen_not_sleep;
            finish_read_config = true;
        }

        if (!finish_start_all &&
            MainCanvas.IsFinishStart() &&
            SettingsCanvas.IsFinishStart() &&
            MyConsoleCanvas.IsFinishStart())
        {
            foreach (KeyValuePair <CanvasName, GameObject> canvas in CanvasDictionary)
            {
                if (canvas.Key != CanvasName.MainCanvas)
                {
                    canvas.Value.SetActive(false);
                }
            }
            active_canvas = CanvasName.MainCanvas;

            finish_start_all = true;
        }
    }
コード例 #2
0
    /**************************************************
    * Start()
    **************************************************/
    void Start()
    {
        //Main Systemを取得
        Main = GameObject.Find("Main System").GetComponent <MainScript>();

        //Canvas遷移ボタンを取得・設定
        BackToMainButton = GameObject.Find("Main System/Settings Canvas/Vertical/Back to Main Button").GetComponent <Button>();
        RestartAppButton = GameObject.Find("Main System/Settings Canvas/Vertical/Restart App Button").GetComponent <Button>();
        BackToMainButton.onClick.AddListener(Main.ChangeToMain);
        RestartAppButton.onClick.AddListener(RestartApp);

        //UIを取得・設定
        RosIpInput           = GameObject.Find("Main System/Settings Canvas/Vertical/Vertical/ROS IP/Input").GetComponent <InputField>();
        ScreenNotSleepToggle = GameObject.Find("Main System/Settings Canvas/Vertical/Vertical/Screen Not Sleep/Toggle").GetComponent <Toggle>();

        RosIpInput.onValueChanged.AddListener(ActivateRestartButton);
        ScreenNotSleepToggle.onValueChanged.AddListener(ActivateRestartButton);

        //コンフィグファイル読み込み
        config_filepath = Application.persistentDataPath + "/Previewed Reality Service Caller Config.JSON";
        if (!File.Exists(config_filepath))
        {
            using (File.Create(config_filepath)) { }
            string config_json = JsonUtility.ToJson(config_data);
            using (FileStream file = new FileStream(config_filepath, FileMode.Create, FileAccess.Write)) {
                using (StreamWriter writer = new StreamWriter(file)) {
                    writer.Write(config_json);
                }
            }
        }
        using (FileStream file = new FileStream(config_filepath, FileMode.Open, FileAccess.Read)) {
            using (StreamReader reader = new StreamReader(file)) {
                string config_read = reader.ReadToEnd();
                Debug.Log(config_read);

                config_data = JsonUtility.FromJson <ServiceCallerConfig>(config_read);

                RosIpInput.text           = config_data.ros_ip;
                ScreenNotSleepToggle.isOn = config_data.screen_not_sleep;
            }
        }

        BackToMainButton.gameObject.SetActive(true);
        RestartAppButton.gameObject.SetActive(false);

        finish_start = true;
    }