bool HasSufficientFunds(SupportPower power, bool activate = false) { if (power.Info.Cost != 0) { var player = manager.Self; var pr = player.Trait <PlayerResources>(); if (pr.Cash + pr.Resources < power.Info.Cost) { Game.Sound.PlayNotification(player.World.Map.Rules, player.Owner, "Speech", pr.Info.InsufficientFundsNotification, player.Owner.Faction.InternalName); return(false); } if (activate) { pr.TakeCash(power.Info.Cost); } } return(true); }
static string MakeKey(SupportPower sp) { return(sp.Info.AllowMultiple ? sp.Info.OrderName + "_" + sp.Self.ActorID : sp.Info.OrderName); }
static bool InstanceDisabled(SupportPower sp) { return(sp.Self.IsDisabled()); }
static bool InstanceDisabled(SupportPower sp) { return(sp.Self.TraitsImplementing <IDisable>().Any(d => d.Disabled)); }