public HeroArchetypeData(ArchetypeBase archetype, HeroData hero)
 {
     Id                   = Guid.NewGuid();
     Base                 = archetype;
     this.hero            = hero;
     AvailableAbilityList = new ArchetypeLeveledAbilityList();
     InitializeArchetypeData();
 }
    public HeroArchetypeData(SaveData.HeroArchetypeSaveData archetypeSaveData, HeroData hero)
    {
        Id                   = archetypeSaveData.id;
        Base                 = ResourceManager.Instance.GetArchetypeBase(archetypeSaveData.archetypeId);
        this.hero            = hero;
        AvailableAbilityList = new ArchetypeLeveledAbilityList();
        InitializeArchetypeData();

        foreach (var nodeSaveData in archetypeSaveData.nodeLevelData)
        {
            if (nodeSaveData.level == 0)
            {
                continue;
            }
            LoadNodeLevelsFromSave(Base.GetNode(nodeSaveData.nodeId), nodeLevels[nodeSaveData.nodeId], nodeSaveData.level);
        }
    }