void GetMoveTransAndNameList(string mark) { U_List.ClearList(children, moveTrans); U_List.ClearList(childrenNames, moveNames); GetChildren(); GetChildrenName(); foreach (Transform trans in children) { if (U_String.JudeLastContain(trans.name, mark, 5)) { moveTrans.Add(trans); moveNames.Add(trans.name); } } }
/// <summary> /// 检测是两个列表里,是否有前半部分名字一样,但加了后缀的物体。最后一个参数是对下标需要控制时所用。 /// </summary> /// <param name="trans01"></param> /// <param name="trans02"></param> /// <param name="mark"></param> /// <param name="isFirst"></param> /// <param name="lastTwoNumber">下标</param> /// <returns></returns> public static List <Transform> GetAddedStrTrans (List <Transform> trans01, List <Transform> trans02, string mark, int lastDigit, bool isFirst, int lastTwoNumber = 999) { List <Transform> trans = new List <Transform>(); List <string> listStr01 = GetTranssName(trans01); List <string> listStr02 = GetTranssName(trans02); //这么写是为了少执行一些if if (lastTwoNumber == 999) { for (int i = 0; i < listStr01.Count; i++) { if (string.Compare(listStr01[i], listStr02[i]) < 0 && U_String.JudeLastContain(listStr02[i], mark, lastDigit)) { if (isFirst) { trans.Add(trans01[i]); } else { trans.Add(trans02[i]); } } } } else { for (int i = 0; i < listStr01.Count; i++) { if (string.Compare(listStr01[i], listStr02[i]) < 0 && listStr02[i].Contains(mark + U_String.IntToString(lastTwoNumber))) { if (isFirst) { trans.Add(trans01[i]); } else { trans.Add(trans02[i]); } } } } return(trans); }
// 查看子物体中谁带了某个字符串 public static List <Transform> GetChildrenWithString(Transform tran, string content, int length) { List <Transform> children = GetChildren(tran); List <string> childrenName = new List <string>(); List <Transform> withStrList = new List <Transform>(); for (int i = 0; i < childrenName.Count; i++) { childrenName.Add(children[i].name); } for (int i = 0; i < childrenName.Count; i++) { if (U_String.JudeLastContain(childrenName[i], content, length)) { withStrList.Add(children[i]); } } return(withStrList); }