book_page.cs (1030B)
1 using Godot; 2 3 public partial class book_page : Node { 4 5 struct page { 6 public string source_left; 7 public string source_right; 8 } 9 10 [Export] public 11 Button button_next_page; 12 [Export] public 13 Button button_prev_page; 14 15 [Export] public 16 Label left_page_label; 17 [Export] public 18 Label right_page_label; 19 20 page[] pages = new page[] { 21 new page { 22 source_left = 23 "\n", 24 source_right = 25 "\n" 26 }, 27 }; 28 29 int current_page; 30 31 public override void _Ready() { 32 if (button_next_page != null) button_next_page.Pressed += next_page; 33 if (button_prev_page != null) button_prev_page.Pressed += prev_page; 34 35 update_page(); 36 } 37 38 void next_page() { 39 if (current_page > pages.Length - 1) return; 40 current_page++; 41 update_page(); 42 } 43 44 void prev_page() { 45 if (current_page < 0) return; 46 current_page--; 47 update_page(); 48 } 49 50 void update_page() { 51 if (left_page_label != null) 52 left_page_label.Text = pages[current_page].source_left; 53 54 if (right_page_label != null) 55 right_page_label.Text = pages[current_page].source_right; 56 } 57 58 }