Make cells modular, add crosses and t junctions and houses which have example texture and dont work yet, improve code quality, fix cell texture not being the same when pressed

This commit is contained in:
csd4ni3l
2025-11-07 18:16:57 +01:00
parent edfad0e426
commit 17d66d5da0
16 changed files with 163 additions and 134 deletions

View File

@@ -3,6 +3,30 @@ from arcade.types import Color
from arcade.gui.widgets.buttons import UITextureButtonStyle, UIFlatButtonStyle
from arcade.gui.widgets.slider import UISliderStyle
ROTATIONS = {
"line": ["vertical", "horizontal"],
"corner": ["right_bottom", "left_bottom", "left_top", "right_top"],
"t_junction": ["top_bottom_right", "left_right_bottom", "top_bottom_left", "left_right_top"],
"cross": ["cross"],
"power_source": ["cross"],
"house": ["cross"]
}
NEIGHBOURS = {
"vertical": ["b", "t"],
"horizontal": ["l", "r"],
"left_bottom": ["l", "b"],
"right_bottom": ["r", "b"],
"left_top": ["l", "t"],
"right_top": ["r", "t"],
"top_bottom_right": ["t", "b", "r"],
"top_bottom_left": ["t", "b", "l"],
"left_right_bottom": ["l", "r", "b"],
"left_right_top": ["l", "r", "t"],
"cross": ["l", "r", "t", "b"]
}
menu_background_color = (30, 30, 47)
log_dir = 'logs'
discord_presence_id = 1435687634960777266

View File

@@ -3,18 +3,42 @@ import arcade.gui, arcade
button_texture = arcade.gui.NinePatchTexture(64 // 4, 64 // 4, 64 // 4, 64 // 4, arcade.load_texture("assets/graphics/button.png"))
button_hovered_texture = arcade.gui.NinePatchTexture(64 // 4, 64 // 4, 64 // 4, 64 // 4, arcade.load_texture("assets/graphics/button_hovered.png"))
vertical_powered = arcade.load_texture("assets/graphics/powered_lines/line/vertical.png")
horizontal_powered = arcade.load_texture("assets/graphics/powered_lines/line/horizontal.png")
left_bottom_powered = arcade.load_texture("assets/graphics/powered_lines/corner/left_bottom.png")
left_top_powered = arcade.load_texture("assets/graphics/powered_lines/corner/left_top.png")
right_bottom_powered = arcade.load_texture("assets/graphics/powered_lines/corner/right_bottom.png")
right_top_powered = arcade.load_texture("assets/graphics/powered_lines/corner/right_top.png")
TEXTURE_MAP = {
("line", "vertical", True): arcade.load_texture("assets/graphics/powered_lines/line/vertical.png"),
("line", "vertical", False): arcade.load_texture("assets/graphics/unpowered_lines/line/vertical.png"),
("line", "horizontal", True): arcade.load_texture("assets/graphics/powered_lines/line/horizontal.png"),
("line", "horizontal", False): arcade.load_texture("assets/graphics/unpowered_lines/line/horizontal.png"),
vertical_unpowered = arcade.load_texture("assets/graphics/unpowered_lines/line/vertical.png")
horizontal_unpowered = arcade.load_texture("assets/graphics/unpowered_lines/line/horizontal.png")
left_bottom_unpowered = arcade.load_texture("assets/graphics/unpowered_lines/corner/left_bottom.png")
left_top_unpowered = arcade.load_texture("assets/graphics/unpowered_lines/corner/left_top.png")
right_bottom_unpowered = arcade.load_texture("assets/graphics/unpowered_lines/corner/right_bottom.png")
right_top_unpowered = arcade.load_texture("assets/graphics/unpowered_lines/corner/right_top.png")
("corner", "left_bottom", True): arcade.load_texture("assets/graphics/powered_lines/corner/left_bottom.png"),
("corner", "left_bottom", False): arcade.load_texture("assets/graphics/unpowered_lines/corner/left_bottom.png"),
("corner", "left_top", True): arcade.load_texture("assets/graphics/powered_lines/corner/left_top.png"),
("corner", "left_top", False): arcade.load_texture("assets/graphics/unpowered_lines/corner/left_top.png"),
("corner", "right_bottom", True): arcade.load_texture("assets/graphics/powered_lines/corner/right_bottom.png"),
("corner", "right_bottom", False): arcade.load_texture("assets/graphics/unpowered_lines/corner/right_bottom.png"),
("corner", "right_top", True): arcade.load_texture("assets/graphics/powered_lines/corner/right_top.png"),
("corner", "right_top", False): arcade.load_texture("assets/graphics/unpowered_lines/corner/right_top.png"),
power_source = arcade.load_texture("assets/graphics/power_source.png")
("t_junction", "left_right_bottom", True): arcade.load_texture("assets/graphics/powered_lines/t_junction/left_right_bottom.png"),
("t_junction", "left_right_bottom", False): arcade.load_texture("assets/graphics/unpowered_lines/t_junction/left_right_bottom.png"),
("t_junction", "left_right_top", True): arcade.load_texture("assets/graphics/powered_lines/t_junction/left_right_top.png"),
("t_junction", "left_right_top", False): arcade.load_texture("assets/graphics/unpowered_lines/t_junction/left_right_top.png"),
("t_junction", "top_bottom_left", True): arcade.load_texture("assets/graphics/powered_lines/t_junction/top_bottom_left.png"),
("t_junction", "top_bottom_left", False): arcade.load_texture("assets/graphics/unpowered_lines/t_junction/top_bottom_left.png"),
("t_junction", "top_bottom_right", True): arcade.load_texture("assets/graphics/powered_lines/t_junction/top_bottom_right.png"),
("t_junction", "top_bottom_right", False): arcade.load_texture("assets/graphics/unpowered_lines/t_junction/top_bottom_right.png"),
("cross", "cross", True): arcade.load_texture("assets/graphics/powered_lines/cross/cross.png"),
("cross", "cross", False): arcade.load_texture("assets/graphics/unpowered_lines/cross/cross.png"),
("power_source", "cross", True): arcade.load_texture("assets/graphics/power_source.png"),
("house", "cross", False): button_texture,
("house", "cross", True): button_texture,
}