Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrain module · class

UOrreryTerrainEditPolicy

Experimental

Decides whether a player may make an edit: the place for ownership, zoning and money (Tier 3).

Declaration

UCLASS(Blueprintable, BlueprintType)
class UOrreryTerrainEditPolicy : public UObject
Header
#include "Net/OrreryTerrainEditPolicy.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrain"); in your module’s Build.cs.
Stability
Experimental: supported, may change in a minor version, with a changelog line.
Thread
Game thread, on the server only; called once per brush step, so keep it cheap.
Derives from
UObject
Blueprint
“Orrery Terrain Edit Policy”, a Blueprint type; Blueprints can derive from it

Description

The server asks it for every client request that passed the record format, the sculpt limits, the rate and the reach, before the edit applies; a refusal goes back to that client as Policy. Subclass it in C++ or Blueprint and name the class in Project Settings, Orrery Terrain, Network, EditPolicyClass. The default allows everything but changing a feature another player, or the server, made (CanChangeFeature). The listen host's own edits do not ask it.

A Replace or Remove asks CanChangeFeature first, then CanEdit with the feature's old bounds, then for a Replace CanEdit with the new ones: all must allow it, so a feature cannot leave or enter a region CanEdit refuses.

Before any of these, and whatever a policy says, the server refuses a client's Insert under an owner domain Orrery reserves (kOwnerDomainTerrainEditor 'TSED', kOwnerDomainRail 'RAIL'), and a Replace that moves a feature to such an owner; a Replace that keeps the feature's owner is not refused for it.

CanAddBrushMask decides a client's brush mask upload. It refuses by default, so no upload is taken unless a game overrides it.

Note.

Game thread, on the server only; called once per brush step, so keep it cheap.

Functions

Blueprint