Exemplo n.º 1
0
    //判断当前选中的是那种类型
    string JudgeNowSelectObjType()
    {
        selectObjType = SelectObjType.NoUsedTemplate;
        if (selectedObjName.Length == 1)
        {
            if (HaveTheTemlate(selectedObjName[0]))
            {
                if (GameObject.Find(selectedObjName[0]))
                {
                    selectObjType = SelectObjType.Instance;
                }
                else
                {
                    selectObjType = SelectObjType.PreFab;
                }

                return(selectedObjName[0]);
            }

            return("");
        }
        else
        {
            foreach (string name in selectedObjName)
            {
                if (HaveTheTemlate(name))
                {
                    selectObjType = SelectObjType.UsedTemplate;
                    return(name);
                }
            }
            return("");
        }
    }
Exemplo n.º 2
0
        /// <summary>
        /// Visits the new.
        /// </summary>
        /// <param name="node">The node.</param>
        /// <returns>An Expression.</returns>
        protected override Expression VisitNew(NewExpression node)
        {
            _selectObjType = SelectObjType.New;
            var list    = new List <string>();
            var parms   = node.Arguments;
            var members = node.Members;

            for (int i = 0; i < parms.Count; i++)
            {
                var member = members[i];
                list.Add($"{base.GetSql(parms[i])} as {member.Name}");
            }
            sql        = $"{string.Join(",", list)}";
            SelectType = node.Type;
            return(node);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Visits the new array.
        /// </summary>
        /// <param name="node">The node.</param>
        /// <returns>An Expression.</returns>
        protected override Expression VisitNewArray(NewArrayExpression node)
        {
            _selectObjType = SelectObjType.ArrayField;
            var list = new List <string>();

            foreach (var item in node.Expressions)
            {
                var obj = base.GetSql(item);
                if (obj is not string)
                {
                    throw new Exception("Select 表达式参数类型不正确,需要传入列名");
                }
                list.Add(obj.ToString());
            }
            sql = $"{string.Join(",", list)}";
            return(node);
        }