public ResourceAmountSlot AddSlot() { var slot = new ResourceAmountSlot(); _collection.Add(slot); return(slot); }
public void Add_ValidItem_ItemAdded_And_EventRaised() { _collection.CollectionChanged += (object sender, NotifyCollectionChangedEventArgs e) => Assert.AreEqual(NotifyCollectionChangedAction.Add, e.Action); var slot = new ResourceAmountSlot(3000000, 1000); Assert.AreEqual(0, _collection.Count); _collection.Add(slot); Assert.AreEqual(1, _collection.Count); }
private async Task <LevelSave> InternalNewLevelAsync(long userId, string userToken, CancellationToken cancellationToken) { var save = Server.Factories.GetFactory <LevelSaveFactory>().Create(); save.DateCreated = DateTime.UtcNow; save.UserId = userId; save.Token = userToken; // Prevent client from crashing. // Because a name == null, will cause the client to crash. save.Name = GetRandomName(); save.Gems = _startingGems; save.FreeGems = _startingGems; // Prevent client from crashing. // Because a level less than 1 will cause the client to crash. save.ExpLevels = 1; save.LevelJson = _startingVillage; // Skip the initial tutorials. var tutorialProgress = new TutorialProgressSlot[10]; for (int i = 0; i < 10; i++) { tutorialProgress[i] = new TutorialProgressSlot(21000000 + i); } var resourceAmount = new ResourceAmountSlot[] { new ResourceAmountSlot(_goldId, _startingGold), new ResourceAmountSlot(_elixirId, _startingElixir), new ResourceAmountSlot(_gemsId, _startingGems) }; save.TutorialProgress = tutorialProgress; save.ResourcesAmount = resourceAmount; // Save LevelSave to set the ID using the AutoId stuff. await InternalSaveLevelAsync(save, true, cancellationToken); Interlocked.Increment(ref _levelCount); return(save); }