Add Unity materials and prefabs for game objects for SOLID
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user