Show / Hide Table of Contents

Class ImmigrationPolicy

Inheritance
System.Object
SimpleEntry
SimpleProposable
ImmigrationPolicy
Implements
ILinkableParameterized<SimpleEntry.NamingOptions>
ICachesValidity
IDescribable
IProposable
IHasID
IReInitializable
IHasReferenceableSerializableID
IHostedObject
INamed
IHasTeleportOption
IHasSerializableID
ILinkableParameterized<System.Boolean>
ILinkable
ISuffixName
ISingleEditingUser
IPlayerUseTracking
IThreadSafeSubscriptions
ISubscriptions<ThreadSafeSubscriptions>
ISubscriptions
ISettlementAssociated
System.ComponentModel.INotifyPropertyChanged
IRPCAuthChecks
IProvidesContext
IController
IViewController
IHasUniversalID
ICustomValidity
IValidity
Inherited Members
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.OnLinkClicked(TooltipOrigin, TooltipClickContext, User)
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.DescribedWithTable
SimpleProposable.RequiresSlot
SimpleProposable.IsActive
SimpleProposable.WasRemoved
SimpleProposable.IHostedObject.HostingSettlement
SimpleProposable.IHostedObject.CanBeEdited
SimpleProposable.IHostedObject.ExpirationWarningsIssued
SimpleEntry.Description()
SimpleEntry.PostLoad()
SimpleEntry.CreatorText(Player)
SimpleEntry.ToString()
SimpleEntry.SaveInRegistrar()
SimpleEntry.UILinkContent()
SimpleEntry.UILinkContent(Boolean)
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.Civics.Immigration
Assembly: Eco.Gameplay.dll
Syntax
[ExactlyOnePerHost]
public class ImmigrationPolicy : SimpleProposable, ILinkableParameterized<SimpleEntry.NamingOptions>, ICachesValidity, IDescribable, IProposable, IHasID, IReInitializable, IHasReferenceableSerializableID, IHostedObject, INamed, IHasTeleportOption, IHasSerializableID, ILinkableParameterized<bool>, ILinkable, ISuffixName, ISingleEditingUser, IPlayerUseTracking, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, ISettlementAssociated, INotifyPropertyChanged, IRPCAuthChecks, IProvidesContext, IController, IViewController, IHasUniversalID, ICustomValidity, IValidity

Constructors

ImmigrationPolicy()

Declaration
public ImmigrationPolicy()

Properties

AllowApplicants

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

AllowBecomeCitizenUponHomesteadPlacement

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

AllowBrandNewPeopleToInstantlyJoin

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

AllowChildSettlementsToSecede

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

AllowForeignPropertyOwnership

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

Approver

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

CanHaveDirectCitizens

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

CanJoinSettlemenUponHomesteadPlacement

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

ChildrenSettlementsMayAnnexEachOther

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

ContextProvided

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

HoursFailingRequirementsBeforeRemovedAsCitizen

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

PropertyHeirWhenCitizensLeave

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

RequirementsForNewChildSettlement

Declaration
public GameValue<bool> RequirementsForNewChildSettlement { get; set; }
Property Value
Type Description
GameValue<System.Boolean>

RequirementsForNewCitizens

Declaration
public GameValue<bool> RequirementsForNewCitizens { get; set; }
Property Value
Type Description
GameValue<System.Boolean>

RequiresHost

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

SpawnPoint

Define the position a new player will spawn at if they join this settlement instantly.

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

UseFoundationAsSpawn

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

Methods

CanLeaveSettlement(User)

Declaration
public Task<bool> CanLeaveSettlement(User user)
Parameters
Type Name Description
User user
Returns
Type Description
System.Threading.Tasks.Task<System.Boolean>

CanLeaveWithProperties(User, out List<Deed>)

We check whether the specified user can take his properties with him when leaving this settlement (If he doesn't own any, this will return a success).

Declaration
public Result CanLeaveWithProperties(User user, out List<Deed> deedsInSettlement)
Parameters
Type Name Description
User user
System.Collections.Generic.List<Deed> deedsInSettlement
Returns
Type Description
Result

CheckCanCreateChildSettlement(User)

We check whether the specified user can create a child settlement inside the current one or not (we check both this settlement and all its parents).

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

CheckCanJoinAsCitizen(User, Boolean)

We check whether the specified user can become a citizen of this settlement or not (we check both this settlement and all its parents).

Declaration
public Result CheckCanJoinAsCitizen(User user, bool joinAsDirectCitizen)
Parameters
Type Name Description
User user
System.Boolean joinAsDirectCitizen
Returns
Type Description
Result

Initialize()

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

OnStateChangedInternal(ProposableState, CivicsUtils.StateChangeDetailFlags)

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

Valid()

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

Implements

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

Extension Methods

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