1
0
Fork 0
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:
Anthony Foxclaw 2020-07-06 04:40:11 -04:00 committed by GitHub
parent 13029ede52
commit b71e50cf1d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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