123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #if UNITY_EDITOR
- using UnityEngine;
- namespace O3DWB
- {
- public class Octave3DTerrainCollider : Octave3DCollider
- {
- #region Private Methods
- private TerrainCollider _terrainCollider;
- #endregion
- #region Public Properties
- public TerrainCollider TerrainCollider { get { return _terrainCollider; } }
- #endregion
- #region Constructors
- public Octave3DTerrainCollider(TerrainCollider terrainCollider)
- {
- _terrainCollider = terrainCollider;
- }
- #endregion
- #region Public Methods
- public override Octave3DColliderType GetColliderType()
- {
- return Octave3DColliderType.Terrain;
- }
- public override bool Raycast(Ray ray, out Octave3DColliderRayHit colliderRayHit)
- {
- colliderRayHit = null;
- RaycastHit rayHit;
- if (_terrainCollider.Raycast(ray, out rayHit, float.MaxValue))
- colliderRayHit = new Octave3DColliderRayHit(ray, rayHit.distance, rayHit.point, rayHit.normal, this);
- return colliderRayHit != null;
- }
- #endregion
- }
- }
- #endif
|