Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Função para organizar 2 arrays interligados Godot 4.
- Essa função expecifica para um sistema de inventário que criei que possuim 2 arrays ( 1 - de itens e 2- de quantidade) onde eu quero ordenar o array itens e quero que após fazer isso o array quantidade fique ordenado com relação ao array de itens. exemplo :
- var itens = [3, 1, 2]
- var quant = [2, 1, 4]
- quando o meu array itens for ordenado ele ficará assim :
- [1, 2, 3] e consequentemente , quero que meu array quant fique assim : [1, 4, 2]. Então seria facilmente obtido o resultado chamando a função abaixo :
- organizar_inventario(itens,quant)
- segue a função abaixo :
- func organizar_inventario(itens:Array,quant:Array) -> void:
- # Criar uma lista de dicionários associando itens a quantidades
- var item_quant_list = []
- for i in range(itens.size()):
- item_quant_list.append({"item": itens[i], "quant": quant[i]})
- # Ordenar a lista de dicionários com base nos itens
- item_quant_list.sort_custom(_compare_items)
- # Atualizar os arrays de itens e quantidades de acordo com a nova ordem
- for i in range(itens.size()):
- itens[i] = item_quant_list[i]["item"]
- quant[i] = item_quant_list[i]["quant"]
- # Exemplo de impressão para verificar os resultados
- #print("itens:", itens)
- #print("quant:", quant)
- var Itens_inv_organizar:Array = itens
- Itens_inv = [0,0,0,0,0,0,0,0,0,0]
- var Quantidade_organizar:Array = quant
- Quantidade = [0,0,0,0,0,0,0,0,0,0]
- for item in Itens_inv.size():
- adicionar_item(Itens_inv_organizar[item],Quantidade_organizar[item])
- # Função de comparação personalizada para ordenar a lista de dicionários
- func _compare_items(a, b):
- return a["item"] < b["item"]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement