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; }
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; } } }
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(); }