mirror of
https://github.com/tonytins/dressupzack
synced 2025-05-05 13:34:48 -04:00
DLC support (#11)
This update adds support for loading in DLC using the check_for_dlc() function. New clothes and accessories are added by searching through "res://scenes/dlc/shirts/" directory, for example, and added to the respective tab in the wardrobe as if it were part of the base game. It's not the best solution in the world but it works.
This commit is contained in:
parent
13029ede52
commit
b71e50cf1d
1 changed files with 69 additions and 0 deletions
|
@ -4,6 +4,75 @@ onready var character = preload("res://resources/character.tres")
|
|||
onready var blank_top = preload("res://sprites/clothes/blank_top.png")
|
||||
onready var blank_bottom = preload("res://sprites/clothes/blank_bottom.png")
|
||||
|
||||
onready var pants_grid = $Pants/PantsScroll/PantsGrid
|
||||
onready var shirts_grid = $Shirts/ShirtsScroll/ShirtsGrid
|
||||
onready var undies_grid = $Underwear/UndiesScroll/UndiesGrid
|
||||
onready var accs_grid = $Accessoires/AccsScroll/AccsGrid
|
||||
|
||||
func list_files_in_directory(path):
|
||||
var files = []
|
||||
var dir = Directory.new()
|
||||
dir.open(path)
|
||||
dir.list_dir_begin()
|
||||
|
||||
while true:
|
||||
var file = dir.get_next()
|
||||
if file == "":
|
||||
break
|
||||
elif not file.begins_with("."):
|
||||
files.append(file)
|
||||
|
||||
dir.list_dir_end()
|
||||
|
||||
return files
|
||||
|
||||
func check_for_dlc(dlc_pack):
|
||||
var usr_dir = "user://dlc/"
|
||||
var dlc_path = usr_dir + dlc_pack
|
||||
var load_pck = ProjectSettings.load_resource_pack(dlc_path, false)
|
||||
print_debug("Loaded " + dlc_path + ": " + str(load_pck))
|
||||
|
||||
# Check if the DLC is actually there
|
||||
if load_pck == true:
|
||||
|
||||
# Loads the DLC
|
||||
ProjectSettings.load_resource_pack(dlc_path, false)
|
||||
|
||||
var dir = Directory.new()
|
||||
dir.list_dir_begin()
|
||||
|
||||
# Lists the files in each of their respective directories
|
||||
var shirts_dir = "res://scenes/dlc/shirts/"
|
||||
var pants_dir = "res://scenes/dlc/pants/"
|
||||
var undies_dir = "res://scenes/dlc/undies/"
|
||||
var dlc_shirts = list_files_in_directory(shirts_dir)
|
||||
var dlc_pants = list_files_in_directory(pants_dir)
|
||||
var dlc_undies = list_files_in_directory(undies_dir)
|
||||
|
||||
# Make sure each file actually exist, instance them
|
||||
# and add them to their respective tabs
|
||||
for shirt in dlc_shirts:
|
||||
if dir.file_exists(shirts_dir + shirt):
|
||||
var init = load(shirts_dir + shirt).instance()
|
||||
shirts_grid.add_child(init)
|
||||
print_debug("Initialized: " + shirts_dir + shirt)
|
||||
|
||||
for pants in dlc_pants:
|
||||
if dir.file_exists(pants_dir + pants):
|
||||
var init = load(pants_dir + pants).instance()
|
||||
shirts_grid.add_child(init)
|
||||
print_debug("Initialized: " + pants_dir + pants)
|
||||
|
||||
for undies in dlc_undies:
|
||||
if dir.file_exists(undies_dir + undies):
|
||||
var init = load(undies_dir + undies).instance()
|
||||
shirts_grid.add_child(init)
|
||||
print_debug("Initialized: " + undies_dir + undies)
|
||||
|
||||
func _ready():
|
||||
# check_for_dlc("testdlc.pck")
|
||||
pass
|
||||
|
||||
func _on_removeAccessory_pressed():
|
||||
character.accessory = blank_top
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue