private void RegisterUplinkListing(UplinkListingData listing) { if (!ContainsListing(listing)) { _listings.Add(listing); } }
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>(); }
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)); }
private bool ContainsListing(UplinkListingData listing) { return(_listings.Any(otherListing => listing.Equals(otherListing))); }
private bool ContainsListing(UplinkListingData listing) { return(_listings.ContainsKey(listing.ItemId)); }