Enable nullability in Content.Server (#3685)

This commit is contained in:
DrSmugleaf
2021-03-16 15:50:20 +01:00
committed by GitHub
parent 90fec0ed24
commit a5ade526b7
306 changed files with 1616 additions and 1441 deletions

View File

@@ -1,6 +1,4 @@
using Robust.Shared.GameObjects;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.ViewVariables;
@@ -13,6 +11,6 @@ namespace Content.Server.GameObjects.Components.Construction
[ViewVariables]
[DataField("prototype")]
public string Prototype { get; private set; }
public string? Prototype { get; private set; }
}
}

View File

@@ -22,27 +22,23 @@ namespace Content.Server.GameObjects.Components.Construction
[ViewVariables]
[DataField("requirements")]
private Dictionary<MachinePart, int> _requirements = new();
public readonly Dictionary<MachinePart, int> Requirements = new();
[ViewVariables]
[DataField("materialRequirements")]
private Dictionary<string, int> _materialIdRequirements = new();
public readonly Dictionary<string, int> MaterialIdRequirements = new();
[ViewVariables]
[DataField("tagRequirements")]
private Dictionary<string, GenericPartInfo> _tagRequirements = new();
public readonly Dictionary<string, GenericPartInfo> TagRequirements = new();
[ViewVariables]
[DataField("componentRequirements")]
private Dictionary<string, GenericPartInfo> _componentRequirements = new();
public readonly Dictionary<string, GenericPartInfo> ComponentRequirements = new();
[ViewVariables(VVAccess.ReadWrite)]
[DataField("prototype")]
public string Prototype { get; private set; }
public IReadOnlyDictionary<MachinePart, int> Requirements => _requirements;
public IReadOnlyDictionary<string, int> MaterialIdRequirements => _materialIdRequirements;
public string? Prototype { get; private set; }
public IEnumerable<KeyValuePair<StackPrototype, int>> MaterialRequirements
{
@@ -56,10 +52,6 @@ namespace Content.Server.GameObjects.Components.Construction
}
}
public IReadOnlyDictionary<string, GenericPartInfo> ComponentRequirements => _componentRequirements;
public IReadOnlyDictionary<string, GenericPartInfo> TagRequirements => _tagRequirements;
public void Examine(FormattedMessage message, bool inDetailsRange)
{
message.AddMarkup(Loc.GetString("Requires:\n"));

View File

@@ -2,11 +2,8 @@
using System.Collections.Generic;
using Content.Server.Construction;
using Content.Server.Interfaces.GameObjects;
using Robust.Server.GameObjects;
using Robust.Shared.Containers;
using Robust.Shared.GameObjects;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Server.GameObjects.Components.Construction
@@ -17,10 +14,10 @@ namespace Content.Server.GameObjects.Components.Construction
public override string Name => "Machine";
[DataField("board")]
public string BoardPrototype { get; private set; }
public string? BoardPrototype { get; private set; }
private Container _boardContainer;
private Container _partContainer;
private Container _boardContainer = default!;
private Container _partContainer = default!;
public override void Initialize()
{

View File

@@ -75,28 +75,39 @@ namespace Content.Server.GameObjects.Components.Construction
private readonly Dictionary<string, int> _tagProgress = new();
[ViewVariables]
private Container _boardContainer;
private Dictionary<MachinePart, int> _requirements = new();
[ViewVariables]
private Container _partContainer;
private Dictionary<string, int> _materialRequirements = new();
[ViewVariables]
public IReadOnlyDictionary<MachinePart, int> Requirements { get; private set; }
private Dictionary<string, GenericPartInfo> _componentRequirements = new();
[ViewVariables]
public IReadOnlyDictionary<string, int> MaterialRequirements { get; private set; }
private Dictionary<string, GenericPartInfo> _tagRequirements = new();
[ViewVariables]
public IReadOnlyDictionary<string, GenericPartInfo> ComponentRequirements { get; private set; }
private Container _boardContainer = default!;
[ViewVariables]
public IReadOnlyDictionary<string, GenericPartInfo> TagRequirements { get; private set; }
private Container _partContainer = default!;
public IReadOnlyDictionary<MachinePart, int> Progress => _progress;
public IReadOnlyDictionary<string, int> MaterialProgress => _materialProgress;
public IReadOnlyDictionary<string, int> ComponentProgress => _componentProgress;
public IReadOnlyDictionary<string, int> TagProgress => _tagProgress;
public IReadOnlyDictionary<MachinePart, int> Requirements => _requirements;
public IReadOnlyDictionary<string, int> MaterialRequirements => _materialRequirements;
public IReadOnlyDictionary<string, GenericPartInfo> ComponentRequirements => _componentRequirements;
public IReadOnlyDictionary<string, GenericPartInfo> TagRequirements => _tagRequirements;
public override void Initialize()
{
base.Initialize();
@@ -120,10 +131,10 @@ namespace Content.Server.GameObjects.Components.Construction
private void ResetProgressAndRequirements(MachineBoardComponent machineBoard)
{
Requirements = machineBoard.Requirements;
MaterialRequirements = machineBoard.MaterialIdRequirements;
ComponentRequirements = machineBoard.ComponentRequirements;
TagRequirements = machineBoard.TagRequirements;
_requirements = machineBoard.Requirements;
_materialRequirements = machineBoard.MaterialIdRequirements;
_componentRequirements = machineBoard.ComponentRequirements;
_tagRequirements = machineBoard.TagRequirements;
_progress.Clear();
_materialProgress.Clear();
@@ -153,7 +164,7 @@ namespace Content.Server.GameObjects.Components.Construction
public void RegenerateProgress()
{
AppearanceComponent appearance;
AppearanceComponent? appearance;
if (!HasBoard)
{
@@ -162,10 +173,10 @@ namespace Content.Server.GameObjects.Components.Construction
appearance.SetData(MachineFrameVisuals.State, 1);
}
Requirements = null;
MaterialRequirements = null;
ComponentRequirements = null;
TagRequirements = null;
_requirements.Clear();
_materialRequirements.Clear();
_componentRequirements.Clear();
_tagRequirements.Clear();
_progress.Clear();
_materialProgress.Clear();
_componentProgress.Clear();
@@ -258,7 +269,7 @@ namespace Content.Server.GameObjects.Components.Construction
appearance.SetData(MachineFrameVisuals.State, 2);
}
if (Owner.TryGetComponent(out ConstructionComponent construction))
if (Owner.TryGetComponent(out ConstructionComponent? construction))
{
// So prying the components off works correctly.
construction.ResetEdge();