CRÉEZ VOTRE MONDE
Économie
Obtenez des informations sur les articles détenus par un utilisateur
9min
vous pouvez utiliser l'api zepeto module shop pour récupérer les informations sur les articles de l'utilisateur actuellement connecté par catégorie installer fenêtre → gestionnaire de paquets → veuillez d'abord installer le paquet zepeto world version 1 21 14 ou supérieure ensuite, installez le paquet zepeto module version 1 0 7 ou supérieure api zepeto module shop si vous êtes intéressé par l'api zepeto module shop, consultez la documentation 📘 veuillez vous référer au guide suivant \[ api zepeto module shop https //developer zepeto me/docs/module/namespaces/zepeto module shop ] exemple d'affichage des informations sur les articles projet > créer > zepeto > typescript est créé et le nom est changé en malisted'articles écrire un script d'exemple comme indiqué ci dessous import { zepetoscriptbehaviour } from 'zepeto script' import { shopservice, category, itemkeyword } from 'zepeto module shop' import { zepetopropertyflag } from 'zepeto' import { texture2d, waituntil } from 'unityengine' import { rawimage } from 'unityengine ui' import { item } from 'zepeto module content' export default class malisted'articles extends zepetoscriptbehaviour { public thumbnailimage rawimage; start() { this startcoroutine(this cogetmycategory()); } cogetmycategory() { var requestcategory = shopservice getmycategoryasync(); yield new waituntil(() => requestcategory keepwaiting == false); if (requestcategory responsedata issuccess) { let categoryinfo = requestcategory responsedata category; console log(`\[informations sur la catégorie] ${categoryinfo displayname} longueur ${categoryinfo categories length}`); let categories category\[] = categoryinfo categories; for (const category of categories) { console log(`\[nom d'affichage de la catégorie] ${category displayname} `); //le mot clé de la catégorie est utilisé comme argument dans la fonction shopservice getmycontentitemlistasync console log(`\[mot clé de la catégorie] ${category keyword} `); } } this startcoroutine(this cogetmyitem()); } cogetmyitem() { var requestitemlist = shopservice getmycontentitemlistasync(itemkeyword all, null); yield new waituntil(() => requestitemlist keepwaiting == false); if (requestitemlist responsedata issuccess) { let items item\[] = requestitemlist responsedata items; // le nombre d'articles reçus en résultat de getmycontentitemlistasync() console log(items length); for (let i = 0; i < items length; ++i) { const property zepetopropertyflag = items\[i] property; // id de l'article et propriété de l'article console log(`\[article de contenu] (id) ${items\[i] id} | (propriété) ${property}`); // définir la miniature de l'article comme la texture d'une rawimage var texturereq = items\[i] getthumbnailasync(); yield new waituntil(() => texturereq keepwaiting == false); let thumbnailtexture texture2d = texturereq responsedata texture; this thumbnailimage texture = thumbnailtexture; } } } } description du script récupérer les informations de l'onglet mes articles appelez shopservice getmycategoryasync() pour connaître les catégories d'articles dans l'onglet mes articles lorsque vous recevez une réponse avec succès, vous pouvez accéder à l'objet categoryresponse via la propriété responsedata categoryresponse category categories est parcouru et la liste des catégories d'articles dans l'onglet mes articles est affichée récupérer la liste des articles appelez shopservice getmycontentitemlistasync(itemkeyword all, null) pour récupérer la liste des articles pour toutes les catégories vous pouvez choisir de récupérer des articles uniquement à partir de certaines catégories par exemple, vous pouvez utiliser itemkeyword hair au lieu de itemkeyword all pour récupérer uniquement les articles de cheveux le deuxième paramètre n'est utilisé que si vous connaissez le jeton de la page suivante à demander réglez le sur null la première fois que vous appelez l'api pour des exemples liés à nextpagetoken, consultez les informations ci dessous lorsque vous recevez une réponse réussie, vous pouvez accéder à l'objet contentitemlistresponse via la propriété responsedata itemresponse items est parcouru et l'id et le code enum de chaque article sont affichés de plus, la miniature de l'article est définie comme l'image brute désignée après avoir terminé d'écrire le script, ajoutez le script à l'objet dans la scène appuyer sur le bouton play vous montrera la liste des catégories de l'onglet mes articles et les informations sur les articles de toutes les catégories si vous créez le prefab de miniature d'élément et que vous souhaitez que les miniatures soient créées dynamiquement en fonction de la liste d'éléments, vous pouvez afficher la miniature de la liste d'éléments sur l'interface utilisateur exemple pour vérifier le statut de possession d'un certain élément par l'utilisateur vous pouvez utiliser getmycontentitemlistasync() pour vérifier si quelqu'un dans un monde porte des vêtements particuliers ce qui suit est un exemple simple pour afficher un message sur l'interface utilisateur d'un utilisateur qui possède un élément spécifique projet > créer > zepeto > typescript est créé et le nom est changé en vérifierélément écrivez un script d'exemple comme indiqué ci dessous import { zepetoscriptbehaviour } from 'zepeto script' import { shopservice, itemkeyword } from 'zepeto module shop' import { zepetopropertyflag } from 'zepeto' import { waituntil } from 'unityengine' import { text } from 'unityengine ui' import { item } from 'zepeto module content' export default class checkitem extends zepetoscriptbehaviour { public resulttext text; public checkitemid string; start() { this resulttext gameobject setactive(false); this startcoroutine(this cocheckitem()); } cocheckitem() { let nextpagetoken string | null = null; do { // request the list of the user's content items const requestitemlist = shopservice getmycontentitemlistasync(itemkeyword all, nextpagetoken); yield new waituntil(() => requestitemlist keepwaiting == false); if (requestitemlist responsedata issuccess) { // get the content items from the response const contentitems item\[] = requestitemlist responsedata items; nextpagetoken = requestitemlist responsedata nextpagetoken; // iterate through the content items for (let i = 0; i < contentitems length; ++i) { const property zepetopropertyflag = contentitems\[i] property; // check if the item id matches the specified id if (contentitems\[i] id == this checkitemid) { // activate the matched item message this activatematcheditem(); break; } } } else { break; } } while (nextpagetoken != null); } activatematcheditem() { // show the matched item message this resulttext gameobject setactive(true); this resulttext text = "wow, vous avez un article que j'ai créé !"; } } description du script ceci est un script qui parcourt la liste 'mon article' (toutes les catégories) d'un utilisateur connecté à un monde et trouve l'id d'article correspondant saisi dans l'inspecteur s'il y a de nombreux articles, la valeur nextpagetoken n'est pas nulle par conséquent, le processus est répété avec une instruction do while jusqu'à ce que la valeur devienne nulle remarquez comment nextpagetoken a été fourni comme le deuxième paramètre de shopservice getmycontentitemlistasync(itemkeyword all, nextpagetoken) lorsque vous recevez une réponse réussie, vous pouvez accéder à l'objet contentitemlistresponse via la propriété responsedata itemresponse items est parcouru pour trouver une correspondance pour l'id d'article saisi si un article correspondant est trouvé, activatematcheditem() est appelé pour afficher le texte à l'écran de l'utilisateur et mettre fin à la boucle après avoir terminé d'écrire le script, ajoutez le script à l'objet dans la scène entrez l'id de l'article que vous souhaitez vérifier si un utilisateur dans un monde l'a sur l'inspecteur appuyez sur le bouton lecture pour exécuter le processus du texte apparaîtra à l'écran si l'utilisateur connecté à un monde possède un objet correspondant à l'id d'objet saisi vous pouvez appliquer l'exemple pour créer toutes sortes de contenus intéressants