Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/CheckMoneyAction.cs
Juan Pablo Arce 0002ad2c50 v0.10.5.1
2020-09-22 11:31:56 -03:00

35 lines
1.1 KiB
C#

using System.Xml.Linq;
namespace Barotrauma
{
class CheckMoneyAction : BinaryOptionAction
{
[Serialize(0, true)]
public int Amount { get; set; }
public CheckMoneyAction(ScriptedEvent parentEvent, XElement element) : base(parentEvent, element)
{
}
protected override bool? DetermineSuccess()
{
if (GameMain.GameSession?.GameMode is CampaignMode campaign)
{
return campaign.Money >= Amount;
}
return false;
}
public override string ToDebugString()
{
string subActionStr = "";
if (succeeded.HasValue)
{
subActionStr = $"\n Sub action: {(succeeded.Value ? Success : Failure)?.CurrentSubAction.ColorizeObject()}";
}
return $"{ToolBox.GetDebugSymbol(DetermineFinished())} {nameof(CheckMoneyAction)} -> (Amount: {Amount.ColorizeObject()}" +
$" Succeeded: {(succeeded.HasValue ? succeeded.Value.ToString() : "not determined").ColorizeObject()})" +
subActionStr;
}
}
}