Class SmoothValuesUserToolStateBase<TBrushTarget, TTerrainLayer, TDataLayer>
Provides a base class for user tool states that apply smoothing effects to terrain data layers using brush operations.
Inheritance
Implements
Inherited Members
Namespace: Fwt.HexTerrains.UserTools.SM.States
Assembly: fwt.hexterrains.dll
Syntax
public abstract class SmoothValuesUserToolStateBase<TBrushTarget, TTerrainLayer, TDataLayer> : DataLayerBrushUserToolState<TBrushTarget, UserToolSettingsDataSource, UniversalToolSettingsScreen, TTerrainLayer, TDataLayer, float>, ISmState where TBrushTarget : HexTerrainLayerGroup where TTerrainLayer : HexTerrainLayer where TDataLayer : CellValueDataLayer<float>
Type Parameters
| Name | Description |
|---|---|
| TBrushTarget | The type of terrain layer group that serves as the brush target for smoothing operations. |
| TTerrainLayer | The type of terrain layer to be smoothed by the user tool. |
| TDataLayer | The type of data layer containing cell values to be modified by smoothing. |
Remarks
This class manages brush-based smoothing of terrain data layers, allowing customization of smoothing strength and target layer. It is intended to be subclassed for specific terrain and data layer types. Settings such as layer index and smoothing strength are persisted and restored automatically. Thread safety is not guaranteed; instances should be used from the main thread.
Constructors
SmoothValuesUserToolStateBase(ISmState)
Declaration
protected SmoothValuesUserToolStateBase(ISmState parent)
Parameters
| Type | Name | Description |
|---|---|---|
| ISmState | parent |
Properties
Strenght
Strength of smoothing effect applied to terrain data layer cells.
Declaration
public virtual float Strenght { get; set; }
Property Value
| Type | Description |
|---|---|
| float |
TerrainLayerIndex
If IsGetLayerByIndex is true, this index is used to get terrain layer from terrain layers list."/>
Declaration
public override int TerrainLayerIndex { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Methods
ApplyBrush(int, int2, int, TBrushTarget, int)
Applies brush to the brushView. Returns true if changes were applied
Declaration
public override bool ApplyBrush(int brushMode, int2 cellCoord, int cellIndex, TBrushTarget brushTarget, int mouseButton)
Parameters
| Type | Name | Description |
|---|---|---|
| int | brushMode | |
| int2 | cellCoord | |
| int | cellIndex | |
| TBrushTarget | brushTarget | |
| int | mouseButton |
Returns
| Type | Description |
|---|---|
| bool |
Overrides
Init(UserToolStateSettings)
Initializes the tool state with the specified settings.
Declaration
public override void Init(UserToolStateSettings settings)
Parameters
| Type | Name | Description |
|---|---|---|
| UserToolStateSettings | settings | The settings to apply to the tool state. Cannot be null. |
Overrides
InitDefaultSettings()
Initializes the default settings for the current instance. This method is intended to be overridden in derived classes to configure initial values or options as needed.
Declaration
protected override void InitDefaultSettings()
Overrides
Remarks
Override this method in a subclass to provide custom initialization logic for default settings. The base implementation does not perform any actions.
LoadSettings()
Loads configuration settings for the current instance. Derived classes override this method to implement custom settings initialization.
Declaration
protected override void LoadSettings()
Overrides
Remarks
Override this method in a subclass to provide specific logic for loading or initializing settings. This method is called during the setup or initialization phase and does not perform any actions in the base implementation.
SaveSettings()
Saves the current settings to the underlying storage or configuration source.
Declaration
protected override void SaveSettings()
Overrides
Remarks
Override this method in a derived class to implement custom logic for persisting settings. This method does not perform any action in the base implementation.