Enable nullability in Content.Server (#3685)
This commit is contained in:
@@ -9,7 +9,8 @@ namespace Content.Server.AI.Utility.Considerations.ActionBlocker
|
||||
protected override float GetScore(Blackboard context)
|
||||
{
|
||||
var self = context.GetState<SelfState>().GetValue();
|
||||
if (!ActionBlockerSystem.CanMove(self))
|
||||
|
||||
if (self == null || !ActionBlockerSystem.CanMove(self))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Content.Server.AI.Utility.Considerations.Clothing
|
||||
|
||||
foreach (var entity in context.GetState<EnumerableInventoryState>().GetValue())
|
||||
{
|
||||
if (!entity.TryGetComponent(out ClothingComponent clothingComponent))
|
||||
if (!entity.TryGetComponent(out ClothingComponent? clothingComponent))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat.Melee
|
||||
{
|
||||
protected override float GetScore(Blackboard context)
|
||||
{
|
||||
return context.GetState<SelfState>().GetValue().HasComponent<UnarmedCombatComponent>() ? 1.0f : 0.0f;
|
||||
return context.GetState<SelfState>().GetValue()?.HasComponent<UnarmedCombatComponent>() ?? false ? 1.0f : 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat.Melee
|
||||
{
|
||||
var target = context.GetState<WeaponEntityState>().GetValue();
|
||||
|
||||
if (target == null || !target.TryGetComponent(out MeleeWeaponComponent meleeWeaponComponent))
|
||||
if (target == null || !target.TryGetComponent(out MeleeWeaponComponent? meleeWeaponComponent))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat.Melee
|
||||
{
|
||||
var target = context.GetState<WeaponEntityState>().GetValue();
|
||||
|
||||
if (target == null || !target.TryGetComponent(out MeleeWeaponComponent meleeWeaponComponent))
|
||||
if (target == null || !target.TryGetComponent(out MeleeWeaponComponent? meleeWeaponComponent))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat
|
||||
{
|
||||
var target = context.GetState<TargetEntityState>().GetValue();
|
||||
|
||||
if (target == null || target.Deleted || !target.TryGetComponent(out IDamageableComponent damageableComponent))
|
||||
if (target == null || target.Deleted || !target.TryGetComponent(out IDamageableComponent? damageableComponent))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat
|
||||
{
|
||||
var target = context.GetState<TargetEntityState>().GetValue();
|
||||
|
||||
if (target == null || !target.TryGetComponent(out IMobStateComponent mobState))
|
||||
if (target == null || !target.TryGetComponent(out IMobStateComponent? mobState))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat
|
||||
{
|
||||
var target = context.GetState<TargetEntityState>().GetValue();
|
||||
|
||||
if (target == null || !target.TryGetComponent(out IMobStateComponent mobState))
|
||||
if (target == null || !target.TryGetComponent(out IMobStateComponent? mobState))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Content.Server.AI.Utility.Considerations.Containers
|
||||
|
||||
if (target.TryGetContainer(out var container))
|
||||
{
|
||||
if (container.Owner.TryGetComponent(out EntityStorageComponent storageComponent))
|
||||
if (container.Owner.TryGetComponent(out EntityStorageComponent? storageComponent))
|
||||
{
|
||||
if (storageComponent.IsWeldedShut && !storageComponent.Open)
|
||||
{
|
||||
@@ -41,6 +41,11 @@ namespace Content.Server.AI.Utility.Considerations.Containers
|
||||
|
||||
var owner = context.GetState<SelfState>().GetValue();
|
||||
|
||||
if (owner == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return EntitySystem.Get<AiReachableSystem>().CanAccess(owner, target, SharedInteractionSystem.InteractionRange) ? 1.0f : 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Hands
|
||||
{
|
||||
var owner = context.GetState<SelfState>().GetValue();
|
||||
|
||||
if (!owner.TryGetComponent(out HandsComponent handsComponent))
|
||||
if (owner == null || !owner.TryGetComponent(out HandsComponent? handsComponent))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Content.Server.AI.Utility.Considerations.Movement
|
||||
{
|
||||
var self = context.GetState<SelfState>().GetValue();
|
||||
var target = context.GetState<TargetEntityState>().GetValue();
|
||||
if (target == null || target.Deleted || target.Transform.GridID != self.Transform.GridID)
|
||||
if (target == null || target.Deleted || target.Transform.GridID != self?.Transform.GridID)
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Drink
|
||||
{
|
||||
var target = context.GetState<TargetEntityState>().GetValue();
|
||||
|
||||
if (target.Deleted || !target.TryGetComponent(out SolutionContainerComponent drink))
|
||||
if (target == null || target.Deleted || !target.TryGetComponent(out SolutionContainerComponent? drink))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Drink
|
||||
{
|
||||
var owner = context.GetState<SelfState>().GetValue();
|
||||
|
||||
if (!owner.TryGetComponent(out ThirstComponent thirst))
|
||||
if (owner == null || !owner.TryGetComponent(out ThirstComponent? thirst))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Food
|
||||
{
|
||||
var target = context.GetState<TargetEntityState>().GetValue();
|
||||
|
||||
if (target.Deleted || !target.TryGetComponent(out SolutionContainerComponent food))
|
||||
if (target == null || target.Deleted || !target.TryGetComponent(out SolutionContainerComponent? food))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Food
|
||||
{
|
||||
var owner = context.GetState<SelfState>().GetValue();
|
||||
|
||||
if (!owner.TryGetComponent(out HungerComponent hunger))
|
||||
if (owner == null || !owner.TryGetComponent(out HungerComponent? hunger))
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -17,12 +17,18 @@ namespace Content.Server.AI.Utility.Considerations.State
|
||||
context.GetState<StoredStateIsNullState>().SetValue(type);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
protected override float GetScore(Blackboard context)
|
||||
{
|
||||
var stateData = context.GetState<StoredStateIsNullState>().GetValue();
|
||||
|
||||
if (stateData == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
context.GetStoredState(stateData, out StoredStateData<IEntity> state);
|
||||
return state.GetValue() == null ? 1.0f : 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user