Show / Hide Table of Contents

Class Deed

Inheritance
System.Object
SimpleEntry
Deed
Implements
ILinkableParameterized<System.Boolean>
ILinkableParameterized<SimpleEntry.NamingOptions>
ILinkable
IValidity
ICachesValidity
IHasID
IReInitializable
IHasReferenceableSerializableID
IHasSerializableID
System.ComponentModel.INotifyPropertyChanged
IDescribable
ISuffixName
IThreadSafeSubscriptions
ISubscriptions<ThreadSafeSubscriptions>
ISubscriptions
IOwnerChangeable
IOwned
IHasClientControlledContainers
IRPCAuthChecks
IAnnexable
INamed
IHasReputation
IController
IViewController
IHasUniversalID
IReputationAssociated
IGeneratesCulture
Inherited Members
SimpleEntry.Description()
SimpleEntry.PostLoad()
SimpleEntry.ToString()
SimpleEntry.SaveInRegistrar()
SimpleEntry.UILinkContent(Boolean)
SimpleEntry.UILinkContent(SimpleEntry.NamingOptions)
SimpleEntry.ReInitialize()
SimpleEntry.MarkDirty()
SimpleEntry.UserDescription
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.Property
Assembly: Eco.Gameplay.dll
Syntax
public class Deed : SimpleEntry, ILinkableParameterized<bool>, ILinkableParameterized<SimpleEntry.NamingOptions>, ILinkable, IValidity, ICachesValidity, IHasID, IReInitializable, IHasReferenceableSerializableID, IHasSerializableID, INotifyPropertyChanged, IDescribable, ISuffixName, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, IOwnerChangeable, IOwned, IHasClientControlledContainers, IRPCAuthChecks, IAnnexable, INamed, IHasReputation, IController, IViewController, IHasUniversalID, IReputationAssociated, IGeneratesCulture

Constructors

Deed()

Declaration
public Deed()

Fields

Destroying

Declaration
public bool Destroying
Field Value
Type Description
System.Boolean

ForceSettlement

Declaration
public Settlement ForceSettlement
Field Value
Type Description
Settlement

Rooms

Declaration
public ThreadSafeList<Room> Rooms
Field Value
Type Description
ThreadSafeList<Room>

Properties

Accessors

Declaration
[ClientCanSelectAndAdd("Select Citizens and Groups who may Access This Property.", "Accessor", "Accessors", true)]
public ControllerHashSet<IAlias> Accessors { get; }
Property Value
Type Description
ControllerHashSet<IAlias>

AllowedPlots

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

BlockChildInfluence

True if claimed land on this plot is locked to the settlement assigned only.

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

CachedCenterPos

Declaration
public Nullable<Vector3i> CachedCenterPos { get; }
Property Value
Type Description
System.Nullable<Vector3i>

CachedCultureValue

Declaration
public ValResult<float> CachedCultureValue { get; set; }
Property Value
Type Description
ValResult<System.Single>

CachedInfluencingSettlement

Return the settlement influencing this position, by looking at the components on the stake. Can be a settlement stake, a foundation, or a homestead stake.

Declaration
public Settlement CachedInfluencingSettlement { get; }
Property Value
Type Description
Settlement

CachedMaxRadius

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

CachedOwningSettlement

Declaration
public Settlement CachedOwningSettlement { get; }
Property Value
Type Description
Settlement

ChangedEvent

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

Color

Declaration
public Color Color { get; set; }
Property Value
Type Description
Color

CultureBoostFromAdmin

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

DeedPropertyType

Declaration
public PropertyType DeedPropertyType { get; set; }
Property Value
Type Description
PropertyType

DeedRenamedEvent

Declaration
public static ThreadSafeAction<Deed> DeedRenamedEvent { get; }
Property Value
Type Description
ThreadSafeAction<Deed>

EntryDescription

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

HostObject

Declaration
public WorldObjectHandle HostObject { get; set; }
Property Value
Type Description
WorldObjectHandle

HostObjectPosition

