Show / Hide Table of Contents

Class Contract

Inheritance
System.Object
SimpleEntry
SimpleProposable
Workable
Contract
Implements
ILinkableParameterized<SimpleEntry.NamingOptions>
ICachesValidity
IDescribable
IProposable
IHasID
IReInitializable
IHasReferenceableSerializableID
ICustomValidity
IValidity
ISuffixName
ISingleEditingUser
IPlayerUseTracking
IThreadSafeSubscriptions
ISubscriptions<ThreadSafeSubscriptions>
ISubscriptions
ISettlementAssociated
System.ComponentModel.INotifyPropertyChanged
IRPCAuthChecks
IClauseList
ILinkableParameterized<System.Boolean>
IHasClientControlledContainers
IHostedObject
ILinkable
IController
IViewController
INamed
IHasTeleportOption
IHasUniversalID
IHasSerializableID
Inherited Members
Workable.SetHostObject(WorldObject)
Workable.CreatorText(Player)
Workable.LocationText(Player)
SimpleProposable.requiresHost
SimpleProposable.SetRequiresHost(Boolean)
SimpleProposable.DisableHostedObject()
SimpleProposable.AssignHostObject(WorldObject)
SimpleProposable.CanBeAssignedTo(IOrphanAssignment)
SimpleProposable.OnBeforeStateChangeInternal(ProposableState, CivicsUtils.StateChangeDetailFlags)
SimpleProposable.InitializeDraftProposable()
SimpleProposable.GetPairsOfOldAndNewRevisions(IProposable)
SimpleProposable.ApplyUpdatedProposable(IProposable)
SimpleProposable.OnCreate()
SimpleProposable.Destroyed()
SimpleProposable.SetState(ProposableState)
SimpleProposable.UsingPlayers
SimpleProposable.State
SimpleProposable.HostID
SimpleProposable.HostObject
SimpleProposable.TargetToReplace
SimpleProposable.ScanPeriodically
SimpleProposable.LastValidTime
SimpleProposable.Submitted
SimpleProposable.RevisionParent
SimpleProposable.Election
SimpleProposable.RemovedBy
SimpleProposable.RemovalElection
SimpleProposable.Settlement
SimpleProposable.CurrentEditingUser
SimpleProposable.RequiresHost
SimpleProposable.DescribedWithTable
SimpleProposable.RequiresSlot
SimpleProposable.IsActive
SimpleProposable.WasRemoved
SimpleProposable.IHostedObject.HostingSettlement
SimpleProposable.IHostedObject.CanBeEdited
SimpleProposable.IHostedObject.ExpirationWarningsIssued
SimpleEntry.PostLoad()
SimpleEntry.ToString()
SimpleEntry.SaveInRegistrar()
SimpleEntry.UILinkContent(SimpleEntry.NamingOptions)
SimpleEntry.ReInitialize()
SimpleEntry.MarkDirty()
SimpleEntry.UserDescription
SimpleEntry.Name
SimpleEntry.Creator
SimpleEntry.NameSuffix
SimpleEntry.CreationTime
SimpleEntry.CachedValidity
SimpleEntry.IsDestroyed
SimpleEntry.OnValidityChanged
SimpleEntry.Initialized
SimpleEntry.MarkedUpName
SimpleEntry.Id
SimpleEntry.IconName
SimpleEntry.Registrar
SimpleEntry.WorldTimeSinceCreation
SimpleEntry.CanBeDeleted
SimpleEntry.TextName
SimpleEntry.Scannable
SimpleEntry.Style
SimpleEntry.ControllerID
SimpleEntry.TrueResult
SimpleEntry.Subscriptions
SimpleEntry.PropertyChanged
Namespace: Eco.Gameplay.Economy.Contracts
Assembly: Eco.Gameplay.dll
Syntax
public class Contract : Workable, ILinkableParameterized<SimpleEntry.NamingOptions>, ICachesValidity, IDescribable, IProposable, IHasID, IReInitializable, IHasReferenceableSerializableID, ICustomValidity, IValidity, ISuffixName, ISingleEditingUser, IPlayerUseTracking, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, ISettlementAssociated, INotifyPropertyChanged, IRPCAuthChecks, IClauseList, ILinkableParameterized<bool>, IHasClientControlledContainers, IHostedObject, ILinkable, IController, IViewController, INamed, IHasTeleportOption, IHasUniversalID, IHasSerializableID

Constructors

Contract()

Declaration
public Contract()

Fields

CompletedSuccessfully

Declaration
public bool CompletedSuccessfully
Field Value
Type Description
System.Boolean

