-
Notifications
You must be signed in to change notification settings - Fork 48
Expand file tree
/
Copy pathloading_view.py
More file actions
62 lines (54 loc) · 1.78 KB
/
loading_view.py
File metadata and controls
62 lines (54 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"""
Loading screen
"""
import arcade
from rpg.draw_bar import draw_bar
from rpg.load_game_map import load_maps
from rpg.views.game_view import GameView
from rpg.views.inventory_view import InventoryView
from rpg.views.pause_view import PauseView
class LoadingView(arcade.View):
def __init__(self):
super().__init__()
self.started = False
self.progress = 0
self.map_list = None
arcade.set_background_color(arcade.color.ALMOND)
def on_draw(self):
arcade.start_render()
arcade.draw_text(
"Loading...",
self.window.width / 2,
self.window.height / 2,
arcade.color.ALLOY_ORANGE,
44,
anchor_x="center",
anchor_y="center",
align="center",
width=self.window.width,
)
self.started = True
draw_bar(
current_amount=self.progress,
max_amount=100,
center_x=self.window.width / 2,
center_y=20,
width=self.window.width,
height=10,
color_a=arcade.color.BLACK,
color_b=arcade.color.WHITE,
)
def setup(self):
pass
def on_update(self, delta_time: float):
# Dictionary to hold all our maps
if self.started:
done, self.progress, self.map_list = load_maps()
if done:
self.window.views["pause"] = PauseView()
self.window.views["pause"].setup()
self.window.views["game"] = GameView(self.map_list)
self.window.views["game"].setup()
self.window.views["inventory"] = InventoryView()
self.window.views["inventory"].setup()
self.window.show_view(self.window.views["game"])