Build 1.1.4.0

This commit is contained in:
Markus Isberg
2023-03-31 18:40:44 +03:00
parent efba17e0ff
commit 9470edead3
483 changed files with 17487 additions and 8548 deletions
@@ -21,7 +21,7 @@ namespace Barotrauma
protected object? value2;
protected object? value1;
protected PropertyConditional.OperatorType Operator { get; set; }
protected PropertyConditional.ComparisonOperatorType Operator { get; set; }
public CheckDataAction(ScriptedEvent parentEvent, ContentXElement element) : base(parentEvent, element)
{
@@ -56,23 +56,13 @@ namespace Barotrauma
{
if (GameMain.GameSession?.GameMode is not CampaignMode campaignMode) { return false; }
string[] splitString = Condition.Split(' ');
string value;
if (splitString.Length > 0)
(Operator, string value) = PropertyConditional.ExtractComparisonOperatorFromConditionString(Condition);
if (Operator == PropertyConditional.ComparisonOperatorType.None)
{
//the first part of the string is the operator, skip it
value = string.Join(" ", splitString.Skip(1));
}
else
{
DebugConsole.ThrowError($"{Condition} is too short, it should start with an operator followed by a boolean or a floating point value.");
DebugConsole.ThrowError($"{Condition} is invalid, it should start with an operator followed by a boolean or a floating point value.");
return false;
}
string op = splitString[0];
Operator = PropertyConditional.GetOperatorType(op);
if (Operator == PropertyConditional.OperatorType.None) { return false; }
if (CheckAgainstMetadata)
{
object? metadata1 = campaignMode.CampaignMetadata.GetValue(Identifier);
@@ -82,8 +72,8 @@ namespace Barotrauma
{
return Operator switch
{
PropertyConditional.OperatorType.Equals => metadata1 == metadata2,
PropertyConditional.OperatorType.NotEquals => metadata1 != metadata2,
PropertyConditional.ComparisonOperatorType.Equals => metadata1 == metadata2,
PropertyConditional.ComparisonOperatorType.NotEquals => metadata1 != metadata2,
_ => false
};
}
@@ -139,9 +129,9 @@ namespace Barotrauma
value2 = val2;
switch (Operator)
{
case PropertyConditional.OperatorType.Equals:
case PropertyConditional.ComparisonOperatorType.Equals:
return val1 == val2;
case PropertyConditional.OperatorType.NotEquals:
case PropertyConditional.ComparisonOperatorType.NotEquals:
return val1 != val2;
default:
DebugConsole.Log($"Only \"Equals\" and \"Not equals\" operators are allowed for a boolean (was {Operator} for {val2}).");
@@ -166,17 +156,17 @@ namespace Barotrauma
value2 = val2;
switch (Operator)
{
case PropertyConditional.OperatorType.Equals:
case PropertyConditional.ComparisonOperatorType.Equals:
return MathUtils.NearlyEqual(val1, val2);
case PropertyConditional.OperatorType.GreaterThan:
case PropertyConditional.ComparisonOperatorType.GreaterThan:
return val1 > val2;
case PropertyConditional.OperatorType.GreaterThanEquals:
case PropertyConditional.ComparisonOperatorType.GreaterThanEquals:
return val1 >= val2;
case PropertyConditional.OperatorType.LessThan:
case PropertyConditional.ComparisonOperatorType.LessThan:
return val1 < val2;
case PropertyConditional.OperatorType.LessThanEquals:
case PropertyConditional.ComparisonOperatorType.LessThanEquals:
return val1 <= val2;
case PropertyConditional.OperatorType.NotEquals:
case PropertyConditional.ComparisonOperatorType.NotEquals:
return !MathUtils.NearlyEqual(val1, val2);
}
@@ -195,9 +185,9 @@ namespace Barotrauma
bool equals = string.Equals(val1, val2, StringComparison.OrdinalIgnoreCase);
switch (Operator)
{
case PropertyConditional.OperatorType.Equals:
case PropertyConditional.ComparisonOperatorType.Equals:
return equals;
case PropertyConditional.OperatorType.NotEquals:
case PropertyConditional.ComparisonOperatorType.NotEquals:
return !equals;
default:
DebugConsole.Log($"Only \"Equals\" and \"Not equals\" operators are allowed for a string (was {Operator} for {val2}).");