ContractCompletedEvent

Declaration
public static ThreadSafeAction<User, Contract> ContractCompletedEvent
Field Value
Type Description
ThreadSafeAction<User, Contract>

ContractPropertyChangedEvent

Declaration
public static ThreadSafeAction<object, PropertyChangedEventArgs> ContractPropertyChangedEvent
Field Value
Type Description
ThreadSafeAction<System.Object, System.ComponentModel.PropertyChangedEventArgs>

Properties

AutoAccept

Declaration
public bool AutoAccept { get; }
Property Value
Type Description
System.Boolean

BaseContractID

Declaration
public int BaseContractID { get; set; }
Property Value
Type Description
System.Int32

Board

Declaration
public ContractBoardComponent Board { get; }
Property Value
Type Description
ContractBoardComponent

Clauses

Declaration
public ControllerList<ContractClause> Clauses { get; }
Property Value
Type Description
ControllerList<ContractClause>

Client

Declaration
public string Client { get; set; }
Property Value
Type Description
System.String

ClientControlledContainer

Declaration
public IClientControlledContainer ClientControlledContainer { get; }
Property Value
Type Description
IClientControlledContainer

ClientDisplay

Declaration
public string ClientDisplay { get; }
Property Value
Type Description
System.String

ClientUser

Declaration
public User ClientUser { get; }
Property Value
Type Description
User

Contractor

Declaration
public string Contractor { get; }
Property Value
Type Description
System.String

ContractorDisplay

Declaration
public string ContractorDisplay { get; }
Property Value
Type Description
System.String

ContractorUser

Declaration
public User ContractorUser { get; }
Property Value
Type Description
User

DisplayOnBoard

Declaration
public bool DisplayOnBoard { get; }
Property Value
Type Description
System.Boolean

EndTime

Declaration
public double EndTime { get; }
Property Value
Type Description
System.Double

HostContainer

Declaration
public override ContainedWorkables HostContainer { get; set; }
Property Value
Type Description
ContainedWorkables
Overrides
Workable.HostContainer

Hours

Declaration
public float Hours { get; }
Property Value
Type Description
System.Single

HoursDescription

Declaration
public string HoursDescription { get; }
Property Value
Type Description
System.String

OnClauseChange

Declaration
public ThreadSafeAction OnClauseChange { get; }
Property Value
Type Description
ThreadSafeAction

OnStateChanged

Declaration
public ThreadSafeAction OnStateChanged { get; }
Property Value
Type Description
ThreadSafeAction

Owner

Declaration
public override User Owner { get; }
Property Value
Type Description
User
Overrides
Workable.Owner

Payment

Declaration
public string Payment { get; }
Property Value
Type Description
System.String

Repetitions

Declaration
public int Repetitions { get; set; }
Property Value
Type Description
System.Int32

ShowLocationTooltip

Declaration
public override bool ShowLocationTooltip { get; }
Property Value
Type Description
System.Boolean
Overrides
Workable.ShowLocationTooltip

UIName

Declaration
public override string UIName { get; }
Property Value
Type Description
System.String
Overrides
Workable.UIName

Methods

AcceptJob(User)

Declaration
public Result AcceptJob(User user)
Parameters
Type Name Description
User user
Returns
Type Description
Result

ActionPerformed(GameAction)

Checks if the given action have any implications and applied changes towards this contract, this to avoid applying same changes if multiple contracts are listening to the same action.

Declaration
public bool ActionPerformed(GameAction action)
Parameters
Type Name Description
GameAction action
Returns
Type Description
System.Boolean

AuthorizedToAccept(Player)

Declaration
public bool AuthorizedToAccept(Player player)
Parameters
Type Name Description
Player player
Returns
Type Description
System.Boolean

CanAcceptInternal(User)

Declaration
protected Result CanAcceptInternal(User user)
Parameters
Type Name Description
User user
Returns
Type Description
Result

CurrencyLink()

Declaration
public string CurrencyLink()
Returns
Type Description
System.String

CurrencyName()

Declaration
public string CurrencyName()
Returns
Type Description
System.String

DeleteContract(User)

Declaration
public Result DeleteContract(User user)
Parameters
Type Name Description
User user
Returns
Type Description
Result

DepositAmount()

Declaration
public string DepositAmount()
Returns
Type Description
System.String

Description()

Declaration
public override LocString Description()
Returns
Type Description
LocString
Overrides
SimpleEntry.Description()

Initialize()

Declaration
public override void Initialize()
Overrides
SimpleProposable.Initialize()

