protected override void skip_text(TextSkips skip) { if (skip == TextSkips.SkipEvent) { Event_Skip = true; begin_terminate_message(); } }
protected void update_message_skip_buttons() { _EventSkip = false; bool no_convo = Message_Window == null || !Message_Window.active; bool skip_button_active = this.skip_convo_button_active; // Create buttons if needed if (SkipButton == null) { if (skip_button_active) { create_convo_skip_buttons(); SkipButtonOffset = new Vector2(0, 16); SkipButtonsOnScreen = false; } } if (SkipButton != null) { // Bring buttons onscreen if needed if (!SkipButtonsOnScreen) { SkipButtonOffset.Y = MathHelper.Min(16, SkipButtonOffset.Y + 2); if (skip_button_active && Global.Input.gesture_triggered(TouchGestures.SwipeUp)) { SkipButtonsOnScreen = true; TimeSinceSkipInteraction = 0; } } // Move buttons offscreen if needed else if (SkipButtonsOnScreen) { if (TimeSinceSkipInteraction < SKIP_INTERACTION_TIMEOUT) { TimeSinceSkipInteraction++; } SkipButtonOffset.Y = MathHelper.Max(0, SkipButtonOffset.Y - 2); if (!skip_button_active || TimeSinceSkipInteraction >= SKIP_INTERACTION_TIMEOUT || (skip_button_active && Global.Input.gesture_triggered(TouchGestures.SwipeDown))) { SkipButtonsOnScreen = false; } } skip_button_active &= SkipButtonsOnScreen && SkipButtonOffset.Y == 0; TextSkips skip = TextSkips.None; if (Input.ControlSchemeSwitched || (has_convo_scene_button && SceneButton == null)) { create_convo_skip_buttons(); } if (SceneButton != null && !has_convo_scene_button) { SceneButton = null; } // Update scene button and consume inputs if (SceneButton != null) { SceneButton.Update(skip_button_active && !no_convo, -SkipButtonOffset); if (no_convo) { SceneButton.tint = new Color(128, 128, 128, 255); } if (SceneButton.consume_trigger(MouseButtons.Left) || SceneButton.consume_trigger(TouchGestures.Tap)) { skip = TextSkips.NextScene; TimeSinceSkipInteraction = SKIP_INTERACTION_TIMEOUT - 60; } } // Update skip button and consume inputs SkipButton.Update(skip_button_active, -SkipButtonOffset); if (SkipButton.consume_trigger(MouseButtons.Left) || SkipButton.consume_trigger(TouchGestures.Tap)) { skip = TextSkips.SkipEvent; TimeSinceSkipInteraction = 0; } if (!no_convo) { Message_Window.ConvoSkip = skip; } else if (skip == TextSkips.SkipEvent) { _EventSkip = true; } } }