Declaration
public Vector3i HostObjectPosition { get; }
Property Value
Type Description
Vector3i

IndirectInfluencingSettlements

Declaration
public IEnumerable<Settlement> IndirectInfluencingSettlements { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Settlement>

IsAbandoned

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

IsHomesteadDeed

Is this deed claimed via a homestead claim stake?

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

IsOverburdened

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

IsRentable

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

IsVehicleDeed

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

Name

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

NameChangedEvent

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

OutdoorRoom

Declaration
public Room OutdoorRoom { get; set; }
Property Value
Type Description
Room

OwnedObjectChangedEvent

Declaration
public static ThreadSafeAction<Deed, IOwnableHandle, bool> OwnedObjectChangedEvent { get; }
Property Value
Type Description
ThreadSafeAction<Deed, IOwnableHandle, System.Boolean>

OwnedObjectRenamedEvent

Declaration
public static ThreadSafeAction<Deed> OwnedObjectRenamedEvent { get; }
Property Value
Type Description
ThreadSafeAction<Deed>

OwnedObjects

Declaration
public ControllerHashSet<IOwnableHandle> OwnedObjects { get; }
Property Value
Type Description
ControllerHashSet<IOwnableHandle>

Owner

Declaration
public IAlias Owner { get; }
Property Value
Type Description
IAlias

OwnerChangedEvent

Declaration
public ThreadSafeAction<OwnerChangeType> OwnerChangedEvent { get; }
Property Value
Type Description
ThreadSafeAction<OwnerChangeType>

OwnerRenamedEvent

Declaration
public static ThreadSafeAction<Deed> OwnerRenamedEvent { get; }
Property Value
Type Description
ThreadSafeAction<Deed>

Owners

Declaration
public IAlias Owners { get; set; }
Property Value
Type Description
IAlias

OwnerUserSetChangedEvent

Declaration
public static ThreadSafeAction<Deed> OwnerUserSetChangedEvent { get; }
Property Value
Type Description
ThreadSafeAction<Deed>

PlotCount

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

PlotPosSet

Declaration
public HashSet<PlotPos> PlotPosSet { get; }
Property Value
Type Description
System.Collections.Generic.HashSet<PlotPos>

Plots

Declaration
public IEnumerable<PropertyPlot> Plots { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<PropertyPlot>

PropertyValue

The value of this deed, based on its type.

Declaration
public PropertyValue PropertyValue { get; set; }
Property Value
Type Description
PropertyValue

PropertyValueBoost

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

PropertyValueChangedEvent

Declaration
public static ThreadSafeAction<Deed> PropertyValueChangedEvent { get; }
Property Value
Type Description
ThreadSafeAction<Deed>

RelevantUsers

Residents and owners

Declaration
public IEnumerable<User> RelevantUsers { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<User>

Rent

Declaration
[NewTooltipChildren]
public RentForProperty Rent { get; }
Property Value
Type Description
RentForProperty

Residency

Declaration
[NewTooltipChildren]
public Residency Residency { get; set; }
Property Value
Type Description
Residency

ResidentsChangedEvent

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

WarningsDescription

Declaration
public ControllerDictionary<string, LocString> WarningsDescription { get; }
Property Value
Type Description
ControllerDictionary<System.String, LocString>

Methods

AcceptIfNotMember(User)

Declaration
public Task AcceptIfNotMember(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Threading.Tasks.Task

AccessType(User)

Declaration
public AccessType AccessType(User user)
Parameters
Type Name Description
User user
Returns
Type Description
AccessType

AddOwnable(IOwnableHandle)

Declaration
public void AddOwnable(IOwnableHandle obj)
Parameters
Type Name Description
IOwnableHandle obj

CanAccess(IAlias)

Declaration
public bool CanAccess(IAlias alias)
Parameters
Type Name Description
IAlias alias
Returns
Type Description
System.Boolean

ChangeHostObject(WorldObject, Boolean)

Sets the host object, the placed claim stake or foundation that allows the deed to claim property.

Declaration
public void ChangeHostObject(WorldObject obj, bool sendNotice = true)
Parameters
Type Name Description
WorldObject obj
System.Boolean sendNotice

ChangeOwnables(IEnumerable<IOwnableHandle>, IEnumerable<IOwnableHandle>)

Declaration
public void ChangeOwnables(IEnumerable<IOwnableHandle> toAdd, IEnumerable<IOwnableHandle> toRemove)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<IOwnableHandle> toAdd
System.Collections.Generic.IEnumerable<IOwnableHandle> toRemove

ChangeOwners(Player, IAlias)

Declaration
public void ChangeOwners(Player changer, IAlias newOwner)
Parameters
Type Name Description
Player changer
IAlias newOwner

Claim(Player)

Declaration
public void Claim(Player player)
Parameters
Type Name Description
Player player

ContainsOwner(IAlias)

Declaration
public bool ContainsOwner(IAlias alias)
Parameters
Type Name Description
IAlias alias
Returns
Type Description
System.Boolean

CreatorText(Player)

Declaration
public override LocString CreatorText(Player reader)
Parameters
Type Name Description
Player reader
Returns
Type Description
LocString
Overrides
SimpleEntry.CreatorText(Player)

DebugSetInfluencingSettlement(Settlement)

Declaration
public void DebugSetInfluencingSettlement(Settlement settlement)
Parameters
Type Name Description
Settlement settlement

Delete(Player)

Declaration
protected void Delete(Player player)
Parameters
Type Name Description
Player player

DeleteDeed(Player)

Declaration
public Result DeleteDeed(Player player)
Parameters
Type Name Description
Player player
Returns
Type Description
Result

Destroy()

Declaration
public void Destroy()

Destroyed()

Declaration
public override void Destroyed()
Overrides
SimpleEntry.Destroyed()

EditInMap(User)

Declaration
public Task EditInMap(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Threading.Tasks.Task

ForceChangeOwners(IAlias, OwnerChangeType)

Changes owner of the deed without any checks.

Declaration
public LocString ForceChangeOwners(IAlias newOwner, OwnerChangeType changeType)
Parameters
Type Name Description
IAlias newOwner
OwnerChangeType changeType
Returns
Type Description
LocString

ForceDeedPropertyType(PropertyType)

Force changing the property type, clearing residents as needed.

Declaration
public void ForceDeedPropertyType(PropertyType type)
Parameters
Type Name Description
PropertyType type

GetWarningsDescription()

We get all the warnings in a single LocString.

Declaration
public LocString GetWarningsDescription()
Returns
Type Description
LocString

HasContainerAccess(Player, String)

Declaration
public bool HasContainerAccess(Player player, string listName)
Parameters
Type Name Description
Player player
System.String listName
Returns
Type Description
System.Boolean

Initialize()

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

InitializeForSettlements()

Declaration
public void InitializeForSettlements()

IsAuthorized(User, AccessType)

Declaration
public bool IsAuthorized(User user, AccessType accessType)
Parameters
Type Name Description
User user
AccessType accessType
Returns
Type Description
System.Boolean

MoveOwnable(Player, IDeedOwned, Deed)

Declaration
public bool MoveOwnable(Player player, IDeedOwned obj, Deed toDeed)
Parameters
Type Name Description
Player player
IDeedOwned obj
Deed toDeed
Returns
Type Description
System.Boolean

OnCreate()

Declaration
public void OnCreate()

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
SimpleEntry.OnLinkClicked(TooltipOrigin, TooltipClickContext, User)

OnRenamed(String)

Declaration
public void OnRenamed(string oldName)
Parameters
Type Name Description
System.String oldName

Open(Player)

Declaration
public void Open(Player player)
Parameters
Type Name Description
Player player

OpenAuthorizationMenuOn(Player)

Declaration
public void OpenAuthorizationMenuOn(Player player)
Parameters
Type Name Description
Player player

PercentOwnership(IAlias)

Declaration
public float PercentOwnership(IAlias alias)
Parameters
Type Name Description
IAlias alias
Returns
Type Description
System.Single

RaiseOwnerRenamedEvent()

Declaration
public void RaiseOwnerRenamedEvent()

RaiseOwnerUserSetChangedEvent()

Declaration
public void RaiseOwnerUserSetChangedEvent()

RaisePropertyValueChangedEvent()

Declaration
public void RaisePropertyValueChangedEvent()

RemoveInvitationIfExists(User)

Declaration
public void RemoveInvitationIfExists(User user)
Parameters
Type Name Description
User user

RemoveOwnable(Player, IDeedOwned)

Declaration
protected void RemoveOwnable(Player player, IDeedOwned obj)
Parameters
Type Name Description
Player player
IDeedOwned obj

RemoveOwnable(IOwnableHandle)

Declaration
public void RemoveOwnable(IOwnableHandle obj)
Parameters
Type Name Description
IOwnableHandle obj

Save()

Declaration
public void Save()

SetDeedPropertyType(Player, PropertyType)

Verify property change is valid and apply it if so, or inform user why not if not.

Declaration
public void SetDeedPropertyType(Player player, PropertyType value)
Parameters
Type Name Description
Player player
PropertyType value

SetResidency(User)

Declaration
public void SetResidency(User user)
Parameters
Type Name Description
User user

TryChangeOwners(GameActionPack, Player, IAlias, Boolean, Boolean, Boolean, Boolean, OwnerChangeType)

Perform related checks and pass the changing action through the action manager.

Declaration
public Result TryChangeOwners(GameActionPack pack, Player changer, IAlias newOwner, bool transferAction, bool autoPerform = true, bool okBox = true, bool superAccess = false, OwnerChangeType changeType)
Parameters
Type Name Description
GameActionPack pack

A game action pack to use.

Player changer

The one who will be 'Citizen' in all the checks and child actions.

IAlias newOwner

New owner of the deed.

System.Boolean transferAction

Is it needed to trigger a PropertyTransfer game action.

System.Boolean autoPerform

Is it needed to invoke pack.TryPerform() within this method.

System.Boolean okBox
System.Boolean superAccess

There will be no check whether the changer has access to the property. Currently used for sales in the real estate desk.

OwnerChangeType changeType
Returns
Type Description
Result

Returns either result of CanChangeOwner chek or the result of the pack.TryPerform() invokation.

UILinkContent()

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

UpdateInfluencingSettlement()

Update what settlement is associated with this deed. This can change when a homemstead component changes allegiances.

Declaration
public void UpdateInfluencingSettlement()

UpdateWarnings(Boolean, String, Nullable<LocString>, Boolean)

This function allow us to add and remove warnings from the deed while at the same time sending a warning for all owners as mail the first time it gets added.

Declaration
public void UpdateWarnings(bool add, string title, Nullable<LocString> description = null, bool notify = true)
Parameters
Type Name Description
System.Boolean add
System.String title
System.Nullable<LocString> description
System.Boolean notify

VerifyOwner(Player)

Declaration
protected bool VerifyOwner(Player player)
Parameters
Type Name Description
Player player
Returns
Type Description
System.Boolean

Explicit Interface Implementations

IGeneratesCulture.CultureGenerated

Declaration
float IGeneratesCulture.CultureGenerated { get; }
Returns
Type Description
System.Single

IHasReputation.CanGiveReputation(User)

Declaration
Result IHasReputation.CanGiveReputation(User giver)
Parameters
Type Name Description
User giver
Returns
Type Description
Result

IHasReputation.UserSource

Declaration
User IHasReputation.UserSource { get; }
Returns
Type Description
User

IOwned.Deed

Declaration
Deed IOwned.Deed { get; }
Returns
Type Description
Deed

IAnnexable.CanAnnex

Declaration
bool IAnnexable.CanAnnex { get; }
Returns
Type Description
System.Boolean

IAnnexable.Citizens()

Declaration
IEnumerable<User> IAnnexable.Citizens()
Returns
Type Description
System.Collections.Generic.IEnumerable<User>

IAnnexable.CultureTotal

Declaration
float IAnnexable.CultureTotal { get; }
Returns
Type Description
System.Single

IAnnexable.DistanceTo(Vector2i)

Declaration
float IAnnexable.DistanceTo(Vector2i worldPos)
Parameters
Type Name Description
Vector2i worldPos
Returns
Type Description
System.Single

IAnnexable.Founded

Declaration
bool IAnnexable.Founded { get; }
Returns
Type Description
System.Boolean

IAnnexable.HasAncestor(Settlement)

Declaration
bool IAnnexable.HasAncestor(Settlement settlement)
Parameters
Type Name Description
Settlement settlement
Returns
Type Description
System.Boolean

IAnnexable.Notify(LocString)

Declaration
void IAnnexable.Notify(LocString msg)
Parameters
Type Name Description
LocString msg

IAnnexable.Parent

Declaration
Settlement IAnnexable.Parent { get; }
Returns
Type Description
Settlement

IAnnexable.ReductionPercentageForAnnexation

Declaration
float IAnnexable.ReductionPercentageForAnnexation { get; }
Returns
Type Description
System.Single

IAnnexable.SettlementIDtoAnnexWarningIssued

Declaration
ThreadSafeDictionary<int, int> IAnnexable.SettlementIDtoAnnexWarningIssued { get; set; }
Returns
Type Description
ThreadSafeDictionary<System.Int32, System.Int32>

IAnnexable.SettlementType

Declaration
Nullable<SettlementType> IAnnexable.SettlementType { get; }
Returns
Type Description
System.Nullable<SettlementType>

IAnnexable.TypeAndName

Declaration
LocString IAnnexable.TypeAndName { get; }
Returns
Type Description
LocString

IAnnexable.TypeDisplayName

Declaration
LocString IAnnexable.TypeDisplayName { get; }
Returns
Type Description
LocString

Implements

ILinkableParameterized<T>
ILinkableParameterized<T>
ILinkable
IValidity
ICachesValidity
IHasID
IReInitializable
IHasReferenceableSerializableID
IHasSerializableID
System.ComponentModel.INotifyPropertyChanged
IDescribable
ISuffixName
IThreadSafeSubscriptions
ISubscriptions<TSubscriptionsList>
ISubscriptions
IOwnerChangeable
IOwned
IHasClientControlledContainers
IRPCAuthChecks
IAnnexable
INamed
IHasReputation
IController
IViewController
IHasUniversalID
IReputationAssociated
IGeneratesCulture

Extension Methods

TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClaimingUtils.PositionNeighborsDeed(Deed, PlotPos)
ClaimingUtils.CheckCanChangePlotsAndNotify(Deed, User, IEnumerable<PlotPos>, IEnumerable<PlotPos>)
ClaimingUtils.CheckDeedIsContiguousAndNotify(Deed, User, List<PlotPos>, List<PlotPos>, LocString)
ClaimingUtils.GetContiguousPartsWithAlterations(Deed, List<PlotPos>, List<PlotPos>)
ClaimingUtils.DeedOwnedByAbandonedPlayer(Deed)
RentUtils.GetObjectsCreatedByUser(Deed, User)
RentUtils.GetObjectsCreatedByUserExceptSettlementsStakes(Deed, User)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
DistrictUtils.BelongsToDistrict(Deed, District, DeedRelationToDistrict)
TypeTooltipExtensions.UILinkGeneric(Object)
DeedTooltipLibrary.DeedTooltipTitle(Deed)
DeedTooltipLibrary.PropertyDesriptionTooltip(Deed)
DeedTooltipLibrary.DeedTable(Deed)
DeedTooltipLibrary.DeedsWarnings(Deed)
ILinkableTooltipLibrary.DeedLinkClicked(Deed)
MiscTooltipLibrary.SimpleEntryTooltip(SimpleEntry, User)
MiscTooltipLibrary.SimpleEntryTitle(SimpleEntry)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