public void SetValues(GUI_SpellBook spellBook, SpellBookCategory category)
        {
            this.spellBook = spellBook;
            this.category  = category;

            nameLabel.SetValueServer(category.Name);
            descriptionLabel.SetValueServer(category.Description);
        }
        public void SetValues(GUI_SpellBook bookGUI, SpellBookEntry entry)
        {
            this.bookGUI = bookGUI;
            this.entry   = entry;

            costLabel.SetValueServer($"Cost: {entry.Cost}");
            descriptionLabel.SetValueServer(entry.Description);

            if (entry is SpellBookSpell spellEntry)
            {
                SetSpellValues(spellEntry);
            }
            else if (entry is SpellBookArtifact artifactEntry)
            {
                SetArtifactValues(artifactEntry);
            }

            // Enable or disable button interactivity based on affordability.
            button.SetValueServer(entry.Cost > bookGUI.Points ? "false" : "true");
        }
        public void SetValues(GUI_SpellBook bookGUI, SpellBookEntry entry)
        {
            this.bookGUI = bookGUI;
            this.entry   = entry;

            spellLabel.SetValueServer(entry.Name);
            costLabel.SetValueServer($"Cost: {entry.Cost}");
            descriptionLabel.SetValueServer(entry.Description);
            noteLabel.SetValueServer(entry.Note);

            if (entry is SpellBookSpell spellEntry)
            {
                cooldownLabel.SetValueServer($"Cooldown: {spellEntry.Cooldown}");
                buttonLabel.SetValueServer("Learn");
            }
            else if (entry is SpellBookArtifact)
            {
                cooldownLabel.SetValueServer("");
                buttonLabel.SetValueServer("Summon");
            }
        }
        public void SetValues(GUI_SpellBook bookGUI, SpellBookEntry entry)
        {
            this.bookGUI = bookGUI;
            this.entry   = entry;

            costLabel.SetValueServer($"Cost: {entry.Cost}");
            descriptionLabel.SetValueServer(entry.Description);

            if (entry is SpellBookSpell spellEntry)
            {
                spellLabel.SetValueServer(spellEntry.Name);
                cooldownLabel.SetValueServer($"Cooldown: {spellEntry.Cooldown}");
                noteLabel.SetValueServer(
                    $"{(spellEntry.RequiresWizardGarb ? "Requires wizard garb" : "Can be cast without wizard garb")} {spellEntry.Note}");
                buttonLabel.SetValueServer("Learn");
            }
            else if (entry is SpellBookArtifact artifactEntry)
            {
                spellLabel.SetValueServer(artifactEntry.Name);
                cooldownLabel.SetValueServer("");
                noteLabel.SetValueServer(artifactEntry.Note);
                buttonLabel.SetValueServer("Summon");
            }
        }