mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-02 14:29:25 +00:00
[CVRGizmos] cleanup & new gizmos
This commit is contained in:
parent
6f24bd6ff3
commit
e512c9dd70
21 changed files with 724 additions and 565 deletions
|
@ -1,8 +1,8 @@
|
|||
using CVRGizmos.GismoTypes;
|
||||
using NAK.CVRGizmos.GismoTypes;
|
||||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos
|
||||
namespace NAK.CVRGizmos
|
||||
{
|
||||
public class CVRGizmoManager : MonoBehaviour
|
||||
{
|
||||
|
@ -25,6 +25,9 @@ namespace CVRGizmos
|
|||
typeof(CVRGizmos_Avatar),
|
||||
typeof(CVRGizmos_AvatarPickupMarker),
|
||||
typeof(CVRGizmos_DistanceConstrain),
|
||||
typeof(CVRGizmos_BoxCollider),
|
||||
typeof(CVRGizmos_SphereCollider),
|
||||
typeof(CVRGizmos_CapsuleCollider),
|
||||
};
|
||||
|
||||
void Start()
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk"/>
|
||||
<Project Sdk="Microsoft.NET.Sdk" />
|
||||
|
|
|
@ -8,41 +8,40 @@ CVRAdvancedAvatarSettingsPointer shouldn't really be used at this point. Only in
|
|||
|
||||
**/
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_AdvancedAvatarSettingsPointer : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_AdvancedAvatarSettingsPointer : CVRGizmoBase
|
||||
public static CVRAdvancedAvatarSettingsPointer[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRAdvancedAvatarSettingsPointer[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAdvancedAvatarSettingsPointer)) as CVRAdvancedAvatarSettingsPointer[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAdvancedAvatarSettingsPointer)) as CVRAdvancedAvatarSettingsPointer[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAdvancedAvatarSettingsPointer)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAdvancedAvatarSettingsPointer)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.cyan;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Sphere(Vector3.zero, 0.015f);
|
||||
}
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.cyan;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Sphere(Vector3.zero, 0.015f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,109 +3,108 @@ using ABI_RC.Core.Player;
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_AdvancedAvatarSettingsTrigger : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_AdvancedAvatarSettingsTrigger : CVRGizmoBase
|
||||
public static CVRAdvancedAvatarSettingsTrigger[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRAdvancedAvatarSettingsTrigger[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAdvancedAvatarSettingsTrigger)) as CVRAdvancedAvatarSettingsTrigger[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAdvancedAvatarSettingsTrigger)) as CVRAdvancedAvatarSettingsTrigger[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAdvancedAvatarSettingsTrigger)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAdvancedAvatarSettingsTrigger)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.cyan;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(references[i].areaOffset, Quaternion.identity, references[i].areaSize);
|
||||
if (references[i].stayTasks.Count > 0)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.cyan;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(references[i].areaOffset, Quaternion.identity, references[i].areaSize);
|
||||
if (references[i].stayTasks.Count > 0)
|
||||
for (int ii = 0; ii < references[i].stayTasks.Count(); ii++)
|
||||
{
|
||||
for (int ii = 0; ii < references[i].stayTasks.Count(); ii++)
|
||||
var stayTask = references[i].stayTasks[ii];
|
||||
float num = PlayerSetup.Instance.GetAnimatorParam(stayTask.settingName);
|
||||
switch (stayTask.updateMethod)
|
||||
{
|
||||
var stayTask = references[i].stayTasks[ii];
|
||||
float num = PlayerSetup.Instance.GetAnimatorParam(stayTask.settingName);
|
||||
switch (stayTask.updateMethod)
|
||||
{
|
||||
case CVRAdvancedAvatarSettingsTriggerTaskStay.UpdateMethod.SetFromPosition:
|
||||
{
|
||||
num = Mathf.InverseLerp(stayTask.minValue, stayTask.maxValue, num);
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
}
|
||||
case CVRAdvancedAvatarSettingsTriggerTaskStay.UpdateMethod.Add:
|
||||
num = num + stayTask.minValue / 60f;
|
||||
case CVRAdvancedAvatarSettingsTriggerTaskStay.UpdateMethod.SetFromPosition:
|
||||
{
|
||||
num = Mathf.InverseLerp(stayTask.minValue, stayTask.maxValue, num);
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTriggerTaskStay.UpdateMethod.Subtract:
|
||||
num = num - stayTask.minValue / 60f;
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
Vector3 vector = new Vector3(references[i].areaSize.x * 0.5f, references[i].areaSize.y * 0.5f, references[i].areaSize.z * 0.5f);
|
||||
switch (references[i].sampleDirection)
|
||||
{
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.XPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
}
|
||||
case CVRAdvancedAvatarSettingsTriggerTaskStay.UpdateMethod.Add:
|
||||
num = num + stayTask.minValue / 60f;
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.XNegative:
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.YPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.YNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.ZPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.ZNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
case CVRAdvancedAvatarSettingsTriggerTaskStay.UpdateMethod.Subtract:
|
||||
num = num - stayTask.minValue / 60f;
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
return;
|
||||
}
|
||||
}
|
||||
Vector3 vector = new Vector3(references[i].areaSize.x * 0.5f, references[i].areaSize.y * 0.5f, references[i].areaSize.z * 0.5f);
|
||||
switch (references[i].sampleDirection)
|
||||
{
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.XPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.XNegative:
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.YPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.YNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.ZPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRAdvancedAvatarSettingsTrigger.SampleDirection.ZNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,48 +2,47 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_Avatar : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_Avatar : CVRGizmoBase
|
||||
public static CVRAvatar[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRAvatar[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAvatar)) as CVRAvatar[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAvatar)) as CVRAvatar[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAvatar)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAvatar)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
//viewPosition & voicePosition seem to be rounded... not good, may be why viewpoint drift is bad on scale
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.localScale);
|
||||
Gizmos.Sphere(references[i].viewPosition, 0.01f);
|
||||
Gizmos.Line(references[i].viewPosition, references[i].viewPosition + Vector3.forward * 0.05f);
|
||||
Gizmos.Line(references[i].viewPosition, references[i].viewPosition + Vector3.right * 0.05f);
|
||||
Gizmos.Color = Color.red;
|
||||
Gizmos.Sphere(references[i].voicePosition, 0.01f);
|
||||
Gizmos.Line(references[i].voicePosition, references[i].voicePosition + Vector3.forward * 0.05f);
|
||||
Gizmos.Line(references[i].voicePosition, references[i].voicePosition + Vector3.right * 0.05f);
|
||||
}
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
//viewPosition & voicePosition seem to be rounded... not good, may be why viewpoint drift is bad on scale
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.localScale);
|
||||
Gizmos.Sphere(references[i].viewPosition, 0.01f);
|
||||
Gizmos.Line(references[i].viewPosition, references[i].viewPosition + Vector3.forward * 0.05f);
|
||||
Gizmos.Line(references[i].viewPosition, references[i].viewPosition + Vector3.right * 0.05f);
|
||||
Gizmos.Color = Color.red;
|
||||
Gizmos.Sphere(references[i].voicePosition, 0.01f);
|
||||
Gizmos.Line(references[i].voicePosition, references[i].voicePosition + Vector3.forward * 0.05f);
|
||||
Gizmos.Line(references[i].voicePosition, references[i].voicePosition + Vector3.right * 0.05f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,49 +2,48 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_AvatarPickupMarker : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_AvatarPickupMarker : CVRGizmoBase
|
||||
public static CVRAvatarPickupMarker[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRAvatarPickupMarker[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAvatarPickupMarker)) as CVRAvatarPickupMarker[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRAvatarPickupMarker)) as CVRAvatarPickupMarker[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAvatarPickupMarker)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRAvatarPickupMarker)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.magenta;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(new Vector3(0f, 0.75f, 0f), Quaternion.identity, new Vector3(1f, 1.5f, 0f));
|
||||
Gizmos.Cube(new Vector3(0f, 0.7f, 0f), Quaternion.identity, new Vector3(0.8f, 0.1f, 0f));
|
||||
Gizmos.Cube(new Vector3(0f, 0.615f, 0f), Quaternion.identity, new Vector3(0.6f, 0.07f, 0f));
|
||||
Gizmos.Cube(new Vector3(0.24f, 0.28f, 0f), Quaternion.identity, new Vector3(0.32f, 0.42f, 0f));
|
||||
Gizmos.Cube(new Vector3(-0.24f, 0.28f, 0f), Quaternion.identity, new Vector3(0.32f, 0.42f, 0f));
|
||||
Vector3 lossyScale = references[i].transform.lossyScale;
|
||||
lossyScale.Scale(new Vector3(1f, 1f, 0f));
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, lossyScale);
|
||||
Gizmos.Sphere(new Vector3(0f, 1.11f, 0f), 0.31f);
|
||||
}
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.magenta;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(new Vector3(0f, 0.75f, 0f), Quaternion.identity, new Vector3(1f, 1.5f, 0f));
|
||||
Gizmos.Cube(new Vector3(0f, 0.7f, 0f), Quaternion.identity, new Vector3(0.8f, 0.1f, 0f));
|
||||
Gizmos.Cube(new Vector3(0f, 0.615f, 0f), Quaternion.identity, new Vector3(0.6f, 0.07f, 0f));
|
||||
Gizmos.Cube(new Vector3(0.24f, 0.28f, 0f), Quaternion.identity, new Vector3(0.32f, 0.42f, 0f));
|
||||
Gizmos.Cube(new Vector3(-0.24f, 0.28f, 0f), Quaternion.identity, new Vector3(0.32f, 0.42f, 0f));
|
||||
Vector3 lossyScale = references[i].transform.lossyScale;
|
||||
lossyScale.Scale(new Vector3(1f, 1f, 0f));
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, lossyScale);
|
||||
Gizmos.Sphere(new Vector3(0f, 1.11f, 0f), 0.31f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,77 +2,76 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_DistanceConstrain : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_DistanceConstrain : CVRGizmoBase
|
||||
public static CVRDistanceConstrain[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRDistanceConstrain[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRDistanceConstrain)) as CVRDistanceConstrain[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRDistanceConstrain)) as CVRDistanceConstrain[];
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRDistanceConstrain)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRDistanceConstrain)item);
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].target == null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (references[i].maxDistance < references[i].minDistance && references[i].maxDistance != 0f)
|
||||
{
|
||||
break;
|
||||
}
|
||||
Vector3 normalized = (references[i].transform.position - references[i].target.position).normalized;
|
||||
|
||||
//BUG: Matrix addition isn't reset, other gizmo types Matrix will persist.
|
||||
//This gizmo type could be a bit fucked, but I don't have the time to test.
|
||||
Gizmos.Matrix = Matrix4x4.identity;
|
||||
|
||||
if (references[i].minDistance == 0f)
|
||||
{
|
||||
if (references[i].maxDistance == 0f)
|
||||
{
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Line(references[i].target.position, normalized * 9999f);
|
||||
break;
|
||||
}
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Line(references[i].target.position, references[i].target.position + normalized * references[i].maxDistance);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
if (references[i].maxDistance == 0f)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].target == null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (references[i].maxDistance < references[i].minDistance && references[i].maxDistance != 0f)
|
||||
{
|
||||
break;
|
||||
}
|
||||
Vector3 normalized = (references[i].transform.position - references[i].target.position).normalized;
|
||||
|
||||
//BUG: Matrix addition isn't reset, other gizmo types Matrix will persist.
|
||||
//This gizmo type could be a bit fucked, but I don't have the time to test.
|
||||
Gizmos.Matrix = Matrix4x4.identity;
|
||||
|
||||
if (references[i].minDistance == 0f)
|
||||
{
|
||||
if (references[i].maxDistance == 0f)
|
||||
{
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Line(references[i].target.position, normalized * 9999f);
|
||||
break;
|
||||
}
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Line(references[i].target.position, references[i].target.position + normalized * references[i].maxDistance);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (references[i].maxDistance == 0f)
|
||||
{
|
||||
Gizmos.Color = Color.red;
|
||||
Gizmos.Line(references[i].target.position, references[i].target.position + normalized * references[i].minDistance);
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Line(references[i].target.position + normalized * references[i].minDistance, normalized * 9999f);
|
||||
break;
|
||||
}
|
||||
Gizmos.Color = Color.red;
|
||||
Gizmos.Line(references[i].target.position, references[i].target.position + normalized * references[i].minDistance);
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Line(references[i].target.position + normalized * references[i].minDistance, references[i].target.position + normalized * references[i].maxDistance);
|
||||
Gizmos.Line(references[i].target.position + normalized * references[i].minDistance, normalized * 9999f);
|
||||
break;
|
||||
}
|
||||
Gizmos.Color = Color.red;
|
||||
Gizmos.Line(references[i].target.position, references[i].target.position + normalized * references[i].minDistance);
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Line(references[i].target.position + normalized * references[i].minDistance, references[i].target.position + normalized * references[i].maxDistance);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,60 +2,59 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_DistanceLod : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_DistanceLod : CVRGizmoBase
|
||||
public static CVRDistanceLod[] references;
|
||||
|
||||
private static Color[] _gizmoColors = new Color[]
|
||||
{
|
||||
public static CVRDistanceLod[] references;
|
||||
Color.green,
|
||||
Color.yellow,
|
||||
Color.red,
|
||||
Color.white
|
||||
};
|
||||
|
||||
private static Color[] _gizmoColors = new Color[]
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRDistanceLod)) as CVRDistanceLod[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
Color.green,
|
||||
Color.yellow,
|
||||
Color.red,
|
||||
Color.white
|
||||
};
|
||||
|
||||
public override void CacheGizmos()
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRDistanceLod)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRDistanceLod)) as CVRDistanceLod[];
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRDistanceLod)item);
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (!references[i].distance3D)
|
||||
{
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, Quaternion.identity, new Vector3(1f, 0f, 1f));
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, Quaternion.identity, Vector3.one);
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
float num = 0;
|
||||
foreach (CVRDistanceLodGroup cvrdistanceLodGroup in references[i].Groups)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (!references[i].distance3D)
|
||||
{
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, Quaternion.identity, new Vector3(1f, 0f, 1f));
|
||||
}
|
||||
else
|
||||
{
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, Quaternion.identity, Vector3.one);
|
||||
}
|
||||
float num = 0;
|
||||
foreach (CVRDistanceLodGroup cvrdistanceLodGroup in references[i].Groups)
|
||||
{
|
||||
//Gizmos.Color = _gizmoColors[Math.Min(num, 3)];
|
||||
num = Mathf.InverseLerp(0, references[i].Groups.Count, num);
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
Gizmos.Sphere(Vector3.zero, cvrdistanceLodGroup.MaxDistance);
|
||||
num++;
|
||||
}
|
||||
//Gizmos.Color = _gizmoColors[Math.Min(num, 3)];
|
||||
num = Mathf.InverseLerp(0, references[i].Groups.Count, num);
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
Gizmos.Sphere(Vector3.zero, cvrdistanceLodGroup.MaxDistance);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,37 +1,36 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmoBase : MonoBehaviour
|
||||
{
|
||||
public class CVRGizmoBase : MonoBehaviour
|
||||
public Component[] GetLocalOnly(Component[] input)
|
||||
{
|
||||
public MonoBehaviour[] GetLocalOnly(MonoBehaviour[] input)
|
||||
{
|
||||
return input.Where(c => c.gameObject.scene.name == "DontDestroyOnLoad").ToArray();
|
||||
}
|
||||
return input.Where(c => c.gameObject.scene.name == "DontDestroyOnLoad").ToArray();
|
||||
}
|
||||
|
||||
public virtual void OnEnable()
|
||||
{
|
||||
CacheGizmos();
|
||||
// register the callback when enabling object
|
||||
Camera.onPreRender += RenderGizmos;
|
||||
}
|
||||
public virtual void OnDisable()
|
||||
{
|
||||
// remove the callback when disabling object
|
||||
Camera.onPreRender -= RenderGizmos;
|
||||
}
|
||||
public virtual void OnEnable()
|
||||
{
|
||||
CacheGizmos();
|
||||
// register the callback when enabling object
|
||||
Camera.onPreRender += RenderGizmos;
|
||||
}
|
||||
public virtual void OnDisable()
|
||||
{
|
||||
// remove the callback when disabling object
|
||||
Camera.onPreRender -= RenderGizmos;
|
||||
}
|
||||
|
||||
public virtual void RenderGizmos(Camera cam)
|
||||
{
|
||||
DrawGizmos();
|
||||
}
|
||||
public virtual void RenderGizmos(Camera cam)
|
||||
{
|
||||
DrawGizmos();
|
||||
}
|
||||
|
||||
public virtual void CacheGizmos()
|
||||
{
|
||||
}
|
||||
public virtual void CacheGizmos()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void DrawGizmos()
|
||||
{
|
||||
}
|
||||
public virtual void DrawGizmos()
|
||||
{
|
||||
}
|
||||
}
|
|
@ -3,49 +3,48 @@ using HarmonyLib;
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_HapticAreaChest : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_HapticAreaChest : CVRGizmoBase
|
||||
public static CVRHapticAreaChest[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRHapticAreaChest[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRHapticAreaChest)) as CVRHapticAreaChest[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRHapticAreaChest)) as CVRHapticAreaChest[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRHapticAreaChest)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRHapticAreaChest)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.yellow;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(Vector3.zero, Quaternion.identity, references[i].chestAreaSize);
|
||||
int num = 0;
|
||||
foreach (Vector3 center in references[i].HapticPoints40)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.yellow;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(Vector3.zero, Quaternion.identity, references[i].chestAreaSize);
|
||||
int num = 0;
|
||||
foreach (Vector3 center in references[i].HapticPoints40)
|
||||
{
|
||||
float[] pointValues = Traverse.Create(references[i]).Field("pointValues").GetValue() as float[];
|
||||
center.Scale(references[i].chestAreaSize * 0.5f);
|
||||
Gizmos.Color = new Color(1f - pointValues[num], pointValues[num], 0f);
|
||||
Gizmos.Cube(center, Quaternion.identity, new Vector3(0.01f, 0.01f, 0.01f));
|
||||
num++;
|
||||
}
|
||||
float[] pointValues = Traverse.Create(references[i]).Field("pointValues").GetValue() as float[];
|
||||
center.Scale(references[i].chestAreaSize * 0.5f);
|
||||
Gizmos.Color = new Color(1f - pointValues[num], pointValues[num], 0f);
|
||||
Gizmos.Cube(center, Quaternion.identity, new Vector3(0.01f, 0.01f, 0.01f));
|
||||
num++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,44 +2,43 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_HapticZone : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_HapticZone : CVRGizmoBase
|
||||
public static CVRHapticZone[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRHapticZone[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRHapticZone)) as CVRHapticZone[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRHapticZone)) as CVRHapticZone[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRHapticZone)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRHapticZone)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
Gizmos.Color = Color.yellow;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
if (references[i].triggerForm == CVRHapticZone.TriggerForm.Box)
|
||||
{
|
||||
Gizmos.Cube(references[i].center, Quaternion.identity, references[i].bounds);
|
||||
return;
|
||||
}
|
||||
Gizmos.Sphere(references[i].center, references[i].bounds.x);
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
Gizmos.Color = Color.yellow;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
if (references[i].triggerForm == CVRHapticZone.TriggerForm.Box)
|
||||
{
|
||||
Gizmos.Cube(references[i].center, Quaternion.identity, references[i].bounds);
|
||||
return;
|
||||
}
|
||||
Gizmos.Sphere(references[i].center, references[i].bounds.x);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,42 +2,41 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_Pointer : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_Pointer : CVRGizmoBase
|
||||
public static CVRPointer[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRPointer[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRPointer)) as CVRPointer[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRPointer)) as CVRPointer[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRPointer)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRPointer)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.blue;
|
||||
Vector3 lossyScale = references[i].transform.lossyScale;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, lossyScale);
|
||||
Gizmos.Sphere(Vector3.zero, 0.00125f / Mathf.Max(Mathf.Max(lossyScale.x, lossyScale.y), lossyScale.z));
|
||||
}
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.blue;
|
||||
Vector3 lossyScale = references[i].transform.lossyScale;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, lossyScale);
|
||||
Gizmos.Sphere(Vector3.zero, 0.00125f / Mathf.Max(Mathf.Max(lossyScale.x, lossyScale.y), lossyScale.z));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,117 +8,116 @@ CVRSpawnableTrigger **can** be local using CVROfflinePreview or similar mods.
|
|||
|
||||
**/
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_SpawnableTrigger : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_SpawnableTrigger : CVRGizmoBase
|
||||
public static CVRSpawnableTrigger[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRSpawnableTrigger[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRSpawnableTrigger)) as CVRSpawnableTrigger[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRSpawnableTrigger)) as CVRSpawnableTrigger[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRSpawnableTrigger)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRSpawnableTrigger)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
|
||||
Gizmos.Color = Color.blue;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
|
||||
Gizmos.Cube(references[i].areaOffset, Quaternion.identity, references[i].areaSize);
|
||||
|
||||
//stayTask colors
|
||||
if (references[i].stayTasks.Count > 0)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
|
||||
Gizmos.Color = Color.blue;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
|
||||
Gizmos.Cube(references[i].areaOffset, Quaternion.identity, references[i].areaSize);
|
||||
|
||||
//stayTask colors
|
||||
if (references[i].stayTasks.Count > 0)
|
||||
for (int ii = 0; ii < references[i].stayTasks.Count(); ii++)
|
||||
{
|
||||
for (int ii = 0; ii < references[i].stayTasks.Count(); ii++)
|
||||
var stayTask = references[i].stayTasks[ii];
|
||||
if (stayTask.spawnable != null)
|
||||
{
|
||||
var stayTask = references[i].stayTasks[ii];
|
||||
if (stayTask.spawnable != null)
|
||||
float num = stayTask.spawnable.GetValue(stayTask.settingIndex);
|
||||
switch (stayTask.updateMethod)
|
||||
{
|
||||
float num = stayTask.spawnable.GetValue(stayTask.settingIndex);
|
||||
switch (stayTask.updateMethod)
|
||||
{
|
||||
case CVRSpawnableTriggerTaskStay.UpdateMethod.SetFromPosition:
|
||||
{
|
||||
num = Mathf.InverseLerp(stayTask.minValue, stayTask.maxValue, num);
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
}
|
||||
case CVRSpawnableTriggerTaskStay.UpdateMethod.Add:
|
||||
num = num + stayTask.minValue / 60f;
|
||||
case CVRSpawnableTriggerTaskStay.UpdateMethod.SetFromPosition:
|
||||
{
|
||||
num = Mathf.InverseLerp(stayTask.minValue, stayTask.maxValue, num);
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
case CVRSpawnableTriggerTaskStay.UpdateMethod.Subtract:
|
||||
num = num - stayTask.minValue / 60f;
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
case CVRSpawnableTriggerTaskStay.UpdateMethod.Add:
|
||||
num = num + stayTask.minValue / 60f;
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
case CVRSpawnableTriggerTaskStay.UpdateMethod.Subtract:
|
||||
num = num - stayTask.minValue / 60f;
|
||||
Gizmos.Color = new Color(2.0f * num, 2.0f * (1 - num), 0);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vector3 vector = new Vector3(references[i].areaSize.x * 0.5f, references[i].areaSize.y * 0.5f, references[i].areaSize.z * 0.5f);
|
||||
switch (references[i].sampleDirection)
|
||||
{
|
||||
case CVRSpawnableTrigger.SampleDirection.XPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.XNegative:
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.YPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.YNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.ZPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.ZNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
Vector3 vector = new Vector3(references[i].areaSize.x * 0.5f, references[i].areaSize.y * 0.5f, references[i].areaSize.z * 0.5f);
|
||||
switch (references[i].sampleDirection)
|
||||
{
|
||||
case CVRSpawnableTrigger.SampleDirection.XPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.XNegative:
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.YPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.YNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, -vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, -vector.y, 0f) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.ZPositive:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, -vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, vector.z) + references[i].areaOffset);
|
||||
break;
|
||||
case CVRSpawnableTrigger.SampleDirection.ZNegative:
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(0f, vector.y, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
Gizmos.Line(new Vector3(-vector.x, -vector.y, vector.z) + references[i].areaOffset, new Vector3(-vector.x, 0f, -vector.z) + references[i].areaOffset);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,41 +8,40 @@ CVRToggleStateTrigger **can** be local using CVROfflinePreview or similar mods.
|
|||
|
||||
**/
|
||||
|
||||
namespace CVRGizmos.GismoTypes
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_ToggleStateTrigger : CVRGizmoBase
|
||||
{
|
||||
public class CVRGizmos_ToggleStateTrigger : CVRGizmoBase
|
||||
public static CVRToggleStateTrigger[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
public static CVRToggleStateTrigger[] references;
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRToggleStateTrigger)) as CVRToggleStateTrigger[];
|
||||
|
||||
public override void CacheGizmos()
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CVRToggleStateTrigger)) as CVRToggleStateTrigger[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRToggleStateTrigger)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CVRToggleStateTrigger)item);
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Count(); i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(references[i].areaOffset, Quaternion.identity, references[i].areaSize);
|
||||
}
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].isActiveAndEnabled)
|
||||
{
|
||||
Gizmos.Color = Color.green;
|
||||
Gizmos.Matrix = Matrix4x4.TRS(references[i].transform.position, references[i].transform.rotation, references[i].transform.lossyScale);
|
||||
Gizmos.Cube(references[i].areaOffset, Quaternion.identity, references[i].areaSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
47
CVRGizmos/GizmoTypes/Unity_BoxCollider.cs
Normal file
47
CVRGizmos/GizmoTypes/Unity_BoxCollider.cs
Normal file
|
@ -0,0 +1,47 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_BoxCollider : CVRGizmoBase
|
||||
{
|
||||
public static BoxCollider[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(BoxCollider)) as BoxCollider[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (BoxCollider)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Length; i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].gameObject.activeInHierarchy)
|
||||
{
|
||||
BoxCollider box = references[i];
|
||||
|
||||
Gizmos.Color = Color.green;
|
||||
Vector3 position = box.transform.TransformPoint(box.center);
|
||||
Quaternion rotation = box.transform.rotation;
|
||||
Vector3 scaledSize = Vector3.Scale(box.size, box.transform.lossyScale);
|
||||
|
||||
Gizmos.Matrix = Matrix4x4.TRS(position, rotation, Vector3.one);
|
||||
Gizmos.Cube(Vector3.zero, Quaternion.identity, scaledSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
84
CVRGizmos/GizmoTypes/Unity_CapsuleCollider.cs
Normal file
84
CVRGizmos/GizmoTypes/Unity_CapsuleCollider.cs
Normal file
|
@ -0,0 +1,84 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_CapsuleCollider : CVRGizmoBase
|
||||
{
|
||||
public static CapsuleCollider[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(CapsuleCollider)) as CapsuleCollider[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (CapsuleCollider)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Length; i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].gameObject.activeInHierarchy)
|
||||
{
|
||||
CapsuleCollider capsule = references[i];
|
||||
|
||||
Gizmos.Color = Color.green;
|
||||
Vector3 position = capsule.transform.position;
|
||||
Quaternion rotation = capsule.transform.rotation;
|
||||
Vector3 lossyScale = capsule.transform.lossyScale;
|
||||
float maxLossyScale = Mathf.Max(Mathf.Max(lossyScale.x, lossyScale.y), lossyScale.z);
|
||||
Vector3 scaledCenter = Vector3.Scale(capsule.center, lossyScale);
|
||||
float scaledRadius = capsule.radius * maxLossyScale;
|
||||
float scaledHeight = capsule.height * maxLossyScale;
|
||||
|
||||
Gizmos.Matrix = Matrix4x4.TRS(position, rotation, Vector3.one);
|
||||
|
||||
// Draw top sphere
|
||||
Vector3 topSphereOffset = Vector3.zero;
|
||||
topSphereOffset[capsule.direction] = (scaledHeight - (2 * scaledRadius)) / 2;
|
||||
Gizmos.Sphere(scaledCenter + topSphereOffset, scaledRadius);
|
||||
|
||||
// Draw bottom sphere
|
||||
Vector3 bottomSphereOffset = Vector3.zero;
|
||||
bottomSphereOffset[capsule.direction] = -(scaledHeight - (2 * scaledRadius)) / 2;
|
||||
Gizmos.Sphere(scaledCenter + bottomSphereOffset, scaledRadius);
|
||||
|
||||
// Draw cylinder
|
||||
int cylinderResolution = 24;
|
||||
Vector3 previousTopPoint = Vector3.zero;
|
||||
Vector3 previousBottomPoint = Vector3.zero;
|
||||
for (int j = 0; j <= cylinderResolution; j++)
|
||||
{
|
||||
float angle = j * 2 * Mathf.PI / cylinderResolution;
|
||||
Vector3 directionVector = new Vector3(Mathf.Cos(angle), 0, Mathf.Sin(angle));
|
||||
directionVector[capsule.direction] = 0;
|
||||
Vector3 topPoint = (scaledCenter + topSphereOffset) + directionVector * scaledRadius;
|
||||
Vector3 bottomPoint = (scaledCenter + bottomSphereOffset) + directionVector * scaledRadius;
|
||||
|
||||
if (j > 0)
|
||||
{
|
||||
Gizmos.Line(previousTopPoint, topPoint);
|
||||
Gizmos.Line(previousBottomPoint, bottomPoint);
|
||||
Gizmos.Line(previousTopPoint, previousBottomPoint);
|
||||
Gizmos.Line(topPoint, bottomPoint);
|
||||
}
|
||||
|
||||
previousTopPoint = topPoint;
|
||||
previousBottomPoint = bottomPoint;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
49
CVRGizmos/GizmoTypes/Unity_SphereCollider.cs
Normal file
49
CVRGizmos/GizmoTypes/Unity_SphereCollider.cs
Normal file
|
@ -0,0 +1,49 @@
|
|||
using UnityEngine;
|
||||
using Gizmos = Popcron.Gizmos;
|
||||
|
||||
namespace NAK.CVRGizmos.GismoTypes;
|
||||
|
||||
public class CVRGizmos_SphereCollider : CVRGizmoBase
|
||||
{
|
||||
public static SphereCollider[] references;
|
||||
|
||||
public override void CacheGizmos()
|
||||
{
|
||||
var found = Resources.FindObjectsOfTypeAll(typeof(SphereCollider)) as SphereCollider[];
|
||||
|
||||
if (CVRGizmoManager.Instance.g_localOnly)
|
||||
{
|
||||
references = Array.ConvertAll(GetLocalOnly(found), item => (SphereCollider)item);
|
||||
}
|
||||
else
|
||||
{
|
||||
references = found;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawGizmos()
|
||||
{
|
||||
for (int i = 0; i < references.Length; i++)
|
||||
{
|
||||
if (references[i] == null)
|
||||
{
|
||||
CacheGizmos();
|
||||
break;
|
||||
}
|
||||
if (references[i].gameObject.activeInHierarchy)
|
||||
{
|
||||
Gizmos.Color = Color.green;
|
||||
Vector3 position = references[i].transform.position;
|
||||
Quaternion rotation = references[i].transform.rotation;
|
||||
Vector3 lossyScale = references[i].transform.lossyScale;
|
||||
float maxLossyScale = Mathf.Max(Mathf.Max(lossyScale.x, lossyScale.y), lossyScale.z);
|
||||
Vector3 scaledCenter = Vector3.Scale(references[i].center, lossyScale);
|
||||
float scaledRadius = references[i].radius * maxLossyScale;
|
||||
|
||||
Gizmos.Matrix = Matrix4x4.TRS(position, rotation, Vector3.one);
|
||||
Gizmos.Sphere(scaledCenter, scaledRadius);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
using MelonLoader;
|
||||
using System.Collections;
|
||||
|
||||
namespace CVRGizmos;
|
||||
namespace NAK.CVRGizmos;
|
||||
|
||||
public class CVRGizmos : MelonMod
|
||||
{
|
||||
|
@ -17,6 +17,8 @@ public class CVRGizmos : MelonMod
|
|||
|
||||
public override void OnInitializeMelon()
|
||||
{
|
||||
EntryEnabled.OnEntryValueChangedUntyped.Subscribe(CVRGizmosEnabled);
|
||||
EntryLocalOnly.OnEntryValueChangedUntyped.Subscribe(CVRGizmosLocalOnly);
|
||||
MelonLoader.MelonCoroutines.Start(WaitForLocalPlayer());
|
||||
}
|
||||
|
||||
|
@ -28,13 +30,13 @@ public class CVRGizmos : MelonMod
|
|||
PlayerSetup.Instance.gameObject.AddComponent<CVRGizmoManager>();
|
||||
}
|
||||
|
||||
public void CVRGizmosEnabled()
|
||||
public void CVRGizmosEnabled(object arg1, object arg2)
|
||||
{
|
||||
if (!CVRGizmoManager.Instance) return;
|
||||
CVRGizmoManager.Instance.EnableGizmos(EntryEnabled.Value);
|
||||
}
|
||||
|
||||
public void CVRGizmosLocalOnly()
|
||||
public void CVRGizmosLocalOnly(object arg1, object arg2)
|
||||
{
|
||||
if (!CVRGizmoManager.Instance) return;
|
||||
CVRGizmoManager.Instance.g_localOnly = EntryLocalOnly.Value;
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
using CVRGizmos.Properties;
|
||||
using NAK.CVRGizmos.Properties;
|
||||
using MelonLoader;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion(AssemblyInfoParams.Version)]
|
||||
[assembly: AssemblyFileVersion(AssemblyInfoParams.Version)]
|
||||
[assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)]
|
||||
[assembly: AssemblyTitle(nameof(CVRGizmos))]
|
||||
[assembly: AssemblyTitle(nameof(NAK.CVRGizmos))]
|
||||
[assembly: AssemblyCompany(AssemblyInfoParams.Author)]
|
||||
[assembly: AssemblyProduct(nameof(CVRGizmos))]
|
||||
[assembly: AssemblyProduct(nameof(NAK.CVRGizmos))]
|
||||
|
||||
[assembly: MelonInfo(
|
||||
typeof(CVRGizmos.CVRGizmos),
|
||||
nameof(CVRGizmos),
|
||||
typeof(NAK.CVRGizmos.CVRGizmos),
|
||||
nameof(NAK.CVRGizmos),
|
||||
AssemblyInfoParams.Version,
|
||||
AssemblyInfoParams.Author,
|
||||
downloadLink: "https://github.com/NotAKidOnSteam/NAK_CVR_Mods/tree/main/CVRGizmos"
|
||||
|
@ -21,9 +21,9 @@ using System.Reflection;
|
|||
[assembly: MelonPlatform(MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
||||
[assembly: MelonPlatformDomain(MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
||||
|
||||
namespace CVRGizmos.Properties;
|
||||
namespace NAK.CVRGizmos.Properties;
|
||||
internal static class AssemblyInfoParams
|
||||
{
|
||||
public const string Version = "1.0.0";
|
||||
public const string Version = "1.0.1";
|
||||
public const string Author = "NotAKidoS";
|
||||
}
|
|
@ -1,23 +1,23 @@
|
|||
{
|
||||
"_id": 95,
|
||||
"_id": 97,
|
||||
"name": "CVRGizmos",
|
||||
"modversion": "1.1.0",
|
||||
"gameversion": "2022r168",
|
||||
"loaderversion": "0.5.4",
|
||||
"modversion": "1.0.1",
|
||||
"gameversion": "2022r170",
|
||||
"loaderversion": "0.5.7",
|
||||
"modtype": "Mod",
|
||||
"author": "NotAKidoS",
|
||||
"description": "Corrects MM and QM position when avatar is scaled.\nAdditional option to scale player collision.",
|
||||
"description": "Adds runtime gizmos to common CCK components.",
|
||||
"searchtags": [
|
||||
"menu",
|
||||
"scale",
|
||||
"avatarscale",
|
||||
"slider"
|
||||
"gizmo",
|
||||
"components",
|
||||
"cck",
|
||||
"visual"
|
||||
],
|
||||
"requirements": [
|
||||
"None"
|
||||
],
|
||||
"downloadlink": "https://github.com/NotAKidOnSteam/NAK_CVR_Mods/releases/download/r3/CVRGizmos.dll",
|
||||
"sourcelink": "https://github.com/NotAKidOnSteam/NAK_CVR_Mods/tree/main/CVRGizmos/",
|
||||
"changelog": "Added option to scale player collision. Fixed some VR specific issues.",
|
||||
"changelog": "- Removed SaveToFile().",
|
||||
"embedcolor": "804221"
|
||||
}
|
|
@ -2,22 +2,9 @@
|
|||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
using static NAK.ThirdPerson.CameraLogic;
|
||||
using BuildInfo = NAK.ThirdPerson.BuildInfo;
|
||||
|
||||
[assembly: AssemblyCopyright("Created by " + BuildInfo.Author)]
|
||||
[assembly: MelonInfo(typeof(NAK.ThirdPerson.ThirdPerson), BuildInfo.Name, BuildInfo.Version, BuildInfo.Author)]
|
||||
[assembly: MelonGame("Alpha Blend Interactive", "ChilloutVR")]
|
||||
[assembly: MelonColor(ConsoleColor.DarkMagenta)]
|
||||
|
||||
namespace NAK.ThirdPerson;
|
||||
|
||||
public static class BuildInfo
|
||||
{
|
||||
public const string Name = "ThirdPerson";
|
||||
public const string Author = "Davi & NotAKidoS";
|
||||
public const string Version = "1.0.2";
|
||||
}
|
||||
|
||||
public class ThirdPerson : MelonMod
|
||||
{
|
||||
internal static MelonLogger.Instance Logger;
|
||||
|
@ -26,9 +13,8 @@ public class ThirdPerson : MelonMod
|
|||
{
|
||||
Logger = LoggerInstance;
|
||||
|
||||
MelonCoroutines.Start(SetupCamera());
|
||||
|
||||
Patches.Apply(HarmonyInstance);
|
||||
MelonCoroutines.Start(SetupCamera());
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue