Example #1
0
 private void RegisterUplinkListing(UplinkListingData listing)
 {
     if (!ContainsListing(listing))
     {
         _listings.Add(listing);
     }
 }
Example #2
0
        public void Initialize()
        {
            _listings = new List <UplinkListingData>();
            foreach (var item in _prototypeManager.EnumeratePrototypes <UplinkStoreListingPrototype>())
            {
                var newListing = new UplinkListingData(item.ListingName, item.ItemId, item.Price, item.Category,
                                                       item.Description);

                RegisterUplinkListing(newListing);
            }

            _accounts = new List <UplinkAccount>();
        }
Example #3
0
        public bool TryPurchaseItem(UplinkAccount acc, UplinkListingData listing)
        {
            if (acc == null || listing == null)
            {
                return(false);
            }
            if (!ContainsListing(listing) || acc.Balance < listing.Price)
            {
                return(false);
            }

            var player = _entityManager.GetEntity(acc.AccountHolder);
            var hands  = player.GetComponent <HandsComponent>();

            hands.PutInHandOrDrop(_entityManager.SpawnEntity(listing.ItemId,
                                                             player.Transform.GridPosition).GetComponent <ItemComponent>());
            return(ChangeBalance(acc, -listing.Price));
        }
Example #4
0
 private bool ContainsListing(UplinkListingData listing)
 {
     return(_listings.Any(otherListing => listing.Equals(otherListing)));
 }
 private bool ContainsListing(UplinkListingData listing)
 {
     return(_listings.ContainsKey(listing.ItemId));
 }