This commit is contained in:
2026-05-30 09:16:35 +07:00
parent 2f87ce19a7
commit 1c0ee6efb7
4001 changed files with 3363438 additions and 1738 deletions

View File

@@ -0,0 +1,63 @@
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.Text;
namespace Invector
{
[CanEditMultipleObjects]
[CustomEditor(typeof(vLookTarget))]
public class vLookTargetEditor : UnityEditor.Editor
{
GUISkin skin;
void OnEnable()
{
skin = Resources.Load("vSkin") as GUISkin;
}
public override void OnInspectorGUI()
{ var oldSkin = GUI.skin;
serializedObject.Update();
if (skin != null) GUI.skin = skin;
vLookTarget lTarget = (vLookTarget)target;
GUILayout.BeginVertical("Look Target", "window");
GUILayout.Space(30);
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Script"));
EditorGUILayout.HelpBox("This component works with the vHeadTrack. Create a Collider and check the Trigger option to limit the area range to detect with the vHeadTrack if this object can be look at. Make sure to add the tag in the tagsToDetect list", MessageType.Info);
GUILayout.Space(10);
lTarget.ignoreHeadTrackAngle = EditorGUILayout.Toggle("Ignore HeadTrack Angle Limit", lTarget.ignoreHeadTrackAngle);
lTarget.visibleCheckType = (vLookTarget.VisibleCheckType)EditorGUILayout.EnumPopup("Visible check type", lTarget.visibleCheckType);
lTarget.lookPointTarget = (Transform)EditorGUILayout.ObjectField("LookPointTarget", lTarget.lookPointTarget, typeof(Transform), true);
lTarget.useLimitToDetect = EditorGUILayout.Toggle("Use Limit To Detect", lTarget.useLimitToDetect);
if (lTarget.useLimitToDetect)
lTarget.minDistanceToDetect = EditorGUILayout.FloatField("Min Distance To Detect", lTarget.minDistanceToDetect);
EditorGUILayout.HelpBox("The LookPointTarget is actual position that your character will look at.", MessageType.Info);
if (lTarget.visibleCheckType != vLookTarget.VisibleCheckType.None)
{
GUILayout.BeginVertical("box");
GUILayout.Box("Area to check if is visible", GUILayout.ExpandWidth(true));
lTarget.centerArea = EditorGUILayout.Vector3Field("Center Area", lTarget.centerArea);
if (lTarget.visibleCheckType == vLookTarget.VisibleCheckType.BoxCast)
{
lTarget.sizeArea = EditorGUILayout.Vector3Field("Size Area", lTarget.sizeArea);
EditorGUILayout.HelpBox("The box area is usage for multiple raycast for box corners", MessageType.Info);
}
else
{
EditorGUILayout.HelpBox("The center area is usage for single raycast\n See the green sphere gizmo", MessageType.Info);
}
GUILayout.EndVertical();
}
lTarget.HideObject = EditorGUILayout.Toggle("Is Hide", lTarget.HideObject);
GUI.skin = oldSkin;
EditorGUILayout.PropertyField(serializedObject.FindProperty("onEnterLook"));
EditorGUILayout.PropertyField(serializedObject.FindProperty("onExitLook"));
GUILayout.EndVertical();
serializedObject.ApplyModifiedProperties();
if (GUI.changed) EditorUtility.SetDirty(target);
GUI.skin = oldSkin;
}
}
}

View File

@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 60c9f1dedbda5bf42a76dd1b7d0318f0
timeCreated: 1469805765
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: