コード例 #1
0
        private void Init(STUHero hero, ulong key = default)
        {
            STU          = hero;
            GUID         = (teResourceGUID)key;
            Name         = GetString(hero.m_0EDCE350);
            Description  = GetDescriptionString(hero.m_3446F580);
            Class        = GetNullableGUIDName(hero.m_category);
            Gender       = hero.m_gender;
            Size         = hero.m_heroSize;
            GalleryColor = hero.m_heroColor;
            Color        = GalleryColor.ToHex();
            sRGBColor    = GalleryColor.ToNonLinear().ToHex();
            SupportsAi   = hero.m_906C3711 > 0;
            IsHero       = hero.m_62746D34 > 0;

            if (hero.m_heroLoadout != null)
            {
                Loadouts = new List <LoadoutLite>();
                foreach (teResourceGUID loadoutGUID in hero.m_heroLoadout)
                {
                    var loadout = Loadout.GetLoadout(loadoutGUID);
                    if (loadout == null)
                    {
                        continue;
                    }
                    Loadouts.Add(loadout.ToLite());
                }
            }

            // Contains array of various hero images, hero gallery portraits, small hero select icons, etc.
            if (hero.m_8203BFE1 != null)
            {
                Images = new List <HeroImage>();
                foreach (var imageSet in hero.m_8203BFE1)
                {
                    Images.Add(new HeroImage {
                        Id          = imageSet.m_id,
                        TextureGUID = imageSet.m_texture
                    });
                }
            }
        }