示例#1
0
        public override Texture2D GetIcon(GraphicsDevice gd, int store)
        {
            Outfit ThumbOutfit  = (Avatar.Head == null) ? Avatar.Body : Avatar.Head;
            var    AppearanceID = ThumbOutfit.GetAppearance(Avatar.Appearance);
            var    Appearance   = FSO.Content.Content.Get().AvatarAppearances.Get(AppearanceID);

            return(FSO.Content.Content.Get().AvatarThumbnails.Get(Appearance.ThumbnailTypeID, Appearance.ThumbnailFileID));
        }
        public static void LoadSim3D(Sim sim, Outfit OutfHead, AppearanceType skin)
        {
            var Apr = new Appearance(ContentManager.GetResourceFromLongID(OutfHead.GetAppearance(skin)));
            var Bnd = new Binding(ContentManager.GetResourceFromLongID(Apr.BindingIDs[0]));

            sim.HeadTexture = GetOutfitTexture(Bnd.TextureAssetID);
            sim.HeadMesh    = GetOutfitMesh(sim.SimSkeleton, Bnd.MeshAssetID);
        }
示例#3
0
        public override Texture2D GetIcon(GraphicsDevice gd, int store)
        {
            if (Avatar.Head == null && Avatar.Body == null)
            {
                return(null);
            }
            Outfit ThumbOutfit  = (Avatar.Head == null) ? Avatar.Body : Avatar.Head;
            var    AppearanceID = ThumbOutfit.GetAppearance(Avatar.Appearance);
            var    Appearance   = FSO.Content.Content.Get().AvatarAppearances.Get(AppearanceID);

            if (Appearance == null)
            {
                return(null);
            }
            var ico = FSO.Content.Content.Get().AvatarThumbnails.Get(Appearance.ThumbnailTypeID, Appearance.ThumbnailFileID)?.Get(gd);

            //todo: better dispose handling for these icons
            return((store > 0 && ico != null)?TextureUtils.Decimate(ico, gd, 1 << (2 - store)):ico);
        }
示例#4
0
        private List <object> CollectionToDataProvider(Collection collection)
        {
            var dataProvider = new List <object>();

            foreach (var outfit in collection)
            {
                Outfit TmpOutfit = new Outfit(ContentManager.GetResourceFromLongID(
                                                  outfit.PurchasableOutfit.OutfitID));
                Appearance TmpAppearance = new Appearance(ContentManager.GetResourceFromLongID(
                                                              TmpOutfit.GetAppearance(AppearanceType)));
                ulong thumbID = TmpAppearance.ThumbnailID;

                dataProvider.Add(new UIGridViewerItem {
                    Data  = outfit,
                    Thumb = new TSOClient.Code.Utils.Promise <Texture2D>(x => GetTexture(thumbID))
                });
            }
            return(dataProvider);
        }
示例#5
0
        public override Texture2D GetIcon(GraphicsDevice gd, int store)
        {
            var icon = new Texture2D(gd, 0, 0);

            if (Avatar.Head == null && Avatar.Body == null)
            {
                return(null);
            }
            Outfit ThumbOutfit  = (Avatar.Head == null) ? Avatar.Body : Avatar.Head;
            var    AppearanceID = ThumbOutfit.GetAppearance(Avatar.Appearance);
            var    Appearance   = FSO.Content.Content.Get().AvatarAppearances.Get(AppearanceID);

            if (IsPet)
            {
                icon = UIIconCache.GetObject(this);
            }
            else
            {
                icon = FSO.Content.Content.Get().AvatarThumbnails.Get(Appearance.ThumbnailTypeID, Appearance.ThumbnailFileID).Get(gd);
            }


            return(icon);
        }
示例#6
0
        private List <object> CollectionToDataProvider(Collection collection)
        {
            var dataProvider = new List <object>();

            foreach (var outfit in collection)
            {
                var        purchasable               = Content.Content.Get().AvatarPurchasables.Get(outfit.PurchasableOutfitId);
                Outfit     TmpOutfit                 = Content.Content.Get().AvatarOutfits.Get(purchasable.OutfitID);
                Appearance TmpAppearance             = Content.Content.Get().AvatarAppearances.Get(TmpOutfit.GetAppearance(AppearanceType));
                FSO.Common.Content.ContentID thumbID = TmpAppearance.ThumbnailID;

                dataProvider.Add(new UIGridViewerItem {
                    Data  = outfit,
                    Thumb = new Promise <Texture2D>(x => Content.Content.Get().AvatarThumbnails.Get(thumbID.TypeID, thumbID.FileID).Get(GameFacade.GraphicsDevice))
                });
            }
            return(dataProvider);
        }
