/// <summary> /// 将名字转换(去除标记性字符) /// </summary> /// <returns></returns> public Data.ImgNode Analyzing(RuleObject Rule, string name) { this.Name = Rule.AnalySisImgName(name, out source, out type); this.customNameType = Rule.nameType; this.forceAddress = Rule.forceAddress; //添加后缀 if (texture != null) { this.hashImage = rect.GetHashCode(); this.texture.name = TextureName; //Debug.Log(TextureName); } return(this); }
public static string BytesToPrefixedValue(long Size, PrefixType PType, OutputForm PForm, SuffixType SType, OutputForm SForm) { for (int index = 0; index <= SA_Convert.prefixvalues.GetLength(0); ++index) { if (Size < SA_Convert.prefixvalues[index + 1][(int) PType]) return string.Concat(new object[4] { (object) ((Decimal) Size / (Decimal) SA_Convert.prefixvalues[index][(int) PType] * (Decimal) SA_Convert.suffixvalues[(int) SType]).ToString("#.##"), (object) ' ', (object) SA_Convert.prefixes[(int) (PType + (int) PForm)][index], (object) SA_Convert.suffixes[(int) SType][(int) SForm] }); } return ""; }
private Expression RootedVar() { var name = Tree.Children[0].Text; var hasSuffixes = Tree.Children.Count > 1; ParameterExpression root; Expression origin; if (IsLocalVar(name, out root)) { if (!hasSuffixes) { SuffixType = SuffixType.Local; return root; } origin = root; } else { if (!hasSuffixes) { SuffixType = SuffixType.Root; Name = name; return null; } origin = Expression.Dynamic( GetMemberBinder.New(StaticTables, name), typeof (object), Scope.Env.GlobalParameter); } return ChainSuffixes(origin, Tree.Children); }
private Expression ChainSuffixes(Expression origin, IList<ITree> suffixes) { for (var i = 1; i < suffixes.Count - 1; i++) { var suffix = (CommonTree) Tree.Children[i]; ChainNameAndArgs(origin, suffix.Children, out origin); switch (suffix.Type) { case ChunkParser.IndexedSuffix: { var index = Gen<Exp>(suffix.Children[0]); var args = new List<Expression> {origin, index}; origin = Expression.Dynamic( GetIndexBinder.New(StaticTables, new CallInfo(1)), typeof (object), args.ToArray()); break; } case ChunkParser.PropertySuffix: { var memberName = suffix.Children[0].Text; origin = Expression.Dynamic( GetMemberBinder.New(StaticTables, memberName), typeof (object), origin); break; } } } var last = (CommonTree) suffixes[Tree.Children.Count - 1]; ChainNameAndArgs(origin, last.Children, out origin); switch (last.Type) { case ChunkParser.IndexedSuffix: { SuffixType = SuffixType.Index; Index = Gen<Exp>(last.Children[0]); break; } case ChunkParser.PropertySuffix: { SuffixType = SuffixType.Property; Name = last.Children[0].Text; break; } } return origin; }