Godot 4 · GDScript
Amis
Systeme d'amis : invitations, liste des invitations en attente, et classements filtres entre amis uniquement.
Envoyer une Invitation
Invitez un joueur par sa cle et ecoutez invite_sent :
Gamdato.invite_sent.connect(_on_invite)
Gamdato.send_friend_invite(player_key, "Jouons !")# invitation: Dictionary (the one just created)
{
"id": String,
"to_player_key": String,
"to_player_name": String,
"status": "pending",
"message": String,
"created_at": String,
"expires_at": String
}Lister les Invitations
Obtenez les invitations en attente (envoyees et recues) combinees :
Gamdato.invitations_listed.connect(_on_invites)
Gamdato.list_pending_invitations()# invitations: Array, each invitation:
{
"id": String, # pass this to respond/cancel
"direction": "incoming" | "outgoing",
"counterpart": {
"player_key": String,
"player_name": String
},
"status": "pending",
"message": String, # may be empty
"created_at": String, # ISO date
"responded_at": String, # null while pending
"expires_at": String # ISO date
}Repondre et Annuler
Acceptez ou refusez une invitation recue, ou annulez-en une que vous avez envoyee :
Gamdato.respond_invitation(invitation_id, true) # accepter
Gamdato.cancel_invitation(invitation_id) # annuler une envoyeeLister vos Amis
Obtenez la liste des amis acceptes (pas les invitations). Vous pouvez filtrer par nom de maniere optionnelle.
Gamdato.friends_loaded.connect(_on_friends)
Gamdato.list_friends() # ou list_friends(50, "texte")
func _on_friends(friends: Array) -> void:
for f in friends:
print("%s (depuis %s)" % [f.player_name, f.friends_since])# friends: Array, each friend:
{
"player_key": String,
"player_name": String,
"friends_since": String # ISO date
}Retirer un Ami
Supprimez une amitie existante par la cle du joueur.
Gamdato.friend_removed.connect(_on_removed)
Gamdato.remove_friend(player_key)
func _on_removed(ok: bool, key: String, error_code: String) -> void:
if ok: print("Ami retire")