zmiana sceny um, zmiana logiki

This commit is contained in:
sysek 2026-01-26 11:39:17 +01:00
parent 55748d3f69
commit 72afd3c7e4
17 changed files with 375 additions and 257 deletions

View file

@ -8,8 +8,8 @@ extends Control
@onready var stats = $Stats
@onready var roll_button = $Top/TopMenu/Roll
@onready var quit_button = $Top/TopMenu/Quit
@onready var um_container = $Umiejetnosci/GridContainer
@onready var roll_label = $Stats/Roll2
@onready var save_button = $Top/TopMenu/Save
@onready var roll_label = $Top/TopMenu/Roll2
enum Chum {
SOLO,
@ -28,12 +28,12 @@ func _ready() -> void:
for stat in stats_group:
stat.text = "0"
quit_button.pressed.connect(_on_button_quit_pressed)
roll_button.pressed.connect(_on_button_roll_pressed)
save_button.pressed.connect(_on_button_save_pressed)
print(Player.stats)
## Metoda która wczytuje plik json zawierający szablony
## dla odpowiednich klas
@ -51,77 +51,83 @@ func load_template():
## Metoda która zapisuje postać
func save_character():
pass
var group_stats = get_tree().get_nodes_in_group("stats")
for stat in group_stats:
print(stat.text)
## Główna metoda do tworzenia postaci
func create_character(roll, chum: int) -> void:
func create_character():
var stats_group = get_tree().get_nodes_in_group("stats")
var template = load_template()
var um
var player
var roll = str(Global.rolld(10))
#var button_pressed = rola_cb.get_pressed_button()
var player: Dictionary = {}
var chum = 1
roll_label.text = roll
#match button_pressed.name:
#"SoloCB":
#chum = Chum.SOLO
#"NetrunnerCB":
#chum = Chum.NETRUNNER
#"KorpoCB":
#chum = Chum.KORPO
match chum:
1:
player = template["netrunner"]["rolls"][roll]
um = template["netrunner"]["umiejetnosci"]
if not player.has("stats"):
player["stats"] = template["netrunner"]["rolls"][roll]
if not player.has("um"):
player["um"] = template["netrunner"]["um"]
_:
print(":(")
player["PW"] = wylicz_pw(player)
player["CZL"] = wylicz_czl(player)
player["stats"]["PW"] = wylicz_pw(player)
player["stats"]["CZL"] = wylicz_czl(player)
if chum <= 1:
for i in range(stats_group.size()):
stats_group[i].text = str(int(player.values()[i]))
stats_group[i].text = str(int(player["stats"].values()[i]))
var labels: Array[Label]
var um_place = "{name}: {value}"
for i in range(um.size()):
for i in range(player["um"].size()):
var label: Label = Label.new()
label.name = um.keys()[i]
label.name = player["um"].keys()[i]
label.text = um_place.format(
{"name": um.keys()[i], "value": int(um.values()[i])})
{"name": player["um"].keys()[i], "value": int(player["um"].values()[i])}
)
labels.append(label)
if um_container.get_child_count() == 0:
for label in labels:
um_container.add_child(label)
func wylicz_pw(player) -> int:
var bc = player["INT"]
var sw = player["SW"]
func wylicz_pw(_player) -> int:
var bc = _player["stats"]["INT"]
var sw = _player["stats"]["SW"]
var pw = 10 + (5 * ceil(lerp(bc, sw, 0.5)))
return pw
func wylicz_czl(player) -> int:
var emp = player["EMP"]
func wylicz_czl(_player) -> int:
var emp = _player["stats"]["EMP"]
var czl = emp * 10
return czl
func _on_button_roll_pressed() -> void:
var roll = str(Global.rolld(10))
var button_pressed = rola_cb.get_pressed_button()
var chum
roll_label.text = roll
match button_pressed.name:
"SoloCB":
chum = Chum.SOLO
"NetrunnerCB":
chum = Chum.NETRUNNER
"KorpoCB":
chum = Chum.KORPO
create_character(roll, chum)
create_character()
func _on_button_quit_pressed() -> void:
get_tree().quit()
func _on_button_save_pressed() -> void:
save_character()