// Magica Cloth.
// Copyright (c) MagicaSoft, 2020-2022.
// https://magicasoft.jp
using UnityEngine;
namespace MagicaCloth
{
///
/// 方向性の風(これはワールド全体に影響を与える)
///
[HelpURL("https://magicasoft.jp/directional-wind/")]
[AddComponentMenu("MagicaCloth/MagicaDirectionalWind")]
public partial class MagicaDirectionalWind : WindComponent
{
public override ComponentType GetComponentType()
{
return ComponentType.DirectionalWind;
}
///
/// 風タイプを返す
///
///
public override PhysicsManagerWindData.WindType GetWindType()
{
return PhysicsManagerWindData.WindType.Direction;
}
///
/// 形状タイプを返す
///
///
public override PhysicsManagerWindData.ShapeType GetShapeType()
{
return PhysicsManagerWindData.ShapeType.Box;
}
///
/// 風向きタイプを返す
///
///
public override PhysicsManagerWindData.DirectionType GetDirectionType()
{
return PhysicsManagerWindData.DirectionType.OneDirection;
}
///
/// 風が加算モードか返す
///
///
public override bool IsAddition()
{
return false;
}
///
/// エリアサイズを返す
///
///
public override Vector3 GetAreaSize()
{
return new Vector3(float.MaxValue, float.MaxValue, float.MaxValue);
}
///
/// アンカー位置を返す
///
///
//public override Vector3 GetAnchor()
//{
// return Vector3.zero;
//}
///
/// 風エリアの体積を返す
///
///
public override float GetAreaVolume()
{
return 100000000;
}
///
/// 風エリアの最大距離を返す
///
///
public override float GetAreaLength()
{
return float.MaxValue;
}
//=========================================================================================
///
/// パラメータ初期化
///
protected override void ResetParams()
{
main = 5;
turbulence = 1;
frequency = 1;
areaSize = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue);
//anchor = Vector3.zero;
directionAngleX = 0;
directionAngleY = 0;
directionType = PhysicsManagerWindData.DirectionType.OneDirection;
attenuation.SetParam(1, 1, false, 0, false);
}
}
}