Files
2026-03-04 10:03:45 +08:00

32 lines
950 B
C#

using UnityEngine;
namespace Gaia
{
public class GaiaSceneInfo
{
public Bounds m_sceneBounds;
public Vector3 m_centrePointOnTerrain = Vector3.zero;
public float m_seaLevel;
public static GaiaSceneInfo GetSceneInfo()
{
GaiaSceneInfo gaiaSceneInfo = new GaiaSceneInfo();
Terrain activeTerrain = TerrainHelper.GetActiveTerrain();
if (activeTerrain == null)
{
Debug.LogWarning("You must have a valid terrain for sceneinfo to work correctly.");
}
else
{
GaiaSessionManager sessionManager = GaiaSessionManager.GetSessionManager();
TerrainHelper.GetTerrainBounds(activeTerrain, ref gaiaSceneInfo.m_sceneBounds);
gaiaSceneInfo.m_seaLevel = sessionManager.GetSeaLevel();
gaiaSceneInfo.m_centrePointOnTerrain = new Vector3(gaiaSceneInfo.m_sceneBounds.center.x, activeTerrain.SampleHeight(gaiaSceneInfo.m_sceneBounds.center), gaiaSceneInfo.m_sceneBounds.center.z);
}
return gaiaSceneInfo;
}
}
}