public bool HireAgent(AgentConfig agentConfig)
    {
        if (player.UseGold(agentConfig.GetCost()))
        {
            GameObject agent          = Instantiate(agentConfig.GetAgentPrefab(), player.transform.Find("Agents"));
            Agent      agentComponent = agent.GetComponent <Agent>();
            agentComponent.SetPlayer(player);

            agent.transform.position = this.transform.position + RandomDirection();
            agentComponent.SetAgentName("Agent Smith");
            foreach (AbilityConfig ability in agentConfig.GetAbilities())
            {
                agentComponent.AddAbility(ability);
            }
            agentComponent.SetPortrait(agentConfig.GetRandomPortrait());
            player.AddAgent(agent);

            return(true);
        }
        else
        {
            return(false);
        }
    }