Trois tentatives pour reposer et rhabiller les quinze ReputationBar<i> de
3.3.5, trois echecs de la meme nature : ReputationFrame_Update ne remplit
pas, il REPOSE son art a chaque passage -- SetNormalTexture sur les boutons,
les AtWarHighlight additifs, les traits d'arborescence, la texture de la
StatusBar -- et le clic en declenche un. Chaque correction tenait jusqu'au
passage suivant.
Les lignes sont donc les NOTRES, baties d'apres les gabarits lus en entier
et remplies depuis GetFactionInfo, la seule chose que 3.3.5 apporte ici :
en-tete 28 plaque common-button-list-collapseExpand etiree, nom en or a
LEFT x = 10, fleche plus/moins a RIGHT (-8, -1)
entree 30 barre 160 x 29 a RIGHT x = -3 -- fond common-stat-bar-bg,
remplissage common-stat-bar-white haut de 15 teinte par
FACTION_BAR_COLORS, texte centre -- et nom en blanc de x = 25,
le bord droit de l'AccountWideIcon, au LEFT de la barre moins 10
survol trois tranches, cotes de 6, aux alphas de
RefreshBackgroundHighlightOpacity : 0 / 0,10 / 0,20, et
0,50 / 0,65 / 0,85 en guerre
A l'attitude maximale la barre est pleine et sans texte de progression,
comme InitializeBarForStandardReputation le veut ; au survol elle montre la
progression au lieu de l'attitude.
Lecon : quand un ecran du client se repose lui-meme, on ne le rhabille pas,
on le remplace.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Trois erreurs, une seule cause : lire un bout du XML de camelot et le plaquer
sur les cadres de 3.3.5, au lieu de lire le gabarit en entier avant d'ecrire.
ReputationEntryTemplate donne tout : barre ancree RIGHT x = -3, nom en
GameFontHighlight de hauteur 15 allant de x = 25 -- le RIGHT de
l'AccountWideIcon, large de 23 et posee a LEFT x = 2 -- jusqu'au LEFT de la
barre moins 10, et intitule d'attitude centre sur la barre par un LEFT plus
un RIGHT. Tout cela est desormais pose tel quel.
Et l'art du client revient a CHAQUE mise a jour : ReputationFrame_Update
rappelle SetNormalTexture sur les boutons et remontre la texture de la
StatusBar, les deux AtWarHighlight additifs et les traits d'arborescence.
L'etouffer une fois a la construction ne suffisait pas -- l'image reprenait
sa taille declaree, 16 x 16 ancree a LEFT +3 pour une ligne de 20, et se
superposait a la notre. C'est ce qui deformait les plus et les moins et
faisait sortir les barres de leur cadre. On repasse apres lui a chaque fois.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Le troisieme argument de SetAtlas veut dire "ne touche pas a la taille" : il
ne vaut que si on la pose soi-meme juste apres -- un SetAllPoints, un
SetWidth, un second ancrage. Pose sur une texture sans dimension ni second
point, il la laisse s'etaler sur tout son parent.
Les deux traits de liste de la reputation etaient dans ce cas : une immense
bande doree par-dessus l'ecran. La fleche plus/moins aussi, en plus discret.
Les deux reprennent leur taille d'atlas -- 384 x 8 et 13 de large -- et le
banc les verifie.
Les appels du reste de l'addon sont tous suivis d'un dimensionnement :
c'etait bien l'usage, mal repris.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
common-button-list-collapseExpand n'est PAS une fleche : c'est le fond d'une
ligne d'en-tete, une plaque arrondie de 64 x 28 que ReputationHeaderTemplate
pose sans ancrage, donc etiree sur toute la ligne. Posee a sa taille d'atlas
sur un bouton de 20, elle se repetait sur chaque ligne et recouvrait les
noms.
La vraie fleche est le StateIcon du meme gabarit, que ReputationHeaderMixin
remplit avec common-button-list-plus ou -minus, ancre RIGHT en (-8, -1) --
a droite de la ligne, et pas a gauche.
Un en-tete porte donc sa plaque, son nom a LEFT x = 10 et sa fleche, mais
aucune barre : celle-ci appartient aux entrees. GetFactionInfo rend isHeader
en neuvieme position, et c'est lui qui decide.
Lecon notee : un nom d'atlas ne dit pas ce que l'art contient. Le recadrage
d'un sprite depuis sa feuille prend dix lignes et evite cette erreur.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ReputationFrame.xml donne la liste -- TOPLEFT (10, -40) et BOTTOMRIGHT
(-25, 15) sur le volet gauche, deux traits UI-Character-Info-ScrollLine-Long
centres sur son haut et son bas -- et les gabarits : entree de 30, barre de
160 x 29 heritee de ColoredProgressBarTemplate, fond common-stat-bar-bg,
remplissage common-stat-bar-white teinte et haut de 15.
3.3.5 a les memes pieces sous d'autres noms : quinze ReputationBar<i>
ancrees une fois dans le XML, que ReputationFrame_Update ne fait que
remplir. On les repose une fois pour toutes et on se greffe apres lui pour
teindre, FACTION_BAR_COLORS donnant la couleur de chaque attitude.
Trois ecarts assumes, ecrits dans le fichier : pas de MaskTexture, donc les
bouts du remplissage restent carres ; un seul pas de ligne, la pagination du
client en exigeant un ; le nombre de lignes recalcule pour le volet, la
constante du client etant calee sur l'ancienne fenetre.
Un contenu peut se batir avant que la fenetre soit posee : la hauteur du
volet est prise par construction, la mesure ne servant que credible.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>