EscapeShooter/My project/Assets/Project Files/Game/Scripts/UI/Custom UI Particle/UIParticleSettings.cs

70 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Watermelon.UI.Particle
{
[CreateAssetMenu(menuName = "Data/UI Particles/Custom UI Particle Settings", fileName = "Custom UI Particle Settings")]
public class UIParticleSettings : ScriptableObject
{
public GameObject uiParticlePrefab;
public Sprite sprite;
[Space]
public bool playOnAwake;
public float startDelay;
public DuoFloat startSize;
public DuoColor startDuoColor;
public float gravityModifier;
[Space]
public Shape shape;
public float circleRadius;
public Vector2 rectSize;
[Range(0f, 1f)] public float spherizeDirection;
[Space]
public DuoFloat lifetime;
public int emissionPerSecond;
public BurstSettings[] bursts;
[Space]
public DuoFloat angle;
[Space]
public bool speed3d;
public DuoFloat speed;
public DuoVector3 speed3dValues;
public DuoFloat dumping;
[Space]
public AnimationCurve scaleCurve;
[Space]
public bool rotationOverLifetime;
public DuoFloat angularSpeed;
[Space]
public bool colorOverLifetime;
public Gradient colorOverLifetimeGradient;
public enum Shape
{
Point = 0,
Circle = 1,
Rect = 2,
}
[System.Serializable]
public class BurstSettings
{
public int count;
public int loopsCount;
public float interval;
public float delay;
}
}
}