public void UpdateProvisionPriority(ResourcePackage resourcePackage, RequestPriority priority) { var provisions = Provisions.ToArray(); foreach (var provision in provisions) { if (provision == resourcePackage) { Provisions.UpdatePriority(provision, priority); } } }
public ResourcePackage RequestResource(Structure requestingStructure, ResourceType resourceType, RequestPriority priority) { var providedPackage = Provisions.Dequeue(resourceType, rp => HasPathFilter(rp.StartStructure, requestingStructure)); if (providedPackage != null) { providedPackage.DestinationStructure = requestingStructure; providedPackage.SpecifyResourceType(resourceType); providedPackage.Move(); return(providedPackage); } var resourcePackage = new ResourcePackage(resourceType, World.PathFinder, World.GameSettings.GameplaySettings) { DestinationStructure = requestingStructure }; AddPackage(resourcePackage); Requests.Enqueue(resourcePackage, priority); return(resourcePackage); }
private void ProcessProvisionsUse(Provisions provisions) { if (provisions.Id == 22 && _player.Lives < 3) { _player.Lives += provisions.Value; _player.ExperiencePoints += provisions.ExperiencePoints; } else if (provisions.Id != 22 && _player.Health < 100) { _player.ExperiencePoints += provisions.ExperiencePoints; _player.Health += provisions.Value; if (_player.Health > 100) { _player.Health = 100; } } else { } OnPropertyChanged(nameof(Player)); OnPropertyChanged(nameof(GameItem)); }
private void GetDays() { using (SqlConnection connection = new SqlConnection( Properties.Settings.Default.connectionString)) { using (SqlCommand command = connection.CreateCommand()) { command.CommandType = System.Data.CommandType.StoredProcedure; command.CommandText = "p_get_user_days"; SqlParameter dp = command.Parameters.Add("@UserId", SqlDbType.VarChar); dp.Value = _user.Id; dp = command.Parameters.Add("@ProvisionId", SqlDbType.VarChar); dp.Value = SelectedProvision is null ? null : SelectedProvision.Id.ToString(); connection.Open(); using (SqlDataReader dataReader = command.ExecuteReader()) { if (dataReader.HasRows) { int idx_Date = dataReader.GetOrdinal("Date"); int idx_ProvisionName = dataReader.GetOrdinal("ProvisionName"); int idx_Status = dataReader.GetOrdinal("Status"); int idx_Id = dataReader.GetOrdinal("Id"); int idx_Description = dataReader.GetOrdinal("Description"); Days = new ObservableCollection <Day>(); while (dataReader.Read()) { var day = new Day(); if (!dataReader.IsDBNull(idx_Date)) { day.Date = dataReader.GetDateTime(idx_Date); } if (!dataReader.IsDBNull(idx_ProvisionName)) { day.ProvisionName = dataReader.GetString(idx_ProvisionName); } if (!dataReader.IsDBNull(idx_Status)) { day.Status = dataReader.GetString(idx_Status); } if (!dataReader.IsDBNull(idx_Id)) { day.Id = dataReader.GetGuid(idx_Id); } if (!dataReader.IsDBNull(idx_Description)) { day.Description = dataReader.GetString(idx_Description); } Day.Statuses = Statuses; Day.Provisions = Provisions.Select(p => p.Name).ToList(); Days.Add(day); } DaysGrid.DataContext = Days; } else { Day.Statuses = Statuses; Day.Provisions = Provisions.Select(p => p.Name).ToList(); Days = new ObservableCollection <Day>(); DaysGrid.DataContext = Days; } } } } }