first commit

This commit is contained in:
lethanhsonvsp
2025-11-17 15:36:52 +07:00
commit 6f2eafa33c
14093 changed files with 1253472 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
using UnityEngine;
using UnityEditor;
using UnityEngine.Splines;
using System.Linq;
[CustomEditor(typeof(MultiSplineFollower))]
public class MultiSplineFollowerEditor : Editor
{
public override void OnInspectorGUI()
{
// Vẽ inspector mặc định (hiện các trường routes, routes1, routes2, speed, rotationSpeed, ...)
base.OnInspectorGUI();
MultiSplineFollower follower = (MultiSplineFollower)target;
// Hiển thị từng nhóm route
DrawRouteGroup(follower.routes, "Routes (Nhóm 0)");
DrawRouteGroup(follower.routes1, "Routes1 (Nhóm 1)");
DrawRouteGroup(follower.routes2, "Routes2 (Nhóm 2)");
if (GUI.changed)
{
EditorUtility.SetDirty(follower);
}
}
private void DrawRouteGroup(SplineRoute[] routeArray, string groupLabel)
{
if (routeArray == null) return;
EditorGUILayout.Space();
EditorGUILayout.LabelField(groupLabel, EditorStyles.boldLabel);
for (int r = 0; r < routeArray.Length; r++)
{
var route = routeArray[r];
if (route == null) continue;
EditorGUILayout.BeginVertical("box");
EditorGUILayout.LabelField($"Route {r + 1}", EditorStyles.miniBoldLabel);
// START
if (route.splineStart != null)
{
int knotCount = route.splineStart.Spline?.Knots.Count() ?? 0;
if (knotCount > 0)
{
string[] options = Enumerable.Range(0, knotCount).Select(i => $"Knot {i}").ToArray();
route.startKnotIndex = EditorGUILayout.Popup("Start Knot", route.startKnotIndex, options);
}
else
{
EditorGUILayout.HelpBox("SplineStart không có knot nào.", MessageType.Warning);
}
}
else
{
EditorGUILayout.HelpBox("Chưa gán splineStart", MessageType.Info);
}
// END
if (route.splineEnd != null)
{
int knotCount = route.splineEnd.Spline?.Knots.Count() ?? 0;
if (knotCount > 0)
{
string[] options = Enumerable.Range(0, knotCount).Select(i => $"Knot {i}").ToArray();
route.endKnotIndex = EditorGUILayout.Popup("End Knot", route.endKnotIndex, options);
}
else
{
EditorGUILayout.HelpBox("SplineEnd không có knot nào.", MessageType.Warning);
}
}
else
{
EditorGUILayout.HelpBox("Chưa gán splineEnd", MessageType.Info);
}
EditorGUILayout.EndVertical();
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1ffddca8b3c7373478b7fe510bc6dbf6