Enable nullability in Content.Server (#3685)
This commit is contained in:
@@ -13,7 +13,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.Gloves
|
||||
{
|
||||
public sealed class EquipGloves : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.Gloves
|
||||
{
|
||||
public sealed class PickUpGloves : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.Head
|
||||
{
|
||||
public sealed class EquipHead : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.Head
|
||||
{
|
||||
public sealed class PickUpHead : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.OuterClothing
|
||||
{
|
||||
public sealed class EquipOuterClothing : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.OuterClothing
|
||||
{
|
||||
public sealed class PickUpOuterClothing : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.Shoes
|
||||
{
|
||||
public sealed class EquipShoes : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Server.AI.Utility.Actions.Clothing.Shoes
|
||||
{
|
||||
public sealed class PickUpShoes : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Content.Server.AI.Utility.Actions.Combat.Melee
|
||||
{
|
||||
public sealed class EquipMelee : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -21,13 +21,13 @@ namespace Content.Server.AI.Utility.Actions.Combat.Melee
|
||||
{
|
||||
public sealed class MeleeWeaponAttackEntity : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
MoveToEntityOperator moveOperator;
|
||||
var equipped = context.GetState<EquippedEntityState>().GetValue();
|
||||
if (equipped != null && equipped.TryGetComponent(out MeleeWeaponComponent meleeWeaponComponent))
|
||||
if (equipped != null && equipped.TryGetComponent(out MeleeWeaponComponent? meleeWeaponComponent))
|
||||
{
|
||||
moveOperator = new MoveToEntityOperator(Owner, Target, meleeWeaponComponent.Range - 0.01f);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Content.Server.AI.Utility.Actions.Combat.Melee
|
||||
{
|
||||
public sealed class PickUpMeleeWeapon : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -19,12 +19,12 @@ namespace Content.Server.AI.Utility.Actions.Combat.Melee
|
||||
{
|
||||
public sealed class UnarmedAttackEntity : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
MoveToEntityOperator moveOperator;
|
||||
if (Owner.TryGetComponent(out UnarmedCombatComponent unarmedCombatComponent))
|
||||
if (Owner.TryGetComponent(out UnarmedCombatComponent? unarmedCombatComponent))
|
||||
{
|
||||
moveOperator = new MoveToEntityOperator(Owner, Target, unarmedCombatComponent.Range - 0.01f);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ using Content.Server.AI.Utility.Considerations.State;
|
||||
using Content.Server.AI.WorldState;
|
||||
using Content.Server.AI.WorldState.States;
|
||||
using Content.Server.AI.WorldState.States.Inventory;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
|
||||
namespace Content.Server.AI.Utility.Actions.Idle
|
||||
@@ -26,6 +25,16 @@ namespace Content.Server.AI.Utility.Actions.Idle
|
||||
{
|
||||
var lastStorage = context.GetState<LastOpenedStorageState>().GetValue();
|
||||
|
||||
if (lastStorage == null)
|
||||
{
|
||||
ActionOperators = new Queue<AiOperator>(new AiOperator[]
|
||||
{
|
||||
new CloseLastStorageOperator(Owner),
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
ActionOperators = new Queue<AiOperator>(new AiOperator[]
|
||||
{
|
||||
new MoveToEntityOperator(Owner, lastStorage),
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Server.AI.Utility.Actions.Nutrition.Drink
|
||||
{
|
||||
public sealed class PickUpDrink : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Content.Server.AI.Utility.Actions.Nutrition.Drink
|
||||
{
|
||||
public sealed class UseDrinkInInventory : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Server.AI.Utility.Actions.Nutrition.Food
|
||||
{
|
||||
public sealed class PickUpFood : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Content.Server.AI.Utility.Actions.Nutrition.Food
|
||||
{
|
||||
public sealed class UseFoodInInventory : UtilityAction
|
||||
{
|
||||
public IEntity Target { get; set; }
|
||||
public IEntity Target { get; set; } = default!;
|
||||
|
||||
public override void SetupOperators(Blackboard context)
|
||||
{
|
||||
|
||||
@@ -59,7 +59,11 @@ namespace Content.Server.AI.Utility.Actions
|
||||
protected virtual void UpdateBlackboard(Blackboard context) {}
|
||||
|
||||
// Needs to be able to be instantiated without args via typefactory.
|
||||
public UtilityAction() {}
|
||||
public UtilityAction()
|
||||
{
|
||||
Owner = default!;
|
||||
ActionOperators = default!;
|
||||
}
|
||||
|
||||
public virtual void Shutdown() {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user