Exemple #1
0
        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);
        }