示例#7
0
        private List <object> RackOutfitsToDataProvider(RackOutfits outfits)
        {
            var appearanceType = GetAppearanceType();
            var dataProvider   = new List <object>();

            foreach (var outfit in outfits.Outfits.OrderBy(x => x.Price))
            {
                if (outfit.Gender != SelectedGender)
                {
                    continue;
                }

                Outfit TmpOutfit = Content.Content.Get().AvatarOutfits.Get(outfit.AssetID);
                if (TmpOutfit == null)
                {
                    continue;
                }
                Appearance TmpAppearance             = Content.Content.Get().AvatarAppearances.Get(TmpOutfit.GetAppearance(appearanceType));
                FSO.Common.Content.ContentID thumbID = TmpAppearance.ThumbnailID;

                dataProvider.Add(new UIGridViewerItem
                {
                    Data  = outfit,
                    Thumb = new Promise <Texture2D>(x => Content.Content.Get().AvatarThumbnails.Get(thumbID).Get(GameFacade.GraphicsDevice))
                });
            }
            return(dataProvider);
        }
示例#8
0
        protected virtual void ShowStock(string evt, byte[] body)
        {
            var packet = IoBufferUtils.Deserialize <VMEODRackStockResponse>(body, null);

            Stock = packet.Outfits;
            var appearanceType = GetAppearanceType();

            var dataProvider = new List <object>();

            foreach (var outfit in Stock)
            {
                //TODO: Use current avatars appearance type
                Outfit     TmpOutfit                 = Content.Content.Get().AvatarOutfits.Get(outfit.asset_id);
                Appearance TmpAppearance             = Content.Content.Get().AvatarAppearances.Get(TmpOutfit.GetAppearance(appearanceType));
                FSO.Common.Content.ContentID thumbID = TmpAppearance.ThumbnailID;

                dataProvider.Add(new UIGridViewerItem {
                    Data  = outfit,
                    Thumb = new Promise <Texture2D>(x => Content.Content.Get().AvatarThumbnails.Get(thumbID).Get(GameFacade.GraphicsDevice))
                });
            }
            OutfitBrowser.DataProvider = dataProvider;
            UpdateUIState();
        }
示例#9
0
        private void UpdateDataProvider()
        {
            if (Outfits == null)
            {
                return;
            }
            var dataProvider      = new List <object>();
            var outfitsInCategory = Outfits.Where(x => x.outfit_type == (byte)SelectedTab).ToList();
            var appearanceType    = GetAppearanceType();

            foreach (var outfit in outfitsInCategory)
            {
                //TODO: Use current avatars appearance type
                Outfit     TmpOutfit                 = Content.Content.Get().AvatarOutfits.Get(outfit.asset_id);
                Appearance TmpAppearance             = Content.Content.Get().AvatarAppearances.Get(TmpOutfit.GetAppearance(appearanceType));
                FSO.Common.Content.ContentID thumbID = TmpAppearance.ThumbnailID;

                dataProvider.Add(new UIGridViewerItem
                {
                    Data  = outfit,
                    Thumb = new Promise <Texture2D>(x => Content.Content.Get().AvatarThumbnails.Get(thumbID).Get(GameFacade.GraphicsDevice))
                });
            }
            OutfitBrowser.DataProvider = dataProvider;
        }
示例#10
0
 public static Appearance GetAppearanceObject(this Outfit outfit, AppearanceType type)
 {
     return(SimCatalog.GetAppearance(outfit.GetAppearance(type)));
 }
示例#11
0
        /*
         * Shamelessly copied from Fso.Client.UI.Screens.PersonSelectionEdit.cs
         */
        private List <object> CollectionToDataProvider(Collection collection)
        {
            var dataProvider = new List <object>();

            foreach (var outfit in collection)
            {
                var        purchasable               = Content.Content.Get().AvatarPurchasables.Get(outfit.PurchasableOutfitId);
                Outfit     TmpOutfit                 = Content.Content.Get().AvatarOutfits.Get(purchasable.OutfitID);
                Appearance TmpAppearance             = Content.Content.Get().AvatarAppearances.Get(TmpOutfit.GetAppearance(UserAppearanceType));
                FSO.Common.Content.ContentID thumbID = TmpAppearance.ThumbnailID;

                dataProvider.Add(new UIGridViewerItem
                {
                    Data  = outfit,
                    Thumb = new Promise <Texture2D>(x => Content.Content.Get().AvatarThumbnails.Get(thumbID).Get(GameFacade.GraphicsDevice))
                });
            }
            // special case for skeleton costume added 23.10.18
            if (IsCostumeTrunk)
            {
                var        skeletonBodyPurchaseable      = Content.Content.Get().AvatarPurchasables.Get(6000069312525);
                var        skeletonBodyOutfit            = Content.Content.Get().AvatarOutfits.Get(6000069312525);
                Appearance TempAppearance                = Content.Content.Get().AvatarAppearances.Get(skeletonBodyOutfit.GetAppearance(UserAppearanceType));
                FSO.Common.Content.ContentID thumbnailID = TempAppearance.ThumbnailID;

                dataProvider.Add(new UIGridViewerItem
                {
                    Data  = skeletonBodyPurchaseable,
                    Thumb = new Promise <Texture2D>(x => Content.Content.Get().AvatarThumbnails.Get(thumbnailID).Get(GameFacade.GraphicsDevice))
                });
            }
            return(dataProvider);
        }