52 lines
956 B
GDScript3
52 lines
956 B
GDScript3
extends Control
|
|
|
|
# Declare an empty dictionary object
|
|
var game = {}
|
|
|
|
func _ready():
|
|
# Initialize a player dictionary
|
|
var player = {
|
|
"name": "Thor",
|
|
"inventory": ["sword", "shield", "map"],
|
|
"location": "Castellion",
|
|
"energy": 67
|
|
}
|
|
|
|
if game.is_empty():
|
|
# Add data to the game dictionary
|
|
game["player"] = player
|
|
game["score"] = 0
|
|
game["dummy"] = null
|
|
|
|
if game.has("dummy"):
|
|
game.erase("dummy")
|
|
|
|
print(game.get("dummy", "Key not found!"))
|
|
|
|
if game.has_all(["player", "score"]):
|
|
print(game["player"]["name"])
|
|
|
|
player["energy"] += 1
|
|
|
|
print(game.keys().size())
|
|
print(game.size())
|
|
print(player.values()[0])
|
|
|
|
# Alternative way to initialize a dictionary
|
|
var d = {
|
|
a = {
|
|
a1 = {
|
|
a11 = 1, a12 = 2
|
|
},
|
|
a2 = 3
|
|
},
|
|
b = 1
|
|
}
|
|
|
|
# Make copies of the dictionary
|
|
var deep_copy = d.duplicate(true)
|
|
var shallow_copy = d.duplicate()
|
|
print(deep_copy)
|
|
# I expected the shallow copy to be truncated
|
|
print(shallow_copy)
|