Files
BABA_YAGA/Assets/Third Parties/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceStructs.cs
Scove 3e39117acc Consolidate third-party plugins into Assets/Plugins
Move and consolidate many third-party plugin files and metadata from various locations (notably Assets/Third Parties/Plugins 1 and scattered Opsive/Photon folders) into a unified Assets/Plugins directory. Includes DOTween, PrimeTween, Native/BackroomsNoise, Sirenix/Odin Inspector, and Opsive UltimateCharacterController/shared libs, plus updates to several .meta files and removal of obsolete installer/legacy files. This standardizes plugin layout and cleans up duplicate/obsolete assets.
2026-06-16 18:41:44 +07:00

57 lines
2.1 KiB
C#

/// ---------------------------------------------
/// Ultimate Character Controller
/// Copyright (c) Opsive. All Rights Reserved.
/// https://www.opsive.com
/// ---------------------------------------------
namespace Opsive.UltimateCharacterController.SurfaceSystem
{
using UnityEngine;
/// <summary>
/// A ImpactEffect pairs the SurfaceImpact with a SurfaceEffect.
/// </summary>
[System.Serializable]
public struct ImpactEffect
{
#pragma warning disable 0649
[Tooltip("The SurfaceImpact which triggers the SurfaceEffect.")]
[SerializeField] private SurfaceImpact m_SurfaceImpact;
[Tooltip("The SurfaceEffect to spawn when triggered by the SurfaceImpact.")]
[SerializeField] private SurfaceEffect m_SurfaceEffect;
#pragma warning restore 0649
public SurfaceImpact SurfaceImpact { get { return m_SurfaceImpact; } }
public SurfaceEffect SurfaceEffect { get { return m_SurfaceEffect; } }
}
/// <summary>
/// Maps a texture to a set of UV coordinates.
/// </summary>
[System.Serializable]
public struct UVTexture
{
[Tooltip("The texture to map the UV coordinates to.")]
[SerializeField] private Texture m_Texture;
[Tooltip("The UV coordinates of the texture.")]
[SerializeField] private Rect m_UV;
public Texture Texture { get { return m_Texture; } set { m_Texture = value; } }
public Rect UV { get { return m_UV; } set { m_UV = value; } }
}
/// <summary>
/// Represets a default surface listed within the SurfaceManager.
/// </summary>
[System.Serializable]
public struct ObjectSurface
{
[Tooltip("The type of surface represented.")]
[SerializeField] private SurfaceType m_SurfaceType;
[Tooltip("The textures which go along with the specified SurfaceType.")]
[SerializeField] private UVTexture[] m_UVTextures;
public SurfaceType SurfaceType { get { return m_SurfaceType; } set { m_SurfaceType = value; } }
public UVTexture[] UVTextures { get { return m_UVTextures; } set { m_UVTextures = value; } }
}
}