using System.Collections; using System.Collections.Generic; using UnityEngine; public static class LoopIndexTool { /// 头尾循环标准化索引 public static Data LoopIndex(this List list, int index) { return list[LoopIndex(index, list.Count)]; } /// 头尾循环标准化索引 public static Data LoopIndex(this Data[] array, int index) { return array[LoopIndex(index, array.Length)]; } /// 头尾循环标准化索引 public static int LoopIndex(int index, int maxIndex) { if (maxIndex == 0) { Debug.LogError("错误索引:maxIndex = 0"); return 0; } if (index < 0) { return LoopIndex(index + maxIndex, maxIndex); } if (index >= maxIndex) { return LoopIndex(index - maxIndex, maxIndex); } return index; } }