Encounter / Assets / Scripts / GUIHandlers / SkillChoiceHandler.cs
SkillChoiceHandler.cs
Raw
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

/// <summary>
/// Handles showcasing information for each choice for a retainedData that is being activated
/// </summary>
public class SkillChoiceHandler : MonoBehaviour
{
    [Header("UI Elements")]
    [SerializeField] private Image spriteImage;
    [SerializeField] private TextMeshProUGUI effectText;
    [SerializeField] private Button button;

    private object retainedObject;
    private SkillSO retainedData;

    public void InjectInformation(Sprite spriteImage, string effectText, object retainedObject, SkillSO retainedData)
    {
        this.spriteImage.sprite     = spriteImage;
        this.effectText.text        = effectText;
        this.retainedObject         = retainedObject;
        this.retainedData           = retainedData;

        button.onClick.AddListener(() =>
        {
            SendChoiceToManager();
        });
    }

    private void SendChoiceToManager()
    {
        if (retainedObject is not int)
            SkillTreeManager.Instance.ChoiceMade(retainedObject);
        else
            SkillTreeManager.Instance.ChoiceMade(retainedObject, retainedData);
    }
}