Files
gpd-925-en/SOLID/Assets/Scripts/NonSolid/AreaOfEffect.cs
T

45 lines
1.2 KiB
C#

using System;
using UnityEngine;
namespace NonSolid
{
public enum AreaOfEffectType
{
Circle,
Line,
Rectangle,
Polygon,
Hexagon
}
public class AreaOfEffect : MonoBehaviour
{
[SerializeField] private AreaOfEffectType _areaOfEffectType;
[SerializeField] private float _radius = 10.0f; // circle
[SerializeField] private float _length = 10.0f; // line
[SerializeField] private float _width = 1.0f; // line
[SerializeField] private Rect _rect; // rectangle
private void OnCollisionEnter(Collision other)
{
float area = 0.0f;
switch (_areaOfEffectType)
{
case AreaOfEffectType.Circle:
area = Mathf.PI * _radius * _radius;
break;
case AreaOfEffectType.Line:
break;
case AreaOfEffectType.Rectangle:
break;
case AreaOfEffectType.Polygon:
break;
case AreaOfEffectType.Hexagon:
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
}