public void FadeIn(int starting_stage = 0) { if (state != StageSelectionState.FADING_OUT) { gameObject.SetActive(true); Canvas.ForceUpdateCanvases(); SetStageGameObjects(starting_stage); state = StageSelectionState.FADING_IN; Canvas.ForceUpdateCanvases(); Vector3 starting_pos = new Vector3(canvas_group.gameObject.transform.position.x + (background_image.rectTransform.rect.width * 0.6f), canvas_group.gameObject.gameObject.transform.position.y, canvas_group.gameObject.transform.position.z); background_image.gameObject.transform.position = starting_pos; background_image.transform.DOMoveX(canvas_group.gameObject.transform.position.x, fade_in_time); change_state_image.color = new Color(change_state_image.color.r, change_state_image.color.g, change_state_image.color.b, 0); change_state_image.gameObject.SetActive(false); fade_in_timer.Start(); } }
public void FadeOut() { if (state == StageSelectionState.WAITING_TO_FADE_OUT) { Vector3 finish_pos = new Vector3(canvas_group.gameObject.transform.position.x - (background_image.rectTransform.rect.width * 0.6f), canvas_group.gameObject.gameObject.transform.position.y, canvas_group.gameObject.transform.position.z); background_image.transform.DOMoveX(finish_pos.x, fade_out_time); fade_out_timer.Start(); state = StageSelectionState.FADING_OUT; } }
public void PreviousStage() { LevelsManager.LevelsStage stage = LevelsManager.Instance.GetLevelStage(curr_stage - 1); if (stage != null) { state = StageSelectionState.CHANGE_STAGE_FADE_IN; change_stage_timer.Start(); stage_to_change = curr_stage - 1; change_state_image.gameObject.SetActive(true); change_state_image.DOFade(1, change_stage_time * 0.5f); } }
private void UpdateState() { switch (state) { case StageSelectionState.FADING_IN: if (fade_in_timer.ReadTime() > fade_in_time) { state = StageSelectionState.WAITING_TO_FADE_OUT; } break; case StageSelectionState.WAITING_TO_FADE_OUT: break; case StageSelectionState.FADING_OUT: if (fade_out_timer.ReadTime() > fade_out_time) { gameObject.SetActive(false); state = StageSelectionState.FINISHED; } break; case StageSelectionState.CHANGE_STAGE_FADE_IN: if (change_stage_timer.ReadTime() > change_stage_time * 0.5f) { SetStageGameObjects(stage_to_change); change_state_image.DOFade(0, change_stage_time * 0.5f); state = StageSelectionState.CHANGE_STAGE_FADE_OUT; } break; case StageSelectionState.CHANGE_STAGE_FADE_OUT: if (change_stage_timer.ReadTime() > change_stage_time) { change_state_image.gameObject.SetActive(false); state = StageSelectionState.WAITING_TO_FADE_OUT; } break; case StageSelectionState.FINISHED: break; } }