using System.Collections.Generic;
using UnityEngine;
namespace MagicaCloth2
{
[System.Serializable]
public class CullingSettings : IDataValidate
{
///
/// Camera culling mode.
/// カメラカリングモード
///
public enum CameraCullingMode
{
///
/// No culling.
/// カリングは行わない
///
Off = 0,
///
/// Simulation resets when hidden from camera.
/// カメラから非表示になるとシミュレーションはリセットされる
///
Reset = 10,
///
/// Simulation pauses when hidden from camera.
/// カメラから非表示になるとシミュレーションは一時停止する
///
Keep = 20,
///
/// Automatically set from linked animator.
/// 連動アニメーターから自動設定する
/// - Animator.CullingMode.AlwaysAnimate -> Off
/// - Animator.CullingMode.CullUpdateTransforms -> Reset
/// - Animator.CullingMode.CullCompletely -> Keep
///
AnimatorLinkage = 30,
}
///
/// Camera culling method.
/// カリング方式
///
public enum CameraCullingMethod
{
///
/// Work with an animator.
/// アニメーターと連動する
///
AutomaticRenderer = 0,
///
/// Determine from user-specified renderer.
/// ユーザー指定のレンダラーから判定する
///
ManualRenderer = 10,
}
///
/// Camera culling mode.
/// カメラカリングモード
/// [OK] Runtime changes.
/// [NG] Export/Import with Presets
///
public CameraCullingMode cameraCullingMode = CameraCullingMode.AnimatorLinkage;
///
/// Camera culling judgment method.
/// カメラカリング判定方式
/// [OK] Runtime changes.
/// [NG] Export/Import with Presets
///
public CameraCullingMethod cameraCullingMethod = CameraCullingMethod.AutomaticRenderer;
///
/// User-specified camera culling judgment renderer.
/// ユーザー指定のカメラカリング判定用レンダラー
/// [OK] Runtime changes.
/// [NG] Export/Import with Presets
///
public List cameraCullingRenderers = new List();
public void DataValidate()
{
}
public CullingSettings Clone()
{
return new CullingSettings()
{
cameraCullingMode = cameraCullingMode,
cameraCullingMethod = cameraCullingMethod,
cameraCullingRenderers = new List(cameraCullingRenderers),
};
}
///
/// エディタメッシュの更新を判定するためのハッシュコード
/// (このハッシュは実行時には利用されない編集用のもの)
///
///
public override int GetHashCode() => 0;
}
}