private void Awake()
    {
        Service = SkillsViewerService.GetInstance();
        Heroes  = Service.Heroes;

        if (Heroes == null || Heroes.Length == 0)
        {
            throw new HeroesInvalidArgumentException();
        }

        SkillService = SkillService.GetInstance();
        HeroService  = HeroService.GetInstance();

        CurrentHeroIndex     = 0;
        LastCurrentHeroIndex = -1;
        SelectedSkillIndex   = -1;

        SelectKnowledge = GameObject.FindGameObjectWithTag("SelectKnowledge");
        SelectKnowledge.transform.localScale = new Vector3(0, 0, 0);

        SkillTitle       = GameObject.FindGameObjectWithTag("Skill_tittle").GetComponent <Text>();
        SkillDescription = GameObject.FindGameObjectWithTag("Skill_description").GetComponent <Text>();

        AddSkillError = GameObject.FindGameObjectWithTag("AddSkillError");
        AddSkillError.transform.localScale = new Vector3(0, 0, 0);
    }