Class BankAccount
Inheritance
System.Object
BankAccount
Implements
ISuffixName
System.ComponentModel.INotifyPropertyChanged
Assembly: Eco.Gameplay.dll
Syntax
public class BankAccount : SimpleEntry, ILinkableParameterized<bool>, ILinkableParameterized<SimpleEntry.NamingOptions>, ILinkable, IValidity, ICachesValidity, IHasID, INamed, IReInitializable, IHasReferenceableSerializableID, IHasSerializableID, IDescribable, ISuffixName, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, IHasDualPermissions, ISettlementAssociated, IController, IViewController, IHasUniversalID, INotifyPropertyChanged
Constructors
BankAccount()
Declaration
Properties
AccountNameSuffix
Declaration
public string AccountNameSuffix { get; }
Property Value
Type |
Description |
System.String |
|
AccountOwner
Declaration
public virtual User AccountOwner { get; }
Property Value
AnyManager
Declaration
public virtual User AnyManager { get; }
Property Value
AnyMoney
Declaration
public bool AnyMoney { get; }
Property Value
Type |
Description |
System.Boolean |
|
AnyUser
Declaration
public virtual User AnyUser { get; }
Property Value
BalanceChanged
Declaration
public ThreadSafeAction<Currency> BalanceChanged { get; }
Property Value
CanBeDeleted
Declaration
public override bool CanBeDeleted { get; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
CanBeSelected
Declaration
public virtual bool CanBeSelected { get; }
Property Value
Type |
Description |
System.Boolean |
|
CanHaveNullSettlement
Declaration
protected virtual bool CanHaveNullSettlement { get; }
Property Value
Type |
Description |
System.Boolean |
|
CurrencyHoldings
Declaration
public ControllerDictionary<Currency, CurrencyHolding> CurrencyHoldings { get; }
Property Value
CurrencyHoldingsChangedEvent
Declaration
public static ThreadSafeAction<BankAccount> CurrencyHoldingsChangedEvent { get; }
Property Value
DualPermissions
Declaration
public DualPermissions DualPermissions { get; set; }
Property Value
Empty
Declaration
public bool Empty { get; }
Property Value
Type |
Description |
System.Boolean |
|
HostChangeEvent
Declaration
public static ThreadSafeAction<BankAccount> HostChangeEvent { get; }
Property Value
IgnoreDirectTransferTax
Declaration
public virtual bool IgnoreDirectTransferTax { get; }
Property Value
Type |
Description |
System.Boolean |
|
IsActive
Declaration
public bool IsActive { get; }
Property Value
Type |
Description |
System.Boolean |
|
IsPermanent
Declaration
public virtual bool IsPermanent { get; }
Property Value
Type |
Description |
System.Boolean |
|
Ledger
Declaration
public AccountLedger Ledger { get; }
Property Value
ManagerSetChangedEvent
Declaration
public static ThreadSafeAction<BankAccount, IEnumerable<User>> ManagerSetChangedEvent { get; set; }
Property Value
PermissionsChangedEvent
Declaration
public static ThreadSafeAction<BankAccount> PermissionsChangedEvent { get; }
Property Value
RenamedEvent
Declaration
public static ThreadSafeAction<BankAccount> RenamedEvent { get; }
Property Value
ScanPeriodically
Declaration
public bool ScanPeriodically { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Settlement
Declaration
public virtual Settlement Settlement { get; set; }
Property Value
UserSetChangedEvent
Declaration
public static ThreadSafeAction<BankAccount, IEnumerable<User>> UserSetChangedEvent { get; set; }
Property Value
Methods
AddCurrency(Currency, Single, Boolean)
Adds amount of currency to this account. Will fallback to zero if holdings become negative (set assertNegativeAmount if that was intended, otherwise an error will be logged).
Declaration
public void AddCurrency(Currency currency, float amount, bool assertNegativeAmount = true)
Parameters
Type |
Name |
Description |
Currency |
currency |
|
System.Single |
amount |
|
System.Boolean |
assertNegativeAmount |
|
CanAccess(IAlias, AccountAccess, Boolean)
Check if IAlias has an access to use this account.///
Declaration
public virtual bool CanAccess(IAlias alias, AccountAccess access, bool sendNoticeOnFail = false)
Parameters
Returns
Type |
Description |
System.Boolean |
|
CanAnyAccess(IAlias, AccountAccess, Boolean)
Check if IAlias or any user of this IAlias can use this account.
Declaration
public bool CanAnyAccess(IAlias alias, AccountAccess access, bool sendNoticeOnFail = false)
Parameters
Returns
Type |
Description |
System.Boolean |
|
DescribeHoldings()
Returns an entitled text block with this account's holdings.
Declaration
public LocString DescribeHoldings()
Returns
DescribeWealth(User)
Returns a string with user's percent ownership of this account.
Declaration
public virtual LocString DescribeWealth(User user)
Parameters
Type |
Name |
Description |
User |
user |
|
Returns
Destroyed()
Declaration
public override void Destroyed()
Overrides
DisplayAmount(Currency)
Returns string with description of currency amount on this account.
Declaration
public string DisplayAmount(Currency cur)
Parameters
Returns
Type |
Description |
System.String |
|
GetCurrencyHoldingVal(Currency)
Return total amount of a currency for this account.
Declaration
public float GetCurrencyHoldingVal(Currency cur)
Parameters
Returns
Type |
Description |
System.Single |
|
GetCurrencyHoldingVal(Currency, User)
Returns amount of a currency for this account owned by a user by percent ownership.
Declaration
public float GetCurrencyHoldingVal(Currency cur, User user)
Parameters
Returns
Type |
Description |
System.Single |
|
GetResponsibleUser(Boolean)
Returns first found manager of the account
Declaration
public virtual User GetResponsibleUser(bool excludeGovCases = true)
Parameters
Type |
Name |
Description |
System.Boolean |
excludeGovCases |
|
Returns
Initialize()
Declaration
public override void Initialize()
Overrides
MoveAllCurrencies(BankAccount, LocString, Single)
Move all currencies, without law detection (for destruction of settlements primarily).
Declaration
public void MoveAllCurrencies(BankAccount targetAccount, LocString desc, float percent = 1F)
Parameters
OnLinkClicked(TooltipOrigin, TooltipClickContext, User)
Declaration
public override void OnLinkClicked(TooltipOrigin origin, TooltipClickContext clickContext, User user)
Parameters
Overrides
PercentOwnership(User)
Returns user's percent ownership of this account for wealth calculation purposes.
Declaration
public virtual float PercentOwnership(User user)
Parameters
Type |
Name |
Description |
User |
user |
|
Returns
Type |
Description |
System.Single |
|
RemoveCurrency(Currency)
Reduces holdings to zero (by removing an infinite amount).
Declaration
public void RemoveCurrency(Currency currency)
Parameters
SetAccountName(Player, String)
Change an account name, will be validated at the same time.
Declaration
public void SetAccountName(Player player, string newName)
Parameters
Type |
Name |
Description |
Player |
player |
|
System.String |
newName |
|
TryAddManagerOrUser(Player, IAlias, PermissionsType)
Check if we're able to add a new manager or user.
Declaration
protected virtual bool TryAddManagerOrUser(Player player, IAlias alias, PermissionsType permissionsChangeType)
Parameters
Returns
Type |
Description |
System.Boolean |
|
TryRemoveManagerOrUser(Player, IAlias, PermissionsType)
Check if we're able to remove an old manager or user.
Declaration
protected virtual bool TryRemoveManagerOrUser(Player player, IAlias alias, PermissionsType permissionsChangeType)
Parameters
Returns
Type |
Description |
System.Boolean |
|
UILinkContent()
Declaration
public override LocString UILinkContent()
Returns
Overrides
Implements
ISuffixName
System.ComponentModel.INotifyPropertyChanged
Extension Methods