Skip to content

TreeManager

Graydon edited this page Mar 21, 2017 · 7 revisions

public class TreeManager

Base Class: SimulationManagerBase<TreeManager, TreeProperties>
Implements: IRenderableManager
Implements: ISimulationManager
Implements: ITerrainManager

Fields

public int m_treeCount
public int m_infoCount
public RenderTexture m_renderDiffuseTexture
public RenderTexture m_renderXycaTexture
public RenderTexture m_renderShadowTexture
public Array32<TreeInstance> m_trees
public ulong[] m_updatedTrees
public bool m_treesUpdated
public uint[] m_treeGrid
public MaterialPropertyBlock m_materialBlock
public int ID_XYCAMap
public int ID_ShadowAMap
public int ID_ShadowMatrix
public int ID_Color
public int ID_TileRect
public int[] ID_TreeLocation
public int[] ID_TreeColor
public int m_treeLayer
private int m_renderPass
private Camera m_renderCamera
private CameraInfo m_cameraInfo
private Quaternion m_lastShadowRotation
private Quaternion m_lastCameraRotation
public const float TREEGRID_CELL_SIZE = 32
public const int TREEGRID_RESOLUTION = 540
public const int MAX_TREE_COUNT = 262144
public const int MAX_MAP_TREES = 250000
public const int MAX_ASSET_TREES = 64

Methods

protected void Awake()
public void InitializeProperties(TreeProperties properties)
public void DestroyProperties(TreeProperties properties)
private void OnDestroy()
public void InitRenderData()
private IEnumerator InitRenderDataImpl()
private void OnPostRender()
protected void BeginRenderingImpl(CameraInfo cameraInfo)
protected void EndRenderingImpl(CameraInfo cameraInfo)
public float SampleSmoothHeight(Vector3 worldPos)
public bool CheckLimits()
public bool CreateTree(out uint tree, ref Randomizer randomizer, TreeInfo info, Vector3 position, bool single)
public void ReleaseTree(uint tree)
private void InitializeTree(uint tree, ref TreeInstance data, bool assetEditor)
private void ReleaseTreeImplementation(uint tree, ref TreeInstance data)
private void UpdateTree(uint tree)
public void UpdateTrees(float minX, float minZ, float maxX, float maxZ)
public void UpdateTreeRenderer(uint tree, bool updateGroup)
public bool OverlapQuad(Quad2 quad, float minY, float maxY, int layer, uint ignoreTree)
public bool RayCast(Segment3 ray, Service service, SubService subService, Layer itemLayers, Flags ignoreFlags, out Vector3 hit, out uint treeIndex)
protected void SimulationStepImpl(int subStep)
public void TerrainUpdated(TerrainArea heightArea, TerrainArea surfaceArea, TerrainArea zoneArea)
public void AfterTerrainUpdate(TerrainArea heightArea, TerrainArea surfaceArea, TerrainArea zoneArea)
public void CalculateAreaHeight(float minX, float minZ, float maxX, float maxZ, out int num, out float min, out float avg, out float max)
public bool CalculateGroupData(int groupX, int groupZ, int layer, ref int vertexCount, ref int triangleCount, ref int objectCount, ref VertexArrays vertexArrays)
public void PopulateGroupData(int groupX, int groupZ, int layer, ref int vertexIndex, ref int triangleIndex, Vector3 groupPosition, MeshData data, ref Vector3 min, ref Vector3 max, ref float maxRenderDistance, ref float maxInstanceDistance, ref bool requireSurfaceMaps)
public void UpdateData(UpdateMode mode)
public void GetData(FastList<IDataContainer> data)
string ISimulationManager.GetName()
ThreadProfiler ISimulationManager.GetSimulationProfiler()
void ISimulationManager.SimulationStep(int subStep)
string IRenderableManager.GetName()
DrawCallData IRenderableManager.GetDrawCallData()
void IRenderableManager.BeginRendering(CameraInfo cameraInfo)
void IRenderableManager.EndRendering(CameraInfo cameraInfo)
void IRenderableManager.BeginOverlay(CameraInfo cameraInfo)
void IRenderableManager.EndOverlay(CameraInfo cameraInfo)
void IRenderableManager.UndergroundOverlay(CameraInfo cameraInfo)

Clone this wiki locally