Orrery Terrain · OrreryTerrain module · class
UOrreryTerrainEditPolicy
ExperimentalDecides 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.
Game thread, on the server only; called once per brush step, so keep it cheap.
Functions
- CanEdit
Whether Controller may make this edit.
- CanEdit_Implementation
- CanChangeFeature
Whether Controller may replace or remove an existing feature: the owner check, asked before CanEdit.
- CanChangeFeature_Implementation
- IsOwnFeatureBlueprintstatic
The default owner rule: the requesting player's request inserted the feature (Author is RequestAuthor, not 0).
- CanAddBrushMask
Whether Controller may upload a brush mask the server does not hold, so its brush steps can use it.
- CanAddBrushMask_Implementation
Blueprint
- Is Own FeatureOrrery › Terrain › Net