示例#1
0
    public void FinishCurrentStep()
    {
        List <BootloaderModel.Step> steps = (List <BootloaderModel.Step>)model.property["steps"];
        int index = (int)model.property["index"];

        if (index >= steps.Count)
        {
            return;
        }

        BootloaderModel.Step now = steps[index];
        now.finish = now.length;

        float totalLength = 0;
        float totalFinish = 0;

        foreach (BootloaderModel.Step step in steps)
        {
            totalLength += step.length;
            totalFinish += step.finish;
        }
        view.RefreshProgress(totalFinish / totalLength);

        index += 1;
        model.property["index"] = index;

        Execute();
    }
示例#2
0
    private void executeBootloader()
    {
        List <BootloaderModel.Step> steps = new List <BootloaderModel.Step>();

        // fetch uuid
        {
            BootloaderModel.Step step = new BootloaderModel.Step();
            step.name      = Constant.BootloaderStep.Fetch;
            step.length    = 1;
            step.tip       = "bootloader_step_fetch";
            step.onExecute = () =>
            {
                runtimetMT.FecthUUID();
            };
            steps.Add(step);
        }

        // load rom
        {
            BootloaderModel.Step step = new BootloaderModel.Step();
            step.name      = Constant.BootloaderStep.Load;
            step.length    = 10;
            step.tip       = "bootloader_step_load";
            step.onExecute = () =>
            {
                this.StartCoroutine(load());
            };
            steps.Add(step);
        }

        // run rom
        {
            BootloaderModel.Step step = new BootloaderModel.Step();
            step.name      = Constant.BootloaderStep.Run;
            step.length    = 1;
            step.tip       = "bootloader_step_run";
            step.onExecute = () =>
            {
                if (XRProxy.VRMode.OFF == proxyXR.modeVR)
                {
                    Camera.main.clearFlags = CameraClearFlags.Skybox;
                }
                else
                {
                    proxyXR.ResetCameraClearFlags();
                }
                controllerBootloader.FinishCurrentStep();
            };
            steps.Add(step);
        }

        modelBootloader.SaveSteps(steps);
        controllerBootloader.Execute();
    }
示例#3
0
    public void Execute()
    {
        List <BootloaderModel.Step> steps = (List <BootloaderModel.Step>)model.property["steps"];
        int index = (int)model.property["index"];

        if (index >= steps.Count)
        {
            view.SetActive(false);
            return;
        }

        BootloaderModel.Step step = steps[index];
        view.RefreshTip(step.tip);
        if (null != step.onExecute)
        {
            step.onExecute();
        }
    }
    private void executeBootloader()
    {
        List <BootloaderModel.Step> steps = new List <BootloaderModel.Step>();

        // add a step
        {
            BootloaderModel.Step step = new BootloaderModel.Step();
            step.name      = "loading";
            step.length    = 1;
            step.tip       = "loading ...";
            step.onExecute = () =>
            {
                RootMono.instance.StartCoroutine(sleep());
            };
            steps.Add(step);
        }

        modelBootloader.SaveSteps(steps);
        controllerBootloader.Execute();
    }
    private void executeBootloader()
    {
        List <BootloaderModel.Step> steps = new List <BootloaderModel.Step>();

        // fetch profile
        {
            BootloaderModel.Step step = new BootloaderModel.Step();
            step.name      = Constant.BootloaderStep.FetchProfile;
            step.length    = 1;
            step.tip       = "bootloader_step_fetch_profile";
            step.onExecute = () =>
            {
                serviceAccount.FetchProfile(DataCache.activeAccountID, () => {
                    controllerBootloader.FinishCurrentStep();
                });
            };
            steps.Add(step);

            modelBootloader.SaveSteps(steps);
        }

        // refresh profile
        {
            BootloaderModel.Step step = new BootloaderModel.Step();
            step.name      = Constant.BootloaderStep.RefreshProfile;
            step.length    = 1;
            step.tip       = "bootloader_step_refresh_profile";
            step.onExecute = () =>
            {
                modelAccount.RefreshProfile();
                controllerBootloader.FinishCurrentStep();
            };
            steps.Add(step);

            modelBootloader.SaveSteps(steps);
        }

        controllerBootloader.Execute();
    }