using UnityEngine; using UnityEditor; using System.Collections.Generic; [CustomEditor(typeof(ClickableZoom))] [CanEditMultipleObjects] public class ClickableZoomEditor : Editor { public Dictionary Texts => new() { {"1_ticket de caisse", "Un an de conversation Whatsoupe sous la forme d’un ticket de caisse de 75 mètres"}, {"2_3_dessin seminaire", "Schémas explicatifs des lettres et des séminaires"}, {"4a_lettre blette", "Jeu de rôle épistolaire : Raymonde la chenille écrit à la Blette"}, {"4c lettre brulee", "Jeu de rôle épistolaire : les légumes écrivent à la Loupe"}, {"4d_lettre ver enveloppe", "Jeu de rôle épistolaire : enveloppe minuscule du Ver Magnifiant aux Légumes"}, {"4d_lettre ver", "Jeu de rôle épistolaire : réponse du Ver Magnifiant aux Légumes"}, {"8_ticket caisse", "Chaîne de questions : \na) Comment trouver sa place dans un groupe ? \nb) La mélancolie est-elle contre-productive ? \nc) Que faire d’un dialogue de sourd ?"}, {"11_art is food", "Notes préparatoires"}, {"12_dessins celdu", "Recherches de costumes"}, {"13_14_ecriture melon jeu", "Exercice et hymne officiel de l’École des Jeunes Pousses de l’Excellence"}, {"15_contrat", "Contrat d’éducation de l’École des Jeunes Pousses de l’Excellence"}, {"16_ecriture melon", "Discours des Avocats du Melon et contrat d’éducation à l’EJPE"}, {"17_carnet celri", "Storyboard des séquences animées du film"}, {"18a_ecriture navet", "Atelier d’écriture « si j’étais un légume », réponse du navet"}, {"18d_ecriture salade", "Atelier d’écriture « si j’étais un légume », réponse de la salade"}, {"18g_ecriture patate douce", "Atelier d’écriture « si j’étais un légume », réponse d’une nèfle"}, {"18h_ecriture butternut", "Atelier d’écriture « si j’étais un légume », réponse d’un butternut"}, {"19_ecriture concombre", "Atelier d’écriture « situation de légumes », dialogue entre un coq et un concombre"}, {"18c_20_ecriture aubergine", "Atelier d’écriture « si j’étais un légume, je serais une aubergine » et questions des élèves de l’EJPE"}, {"21_aulot manifeste", "Manifeste des léguminaires, légumes révolutionnaires"}, {"22_ecriture notes ag", "Notes préparatoires de l’AG des léguminaires"}, {"23_tract militer au potager", "Fanzine / tract / calendrier « militer au potager"}, {"24a_aulot cartes haut", "Cartes préparatoires pour les discussions de l’AG révolutionnaire"}, {"24b_aulot cartes haut 02", "Cartes préparatoires pour les discussions de l’AG révolutionnaire"}, {"24c_aulot cartes bas_", "Cartes préparatoires pour les discussions de l’AG révolutionnaire"}, {"24d_aulot cartes bas 02", "Cartes préparatoires pour les discussions de l’AG révolutionnaire"}, {"25_ecriture legume presse", "Monologue d’un légume pressé"}, {"26_carnet lucia", "Recherches de personnages,Brutus & Rufius"}, {"27_ecriture blagues", "Recherches pour la première blague du monde"}, {"28_ecriture animal du milieu", "Journal intime de l’animal du milieu"}, {"29_dessin animal du milieu", "Recherches pour l’animal du milieu"}, {"30_theatre d'ombre", "Storyboard collectif du théâtre d’ombre : les différentes morts de Melon"}, {"31_aulot photos", "Pellicule de Gabrielle : tournage dans le champ, Justin en maïs, Loïs en radis"}, {"32_aulot fiches perso", "Cartes préparatoires des personnages"}, {"34_ecriture cloportes", "Slam des cloportes"}, {"35_aulot carnet de chant", "Carnet de chants pour la semaine à la ferme d’Aulot"}, {"36_aulot planning", "Planning des tâches ménagères pour la semaine à la ferme d’Aulot"}, {"37_fourmis ecriture", "Dialogue entre deux fourmis"}, {"38_fourmis", "Storyboard,dialogue entre deux fourmis"}, {"39_animal du trop tard", "Recherches : rencontre de l’animal du trop tard avec les légumes"}, {"40_animal du trop tard-1", "Recherches : l’animal du trop-tard"}, {"41_ecriture animal du trop tard", "L’animal du trop-tard va chez le psy"}, {"42c_lettres 03 et 04", "Atelier d’écriture « lettre aux léguminaires du futur », lettres d’Epinardino et Marc Maïs"}, {"42-43_soleil et lettre", "Discours d’un animal du trop-tôt et atelier d’écriture « lettre aux léguminaires du futur », lettre anonyme” “Atelier d’écriture « lettre aux léguminaires du futur », lettre de N la chataîgne"}, {"42b_lettre 02", "Atelier d’écriture « lettre aux léguminaires du futur », réponse des légumes du futur"}, {"44a_recherche lettre 01", "Recherches pour une lettre"}, {"45_jeu ecriture courgette", "Dialogue entre l’âne et la courgette"}, {"carte cuir", "Carte du monde usagé, six mains et techniques mixtes"}, {"carte scenario", "Scénario du monde usagé dessiné à six mains,la boucle"}, {"papier decoupe", "Papier découpé utilisé pour créer le jeu dans lequel vous êtes maintenant.}"}, {"30_theatre d_ombre", "Storyboard collectif de la mort du melon"} }; public override void OnInspectorGUI() { // Draw the default inspector first DrawDefaultInspector(); // Add a space in the inspector EditorGUILayout.Space(); if (GUILayout.Button($"Load full image")) { if (targets != null && targets.Length > 0) { foreach (var t in targets) { ClickableZoom clickableZoom = (ClickableZoom)t; if (clickableZoom != null) { // Try to get the SpriteRenderer component and extract sprite name SpriteRenderer spriteRenderer = clickableZoom.GetComponent(); if (spriteRenderer != null && spriteRenderer.sprite != null) { string textureName = spriteRenderer.sprite.name; string folderPath = "Assets/Sprites/Game/expo des legumes/PNG ZOOM IN"; string fullImagePath = folderPath + "/" + textureName + ".png"; string text = ""; try { text = Texts[textureName]; } catch (KeyNotFoundException _) { Debug.Log("Key not found: " + textureName); } // Add a button for each selected object Debug.Log("Loading full image: " + fullImagePath); Texture2D fullImage = (Texture2D)AssetDatabase.LoadAssetAtPath(fullImagePath, typeof(Texture2D)); clickableZoom.fullImage = fullImage; clickableZoom.text = text.Replace("\\n", "\n"); } else { GUILayout.Label("SpriteRenderer or sprite not found."); } } } } } } }