DotNet.Astronomy.Class.PermitLocks - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki

EliteDangerousAlmanac / Astronomy / PermitLocks

Class: PermitLocks

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:61

Which systems and regions ask a commander for a permit.

Remarks

No game data file, journal event or API states a permit lock. Even Sol, locked since the game opened, reports no permit of any kind. The list is therefore kept by hand, and it has two halves. LockedSystems holds the systems that carry a lock of their own. LockedRegions holds the regions whose permit covers every system inside them, which are read from the start of a name because the game names every system in a region after it.

Reading a region from a position is exact, and reading it from the start of a name is the best a name alone allows. Where a position is at hand, take HandAuthoredRegions.FindAt and then IsLockedRegionName.

The list covers systems alone. A body that asks for a permit inside a system that does not, such as Lave 2, is left out, because a system-wide answer would be wrong for it.

The list comes from the community permit database. See ATTRIBUTIONS.md for credit and licence terms.

Properties

LockedRegions

static LockedRegions: IReadOnlyList<string>

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:82

Every region whose permit covers the systems inside it, by name.

Remarks

Each name is both a region the game names by hand and the opening of the names of the systems inside it.

LockedSystems

static LockedSystems: IReadOnlyList<PermitLockedSystem>

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:75

Every system that asks for a permit of its own, by name.

Methods

FindSystemByAddress()

static FindSystemByAddress(id64): PermitLockedSystem?

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:98

Finds a system that asks for a permit of its own, by its address.

Parameters

id64

ulong

The system address, as a journal event reports it.

Returns

PermitLockedSystem?

The record, or null where the address carries no lock of its own.

FindSystemByName()

static FindSystemByName(name): PermitLockedSystem?

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:90

Finds a system that asks for a permit of its own, by its exact name.

Parameters

name

string?

The system name, in any casing, with any surrounding whitespace.

Returns

PermitLockedSystem?

The record, or null where the system carries no lock of its own. A region is not read here.

ForSystemName()

static ForSystemName(name): PermitLock?

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:153

Reads the permit one system name asks for.

Parameters

name

string?

The system name, in any casing, with any surrounding whitespace.

Returns

PermitLock?

The lock and what carries it, or null where the system is open.

Remarks

The systems are read first, so a system that carries a lock of its own and also sits inside a locked region answers with its own.

IsLocked()

static IsLocked(name): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:172

Reads whether one system name asks for a permit at all.

Parameters

name

string?

The system name, in any casing, with any surrounding whitespace.

Returns

bool

true where the system or its region asks for one.

Remarks

Take ForSystemName instead where the commander is to be told which permit they want.

IsLockedRegionName()

static IsLockedRegionName(name): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:107

Reads whether one region asks for a permit, by its exact name.

Parameters

name

string?

The region name, in any casing, with any surrounding whitespace.

Returns

bool

true where that exact region asks for one. A system name inside the region is not the region's name.

RegionForSystemName()

static RegionForSystemName(systemName): string?

Defined in: dotnet/src/EliteDangerousAlmanac/Astronomy/PermitLocks.cs:125

Reads the region whose permit covers one system name.

Parameters

systemName

string?

The system name, in any casing, with any surrounding whitespace.

Returns

string?

The region name as the catalogue writes it, or null where no locked region opens the name.

⚠️ **GitHub.com Fallback** ⚠️