cvr-props/Assets/ABI.CCK/Components/CVRHapticAreaChest.cs

87 lines
3 KiB
C#
Raw Normal View History

2023-01-22 16:38:23 +01:00
using UnityEngine;
namespace ABI.CCK.Components
{
[AddComponentMenu("ChilloutVR/CVR Haptic Area Chest")]
[HelpURL("https://developers.abinteractive.net/cck/components/haptic-chest-area/")]
public class CVRHapticAreaChest : MonoBehaviour, ICCK_Component
2023-01-22 16:38:23 +01:00
{
public Vector3 chestAreaSize = new Vector3(0.05f, 0.05f, 0.05f);
[HideInInspector]
public Vector3[] HapticPoints40 = new []
{
new Vector3(-0.75f, 0.8f, 1f),
new Vector3(-0.25f, 0.8f, 1f),
new Vector3(0.25f, 0.8f, 1f),
new Vector3(0.75f, 0.8f, 1f),
new Vector3(-0.75f, 0.4f, 1f),
new Vector3(-0.25f, 0.4f, 1f),
new Vector3(0.25f, 0.4f, 1f),
new Vector3(0.75f, 0.4f, 1f),
new Vector3(-0.75f, 0f, 1f),
new Vector3(-0.25f, 0f, 1f),
new Vector3(0.25f, 0f, 1f),
new Vector3(0.75f, 0f, 1f),
new Vector3(-0.75f, -0.4f, 1f),
new Vector3(-0.25f, -0.4f, 1f),
new Vector3(0.25f, -0.4f, 1f),
new Vector3(0.75f, -0.4f, 1f),
new Vector3(-0.75f, -0.8f, 1f),
new Vector3(-0.25f, -0.8f, 1f),
new Vector3(0.25f, -0.8f, 1f),
new Vector3(0.75f, -0.8f, 1f),
new Vector3(-0.75f, 0.8f, -1f),
new Vector3(-0.25f, 0.8f, -1f),
new Vector3(0.25f, 0.8f, -1f),
new Vector3(0.75f, 0.8f, -1f),
new Vector3(-0.75f, 0.4f, -1f),
new Vector3(-0.25f, 0.4f, -1f),
new Vector3(0.25f, 0.4f, -1f),
new Vector3(0.75f, 0.4f, -1f),
new Vector3(-0.75f, 0f, -1f),
new Vector3(-0.25f, 0f, -1f),
new Vector3(0.25f, 0f, -1f),
new Vector3(0.75f, 0f, -1f),
new Vector3(-0.75f, -0.4f, -1f),
new Vector3(-0.25f, -0.4f, -1f),
new Vector3(0.25f, -0.4f, -1f),
new Vector3(0.75f, -0.4f, -1f),
new Vector3(-0.75f, -0.8f, -1f),
new Vector3(-0.25f, -0.8f, -1f),
new Vector3(0.25f, -0.8f, -1f),
new Vector3(0.75f, -0.8f, -1f),
};
[HideInInspector]
public int selectedPoint = -1;
private void OnDrawGizmosSelected()
{
if (isActiveAndEnabled)
{
Gizmos.color = Color.yellow;
Matrix4x4 rotationMatrix = Matrix4x4.TRS(transform.position, transform.rotation, transform.lossyScale);
Gizmos.matrix = rotationMatrix;
Gizmos.DrawWireCube(Vector3.zero, chestAreaSize);
foreach (var point in HapticPoints40)
{
var localPoint = point;
localPoint.Scale(chestAreaSize * 0.5f);
Gizmos.DrawWireCube(localPoint, new Vector3(0.01f, 0.01f, 0.01f));
}
}
}
}
}