JobFinished(User)

Declaration
public Result JobFinished(User user)
Parameters
Type Name Description
User user
Returns
Type Description
Result

MarkJobFailedForced(User)

Declaration
public Result MarkJobFailedForced(User user)
Parameters
Type Name Description
User user
Returns
Type Description
Result

OnLinkClicked(TooltipOrigin, TooltipClickContext, User)

Declaration
public override void OnLinkClicked(TooltipOrigin origin, TooltipClickContext clickContext, User user)
Parameters
Type Name Description
TooltipOrigin origin
TooltipClickContext clickContext
User user
Overrides
SimpleProposable.OnLinkClicked(TooltipOrigin, TooltipClickContext, User)

OnStateChangedInternal(ProposableState, CivicsUtils.StateChangeDetailFlags)

Declaration
public override void OnStateChangedInternal(ProposableState oldState, CivicsUtils.StateChangeDetailFlags flags)
Parameters
Type Name Description
ProposableState oldState
CivicsUtils.StateChangeDetailFlags flags
Overrides
Workable.OnStateChangedInternal(ProposableState, CivicsUtils.StateChangeDetailFlags)

Open(Player)

Declaration
public override void Open(Player player)
Parameters
Type Name Description
Player player
Overrides
Workable.Open(Player)

PaymentAmount()

Declaration
public string PaymentAmount()
Returns
Type Description
System.String

PostJob(User)

Declaration
public Result PostJob(User user)
Parameters
Type Name Description
User user
Returns
Type Description
Result

RelevantUsers()

Returns all the users that are involved in this contract -- the client and the contractor, if they're not null.

Declaration
public override IEnumerable<User> RelevantUsers()
Returns
Type Description
System.Collections.Generic.IEnumerable<User>
Overrides
Workable.RelevantUsers()

RemoveFromBoard()

Declaration
public void RemoveFromBoard()

SetAutoAccept(Boolean)

Declaration
public void SetAutoAccept(bool set)
Parameters
Type Name Description
System.Boolean set

SetHours(Single)

Declaration
public void SetHours(float hours)
Parameters
Type Name Description
System.Single hours

SetParentContract(INetObject, Object)

We set the parent contract of the specified clause.

Declaration
public void SetParentContract(INetObject player, object clause)
Parameters
Type Name Description
INetObject player
System.Object clause

SetupDefault(User)

Declaration
public override void SetupDefault(User user)
Parameters
Type Name Description
User user
Overrides
Workable.SetupDefault(User)

SetupEmpty(User, WorldObject)

Declaration
public void SetupEmpty(User client, WorldObject parent)
Parameters
Type Name Description
User client
WorldObject parent

ShouldOverrideAuth(GameAction)

Declaration
public virtual bool ShouldOverrideAuth(GameAction action)
Parameters
Type Name Description
GameAction action
Returns
Type Description
System.Boolean

UILinkContent()

Declaration
public override LocString UILinkContent()
Returns
Type Description
LocString
Overrides
SimpleEntry.UILinkContent()

UILinkContent(Boolean)

Declaration
public override LocString UILinkContent(bool param)
Parameters
Type Name Description
System.Boolean param
Returns
Type Description
LocString
Overrides
SimpleEntry.UILinkContent(Boolean)

UpdateDescription()

Declaration
public void UpdateDescription()

Valid()

Declaration
public override Result Valid()
Returns
Type Description
Result
Overrides
SimpleProposable.Valid()

Implements

ILinkableParameterized<T>
ICachesValidity
IDescribable
IProposable
IHasID
IReInitializable
IHasReferenceableSerializableID
ICustomValidity
IValidity
ISuffixName
ISingleEditingUser
IPlayerUseTracking
IThreadSafeSubscriptions
ISubscriptions<TSubscriptionsList>
ISubscriptions
ISettlementAssociated
System.ComponentModel.INotifyPropertyChanged
IRPCAuthChecks
IClauseList
ILinkableParameterized<T>
IHasClientControlledContainers
IHostedObject
ILinkable
IController
IViewController
INamed
IHasTeleportOption
IHasUniversalID
IHasSerializableID

Extension Methods

TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
TypeTooltipExtensions.UILinkGeneric(Object)
EconomyTooltipLibrary.ContractDescription(Contract)
ILinkableTooltipLibrary.SimpleProposableLinkClicked(SimpleProposable)
MiscTooltipLibrary.SimpleEntryTooltip(SimpleEntry, User)
MiscTooltipLibrary.SimpleEntryTitle(SimpleEntry)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