public void initEventButton(EventButtonData eventButton, GameObject eventButtonInstance)
    {
        this.eventButton = eventButton;
        TextMeshProUGUI text = eventButtonInstance.GetComponentInChildren <TextMeshProUGUI>();

        text.text = eventButton.text;
    }
    public EventButtonGameObject getEventButton(EventButtonData eventButtonData)
    {
        GameObject            eventButtonInstance = GameObject.Instantiate(eventButtonPrefab, new Vector3(0, 0, 0), Quaternion.identity);
        EventButtonGameObject eventButtonObject   = eventButtonInstance.GetComponent <EventButtonGameObject>();

        eventButtonObject.initEventButton(eventButtonData, eventButtonInstance);
        eventButtonInstance.transform.SetParent(eventBoardButtons.transform, false);
        return(eventButtonObject);
    }
    public EventButtonData getLeaveButton()
    {
        EventButtonData leaveButton = new EventButtonData();

        leaveButton.text          = "leave";
        leaveButton.onClickAction = () =>
        {
            removeExistingButtons();
            fightManagerService.startFight();
        };
        return(leaveButton);
    }
    public Event getEventFromEnum(EventEnum eventEnum)
    {
        GameData               gameData  = GameData.getInstance();
        Event                  gameEvent = new Event(eventEnum);
        EventData              data      = new EventData();
        EventActions           actions   = new EventActions();
        List <EventButtonData> buttons   = new List <EventButtonData>();

        if (eventEnum == EventEnum.campFire)
        {
            int amountToHeal = (int)(gameData.playerGameObject.playerData.healthBarData.maxHealth * 0.2);
            data.name = "campfire";
            data.text = "The warm glow pulls you in. Rest for a minute.";

            EventButtonData button1 = new EventButtonData();
            button1.text          = "rest - heal 20% of your max HP: " + amountToHeal;
            button1.onClickAction = () =>
            {
                playerService.heal(amountToHeal);
                string text = "you feel rested.";
                eventManagerService.showLeaveButtonAndText(text);
            };
            buttons.Add(button1);
        }
        else if (eventEnum == EventEnum.feast)
        {
            data.name = "Feast";
            data.text = "You stumble across a feast. Why don't you take a seat?";
            EventButtonData button1 = new EventButtonData();

            int amountToHeal = (int)(gameData.playerGameObject.playerData.healthBarData.maxHealth * 0.3);
            button1.text          = "dine - heal 30% of your max HP: " + amountToHeal;
            button1.onClickAction = () =>
            {
                playerService.heal(amountToHeal);
                string text = "You feel revitalised.";
                eventManagerService.showLeaveButtonAndText(text);
            };
            buttons.Add(button1);

            int             amountToIncreaseMaxHealth = 5;
            EventButtonData button2 = new EventButtonData();
            button2.text          = "feast - increase max hp by: " + amountToIncreaseMaxHealth;
            button2.onClickAction = () =>
            {
                playerService.playerData.healthBarData.maxHealth += amountToIncreaseMaxHealth;
                string text = "you feel stronger.";
                eventManagerService.showLeaveButtonAndText(text);
            };
            buttons.Add(button2);
        }
        else if (eventEnum == EventEnum.scavange)
        {
            data.name = "Scavange";
            data.text = "You can see something. Deep down. Buried.";
            EventButtonData button1      = new EventButtonData();
            int             damageToTake = 10;
            button1.text          = "scavange - 50% chance to find an upgrade. 50% chance to take " + damageToTake + "dmg.";
            button1.onClickAction = () =>
            {
                int coinFlip = Random.Range(0, 2);
                if (coinFlip == 0)
                {
                    string text = "You're efforts pay off.";
                    eventManagerService.showLeaveButtonAndText(text);
                }
                else
                {
                    playerService.takeHit(damageToTake);
                    string text = "Well... That hurt.";
                    if (GameData.getInstance().playerGameObject.playerData.healthBarData.currHealth > 0)
                    {
                        eventManagerService.showLeaveButtonAndText(text);
                    }
                }
            };
            buttons.Add(button1);
        }
        else
        {
            throw new System.Exception("invalid event enum provided: " + eventEnum);
        }
        gameEvent.data         = data;
        gameEvent.data.buttons = buttons;
        gameEvent.actions      = actions;
        return(gameEvent);
    }