示例#1
0
    public void UIBegin(int level_number)
    {
        gameObject.SetActive(true);
        all_back_image.gameObject.SetActive(true);

        Level level = LevelsManager.Instance.GetCurrentStageLevel(level_number);

        if (level != null)
        {
            number_text.text = level_number.ToString();
            title_text.text  = level.GetLevelName();
            stage_text.text  = LocManager.Instance.GetText("Stage") + ": " + level.GetLevelStage();
        }

        level_to_load = level_number;

        Canvas.ForceUpdateCanvases();

        Vector3 starting_pos = new Vector3(canvas_group.gameObject.transform.position.x + background_image.rectTransform.rect.size.x * 2,
                                           canvas_group.gameObject.gameObject.transform.position.y, canvas_group.gameObject.transform.position.z);

        all_back_image.transform.position = canvas_group.gameObject.transform.position;
        background_image.gameObject.transform.position = starting_pos;

        canvas_group.alpha = starting_alpha_val;

        all_back_image.color = new Color(all_back_image.color.r, all_back_image.color.g, all_back_image.color.b, 0.0f);
        all_back_image.DOFade(1.0f, all_back_fade_in_time);
        all_back_fade_in_timer.Start();

        state = LevelStartState.ALL_BACK_FADE_IN;
    }
示例#2
0
    void Update()
    {
        switch (state)
        {
        case LevelStartState.ALL_BACK_FADE_IN:
        {
            if (all_back_fade_in_timer.ReadTime() > all_back_fade_in_time)
            {
                background_image.transform.DOMoveX(canvas_group.gameObject.transform.position.x, fade_in_time);
                fade_in_timer.Start();

                state = LevelStartState.FADING_IN;
            }

            break;
        }

        case LevelStartState.FADING_IN:
        {
            if (fade_in_timer.ReadTime() > fade_in_time)
            {
                wait_timer.Start();

                state = LevelStartState.WAITING_TO_FADE_OUT;
            }

            break;
        }

        case LevelStartState.WAITING_TO_FADE_OUT:
        {
            if (wait_timer.ReadTime() > wait_time)
            {
                FadeOut();
            }

            break;
        }

        case LevelStartState.FADING_OUT:
        {
            if (fade_out_timer.ReadTime() > fade_out_time)
            {
                EventManager.Event ev = new EventManager.Event(EventManager.EventType.LEVEL_BEGIN);
                ev.level_begin.level = level_to_load;
                EventManager.Instance.SendEvent(ev);

                state = LevelStartState.FINISHED;
            }
            break;
        }

        case LevelStartState.FINISHED:
        {
            gameObject.SetActive(false);
            break;
        }
        }
    }
示例#3
0
    public void FadeOut()
    {
        EventManager.Event ev = new EventManager.Event(EventManager.EventType.LEVEL_LOAD);
        ev.level_load.level = level_to_load;
        EventManager.Instance.SendEvent(ev);

        Vector3 finish_pos = new Vector3(canvas_group.gameObject.transform.position.x - background_image.rectTransform.rect.size.x * 2,
                                         canvas_group.gameObject.gameObject.transform.position.y, canvas_group.gameObject.transform.position.z);

        background_image.transform.DOMoveX(finish_pos.x, fade_out_time);
        all_back_image.transform.DOMoveX(finish_pos.x, fade_out_time);

        state = LevelStartState.FADING_OUT;

        fade_out_timer.Start();
    }