Show / Hide Table of Contents

Class DaggerfallTerrain

Partners with a Unity Terrain for use by StreamingWorld. Each terrain is "self-assembling" based on position in world (1000x500 map pixels). Also serializes additional information about neighbour terrains.

Inheritance
Object
Object
Component
Behaviour
MonoBehaviour
DaggerfallTerrain
Namespace: DaggerfallWorkshop
Assembly: Assembly-CSharp.dll
Syntax
[RequireComponent(typeof(Terrain))]
[RequireComponent(typeof(TerrainCollider))]
public class DaggerfallTerrain : MonoBehaviour

Fields

| Improve this Doc View Source

BottomNeighbour

Declaration
public Terrain BottomNeighbour
Field Value
Type Description
Terrain
| Improve this Doc View Source

LeftNeighbour

Declaration
public Terrain LeftNeighbour
Field Value
Type Description
Terrain
| Improve this Doc View Source

MapData

Declaration
public MapPixelData MapData
Field Value
Type Description
MapPixelData
| Improve this Doc View Source

MapPixelX

Declaration
[Range(3F, 998F)]
public int MapPixelX
Field Value
Type Description
Int32
| Improve this Doc View Source

MapPixelY

Declaration
[Range(3F, 498F)]
public int MapPixelY
Field Value
Type Description
Int32
| Improve this Doc View Source

RightNeighbour

Declaration
public Terrain RightNeighbour
Field Value
Type Description
Terrain
| Improve this Doc View Source

TerrainScale

Declaration
[Range(1F, 10F)]
public float TerrainScale
Field Value
Type Description
Single
| Improve this Doc View Source

TileMap

Declaration
[NonSerialized]
public Color32[] TileMap
Field Value
Type Description
Color32[]
| Improve this Doc View Source

TopNeighbour

Declaration
public Terrain TopNeighbour
Field Value
Type Description
Terrain

Properties

| Improve this Doc View Source

HeightMapPixelError

Declaration
public float HeightMapPixelError { get; set; }
Property Value
Type Description
Single
| Improve this Doc View Source

TerrainMaterial

Declaration
public Material TerrainMaterial { get; set; }
Property Value
Type Description
Material

Methods

| Improve this Doc View Source

BeginMapPixelDataUpdate(ITerrainTexturing)

Update map pixel data based on current coordinates. (first of a two stage process)

  1. BeginMapPixelDataUpdate - Schedules terrain data update using jobs system.
  2. CompleteMapPixelDataUpdate - Completes terrain data update using jobs system.
Declaration
public JobHandle BeginMapPixelDataUpdate(ITerrainTexturing terrainTexturing = null)
Parameters
Type Name Description
ITerrainTexturing terrainTexturing

Instance of ITerrainTexturing implementation class to use.

Returns
Type Description
Unity.Jobs.JobHandle

JobHandle of the scheduled jobs

| Improve this Doc View Source

CompleteMapPixelDataUpdate(ITerrainTexturing)

Complete terrain data update using jobs system. (second of a two stage process)

Declaration
public void CompleteMapPixelDataUpdate(ITerrainTexturing terrainTexturing = null)
Parameters
Type Name Description
ITerrainTexturing terrainTexturing

Instance of ITerrainTexturing implementation class to use.

| Improve this Doc View Source

Finalize()

Declaration
protected void Finalize()
| Improve this Doc View Source

InstantiateTerrain()

This must be called when first creating terrain or before updating terrain. Safe to call multiple times. Recreates expired volatile objects on subsequent calls.

Declaration
public void InstantiateTerrain()
| Improve this Doc View Source

PromoteTerrainData()

Promote data to live terrain. This must be called after other processing complete.

Declaration
public void PromoteTerrainData()
| Improve this Doc View Source

RaiseOnInstantiateTerrainEvent()

Declaration
protected virtual void RaiseOnInstantiateTerrainEvent()
| Improve this Doc View Source

RaiseOnPromoteTerrainDataEvent(TerrainData)

Declaration
protected virtual void RaiseOnPromoteTerrainDataEvent(TerrainData terrainData)
Parameters
Type Name Description
TerrainData terrainData
| Improve this Doc View Source

UpdateClimateMaterial(Boolean)

Updates climate material based on current map pixel data. Use PromoteTerrainData() to apply changes.

Declaration
public void UpdateClimateMaterial(bool init = false)
Parameters
Type Name Description
Boolean init
| Improve this Doc View Source

UpdateNeighbours()

Updates neighbour terrains.

Declaration
public void UpdateNeighbours()

Events

| Improve this Doc View Source

OnInstantiateTerrain

Declaration
public static event DaggerfallTerrain.OnInstantiateTerrainEventHandler OnInstantiateTerrain
Event Type
Type Description
DaggerfallTerrain.OnInstantiateTerrainEventHandler
| Improve this Doc View Source

OnPromoteTerrainData

Declaration
public static event DaggerfallTerrain.OnPromoteTerrainDataEventHandler OnPromoteTerrainData
Event Type
Type Description
DaggerfallTerrain.OnPromoteTerrainDataEventHandler

Extension Methods

MBExtensions.Invoke(MonoBehaviour, Action, Single)
MBExtensions.Invoke<T>(MonoBehaviour, Action<T>, T, Single)
MBExtensions.Invoke<T1, T2>(MonoBehaviour, Action<T1, T2>, T1, T2, Single)
MBExtensions.Invoke<T1, T2, T3>(MonoBehaviour, Action<T1, T2, T3>, T1, T2, T3, Single)
MBExtensions.Invoke<T1, T2, T3, T4>(MonoBehaviour, Action<T1, T2, T3, T4>, T1, T2, T3, T4, Single)
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX