My Project v1
Project
载入中...
搜索中...
未找到
Game.TerrainUpdater
Game.TerrainUpdater 的协作图:

struct  LightSource
 
struct  UpdateLocation
 
struct  UpdateParameters
 
class  UpdateStatistics
 

Public 成员函数

 TerrainUpdater (SubsystemTerrain subsystemTerrain)
 
virtual void Dispose ()
 
virtual void RequestSynchronousUpdate ()
 
virtual void SetUpdateLocation (int locationIndex, Vector2 center, float visibilityDistance, float contentDistance)
 
virtual void RemoveUpdateLocation (int locationIndex)
 
virtual float GetUpdateProgress (int locationIndex, float visibilityDistance, float contentDistance)
 
virtual void Update ()
 
virtual void PrepareForDrawing (Camera camera)
 
virtual void DowngradeChunkNeighborhoodState (Point2 coordinates, int radius, TerrainChunkState state, bool forceGeometryRegeneration)
 
virtual void DowngradeAllChunksState (TerrainChunkState state, bool forceGeometryRegeneration)
 
virtual bool AllocateAndFreeChunks (UpdateLocation[] locations)
 
virtual bool SendReceiveChunkStates ()
 
virtual void SendReceiveChunkStatesThread ()
 
virtual void ThreadUpdateFunction ()
 
virtual bool SynchronousUpdateFunction ()
 
virtual TerrainChunk FindBestChunkToUpdate (out TerrainChunkState desiredState)
 
virtual List< TerrainChunkDetermineSynchronousUpdateChunks (Vector3 viewPosition, Vector3 viewDirection)
 
virtual void UpdateChunkSingleStep (TerrainChunk chunk, int skylightValue)
 
virtual void GenerateChunkSunLightAndHeight (TerrainChunk chunk, int skylightValue)
 
virtual void GenerateChunkLightSources (TerrainChunk chunk)
 
virtual void GenerateChunkEdgeLightSources (TerrainChunk chunk, int face)
 
virtual void PropagateLightSource (int x, int y, int z, int light)
 
virtual void PropagateLightSources ()
 
virtual void PropagateLightSource (TerrainChunk chunk, int x, int y, int z, int light)
 
virtual void GenerateChunkVertices (TerrainChunk chunk, int stage)
 
virtual void CalculateChunkSliceContentsHashes (TerrainChunk chunk)
 
virtual void NotifyBlockBehaviors (TerrainChunk chunk)
 
virtual void UnpauseUpdateThread ()
 
virtual void SettingsManager_SettingChanged (string name)
 

静态 Public 成员函数

static bool IsChunkInRange (Vector2 chunkCenter, ref TerrainUpdater.UpdateLocation location)
 
static bool IsChunkInRange (Vector2 chunkCenter, UpdateLocation[] locations)
 

Public 属性

FloatCurve TemperatureCurve = new FloatCurve(new Vector2(0f, 0f), new Vector2(0.125f, 0f), new Vector2(0.25f, 0f), new Vector2(0.375f, -4f), new Vector2(0.5f, -12f), new Vector2(0.625f, -24f), new Vector2(0.75f, -12f), new Vector2(0.875f, -4f), new Vector2(1f, 0f))
 
FloatCurve HumidityCurve = new FloatCurve(new Vector2(0f, 0f), new Vector2(0.25f, 0f), new Vector2(0.5f, 0f), new Vector2(0.75f, 0f), new Vector2(1f, 0f))
 
SubsystemTerrain m_subsystemTerrain
 
SubsystemGameInfo m_subsystemGameInfo
 
SubsystemSky m_subsystemSky
 
SubsystemSeasons m_subsystemSeasons
 
SubsystemAnimatedTextures m_subsystemAnimatedTextures
 
SubsystemBlockBehaviors m_subsystemBlockBehaviors
 
Terrain m_terrain
 
DynamicArray< LightSourcem_lightSources = []
 
UpdateStatistics m_statistics = new()
 
Task m_task
 
AutoResetEvent m_updateEvent = new(initialState: true)
 
ManualResetEvent m_pauseEvent = new(initialState: true)
 
volatile bool m_quitUpdateThread
 
bool m_unpauseUpdateThread
 
object m_updateParametersLock = new()
 
object m_unpauseLock = new()
 
UpdateParameters m_updateParameters
 
UpdateParameters m_threadUpdateParameters
 
int m_lastSkylightValue
 
int m_synchronousUpdateFrame
 
Dictionary< int, UpdateLocation?> m_pendingLocations = []
 

静态 Public 属性

const int m_lightAttenuationWithDistance = 1
 
const float m_updateHysteresis = 8f
 
static int ChunkUpdates
 
static int SlowTerrainUpdate
 
static bool LogTerrainUpdateStats
 

属性

AutoResetEvent UpdateEvent [get]
 

事件

Action< TerrainChunkChunkInitialized
 

构造及析构函数说明

◆ TerrainUpdater()

Game.TerrainUpdater.TerrainUpdater ( SubsystemTerrain subsystemTerrain)
函数调用图:

成员函数说明

◆ AllocateAndFreeChunks()

virtual bool Game.TerrainUpdater.AllocateAndFreeChunks ( UpdateLocation[] locations)
virtual
函数调用图:
这是这个函数的调用关系图:

◆ CalculateChunkSliceContentsHashes()

virtual void Game.TerrainUpdater.CalculateChunkSliceContentsHashes ( TerrainChunk chunk)
virtual
函数调用图:
这是这个函数的调用关系图:

◆ DetermineSynchronousUpdateChunks()

virtual List< TerrainChunk > Game.TerrainUpdater.DetermineSynchronousUpdateChunks ( Vector3 viewPosition,
Vector3 viewDirection )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ Dispose()

virtual void Game.TerrainUpdater.Dispose ( )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ DowngradeAllChunksState()

virtual void Game.TerrainUpdater.DowngradeAllChunksState ( TerrainChunkState state,
bool forceGeometryRegeneration )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ DowngradeChunkNeighborhoodState()

virtual void Game.TerrainUpdater.DowngradeChunkNeighborhoodState ( Point2 coordinates,
int radius,
TerrainChunkState state,
bool forceGeometryRegeneration )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ FindBestChunkToUpdate()

virtual TerrainChunk Game.TerrainUpdater.FindBestChunkToUpdate ( out TerrainChunkState desiredState)
virtual
这是这个函数的调用关系图:

◆ GenerateChunkEdgeLightSources()

virtual void Game.TerrainUpdater.GenerateChunkEdgeLightSources ( TerrainChunk chunk,
int face )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ GenerateChunkLightSources()

virtual void Game.TerrainUpdater.GenerateChunkLightSources ( TerrainChunk chunk)
virtual
函数调用图:
这是这个函数的调用关系图:

◆ GenerateChunkSunLightAndHeight()

virtual void Game.TerrainUpdater.GenerateChunkSunLightAndHeight ( TerrainChunk chunk,
int skylightValue )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ GenerateChunkVertices()

virtual void Game.TerrainUpdater.GenerateChunkVertices ( TerrainChunk chunk,
int stage )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ GetUpdateProgress()

virtual float Game.TerrainUpdater.GetUpdateProgress ( int locationIndex,
float visibilityDistance,
float contentDistance )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ IsChunkInRange() [1/2]

static bool Game.TerrainUpdater.IsChunkInRange ( Vector2 chunkCenter,
ref TerrainUpdater.UpdateLocation location )
static
这是这个函数的调用关系图:

◆ IsChunkInRange() [2/2]

static bool Game.TerrainUpdater.IsChunkInRange ( Vector2 chunkCenter,
UpdateLocation[] locations )
static
函数调用图:

◆ NotifyBlockBehaviors()

virtual void Game.TerrainUpdater.NotifyBlockBehaviors ( TerrainChunk chunk)
virtual
函数调用图:
这是这个函数的调用关系图:

◆ PrepareForDrawing()

virtual void Game.TerrainUpdater.PrepareForDrawing ( Camera camera)
virtual
函数调用图:
这是这个函数的调用关系图:

◆ PropagateLightSource() [1/2]

virtual void Game.TerrainUpdater.PropagateLightSource ( int x,
int y,
int z,
int light )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ PropagateLightSource() [2/2]

virtual void Game.TerrainUpdater.PropagateLightSource ( TerrainChunk chunk,
int x,
int y,
int z,
int light )
virtual
函数调用图:

◆ PropagateLightSources()

virtual void Game.TerrainUpdater.PropagateLightSources ( )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ RemoveUpdateLocation()

virtual void Game.TerrainUpdater.RemoveUpdateLocation ( int locationIndex)
virtual

◆ RequestSynchronousUpdate()

virtual void Game.TerrainUpdater.RequestSynchronousUpdate ( )
virtual
这是这个函数的调用关系图:

◆ SendReceiveChunkStates()

virtual bool Game.TerrainUpdater.SendReceiveChunkStates ( )
virtual
这是这个函数的调用关系图:

◆ SendReceiveChunkStatesThread()

virtual void Game.TerrainUpdater.SendReceiveChunkStatesThread ( )
virtual
这是这个函数的调用关系图:

◆ SettingsManager_SettingChanged()

virtual void Game.TerrainUpdater.SettingsManager_SettingChanged ( string name)
virtual
函数调用图:
这是这个函数的调用关系图:

◆ SetUpdateLocation()

virtual void Game.TerrainUpdater.SetUpdateLocation ( int locationIndex,
Vector2 center,
float visibilityDistance,
float contentDistance )
virtual
这是这个函数的调用关系图:

◆ SynchronousUpdateFunction()

virtual bool Game.TerrainUpdater.SynchronousUpdateFunction ( )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ ThreadUpdateFunction()

virtual void Game.TerrainUpdater.ThreadUpdateFunction ( )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ UnpauseUpdateThread()

virtual void Game.TerrainUpdater.UnpauseUpdateThread ( )
virtual
这是这个函数的调用关系图:

◆ Update()

virtual void Game.TerrainUpdater.Update ( )
virtual
函数调用图:
这是这个函数的调用关系图:

◆ UpdateChunkSingleStep()

virtual void Game.TerrainUpdater.UpdateChunkSingleStep ( TerrainChunk chunk,
int skylightValue )
virtual
函数调用图:
这是这个函数的调用关系图:

类成员变量说明

◆ ChunkUpdates

int Game.TerrainUpdater.ChunkUpdates
static

◆ HumidityCurve

FloatCurve Game.TerrainUpdater.HumidityCurve = new FloatCurve(new Vector2(0f, 0f), new Vector2(0.25f, 0f), new Vector2(0.5f, 0f), new Vector2(0.75f, 0f), new Vector2(1f, 0f))

◆ LogTerrainUpdateStats

bool Game.TerrainUpdater.LogTerrainUpdateStats
static

◆ m_lastSkylightValue

int Game.TerrainUpdater.m_lastSkylightValue

◆ m_lightAttenuationWithDistance

const int Game.TerrainUpdater.m_lightAttenuationWithDistance = 1
static

◆ m_lightSources

DynamicArray<LightSource> Game.TerrainUpdater.m_lightSources = []

◆ m_pauseEvent

ManualResetEvent Game.TerrainUpdater.m_pauseEvent = new(initialState: true)

◆ m_pendingLocations

Dictionary<int, UpdateLocation?> Game.TerrainUpdater.m_pendingLocations = []

◆ m_quitUpdateThread

volatile bool Game.TerrainUpdater.m_quitUpdateThread

◆ m_statistics

UpdateStatistics Game.TerrainUpdater.m_statistics = new()

◆ m_subsystemAnimatedTextures

SubsystemAnimatedTextures Game.TerrainUpdater.m_subsystemAnimatedTextures

◆ m_subsystemBlockBehaviors

SubsystemBlockBehaviors Game.TerrainUpdater.m_subsystemBlockBehaviors

◆ m_subsystemGameInfo

SubsystemGameInfo Game.TerrainUpdater.m_subsystemGameInfo

◆ m_subsystemSeasons

SubsystemSeasons Game.TerrainUpdater.m_subsystemSeasons

◆ m_subsystemSky

SubsystemSky Game.TerrainUpdater.m_subsystemSky

◆ m_subsystemTerrain

SubsystemTerrain Game.TerrainUpdater.m_subsystemTerrain

◆ m_synchronousUpdateFrame

int Game.TerrainUpdater.m_synchronousUpdateFrame

◆ m_task

Task Game.TerrainUpdater.m_task

◆ m_terrain

Terrain Game.TerrainUpdater.m_terrain

◆ m_threadUpdateParameters

UpdateParameters Game.TerrainUpdater.m_threadUpdateParameters

◆ m_unpauseLock

object Game.TerrainUpdater.m_unpauseLock = new()

◆ m_unpauseUpdateThread

bool Game.TerrainUpdater.m_unpauseUpdateThread

◆ m_updateEvent

AutoResetEvent Game.TerrainUpdater.m_updateEvent = new(initialState: true)

◆ m_updateHysteresis

const float Game.TerrainUpdater.m_updateHysteresis = 8f
static

◆ m_updateParameters

UpdateParameters Game.TerrainUpdater.m_updateParameters

◆ m_updateParametersLock

object Game.TerrainUpdater.m_updateParametersLock = new()

◆ SlowTerrainUpdate

int Game.TerrainUpdater.SlowTerrainUpdate
static

◆ TemperatureCurve

FloatCurve Game.TerrainUpdater.TemperatureCurve = new FloatCurve(new Vector2(0f, 0f), new Vector2(0.125f, 0f), new Vector2(0.25f, 0f), new Vector2(0.375f, -4f), new Vector2(0.5f, -12f), new Vector2(0.625f, -24f), new Vector2(0.75f, -12f), new Vector2(0.875f, -4f), new Vector2(1f, 0f))

属性说明

◆ UpdateEvent

AutoResetEvent Game.TerrainUpdater.UpdateEvent
get

事件说明

◆ ChunkInitialized

Action<TerrainChunk> Game.TerrainUpdater.ChunkInitialized

该类的文档由以下文件生成: