} //是否是结构体 public GenerateScorpioClass(Type type) { m_Type = type; IsStruct = !type.IsClass; FullName = ScorpioReflectUtil.GetFullName(m_Type); ScorpioClassName = "ScorpioClass_" + ScorpioReflectUtil.GetGenerateClassName(type); AllFields.AddRange(m_Type.GetFields(ScorpioReflectUtil.BindingFlag)); AllEvents.AddRange(m_Type.GetEvents(ScorpioReflectUtil.BindingFlag)); var propertys = m_Type.GetProperties(ScorpioReflectUtil.BindingFlag); foreach (var property in propertys) { //如果是 get 则参数是0个 set 参数是1个 否则就可能是 [] 的重载 if ((property.CanRead && property.GetGetMethod().GetParameters().Length == 0) || (property.CanWrite && property.GetSetMethod().GetParameters().Length == 1)) { AllPropertys.Add(property); } } var methods = (m_Type.IsAbstract && m_Type.IsSealed) ? m_Type.GetMethods(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy) : m_Type.GetMethods(ScorpioReflectUtil.BindingFlag); foreach (var method in methods) { //屏蔽掉 模版函数 模板函数只能使用反射 if (!ScorpioReflectUtil.CheckGenericMethod(method)) { continue; } AllMethods.Add(method); } }
/// <summary> /// 初始化参数 /// </summary> private void init() { //FieldName convert to lower case DateTimeFields.ForEach(p => p = p.ToLower()); DoubleFields.ForEach(p => p = p.ToLower()); AllFields.ForEach(p => p = p.ToLower()); if (AllFields.Count == 0) { AllFields = this.GetDefaultFields(); } //自动识别 if (TypeDetectable) { foreach (String field in AllFields) { Type type = dt.Columns[field].DataType; if (typeof(DateTime) == type) { DateTimeFields.Add(field); } else if (NPOIUtil.NumberType(type)) { DoubleFields.Add(field); } } } }
/// <summary> /// Tries to find a disassembled entity, given a disassembled target. /// </summary> /// <param name="disassemblyTarget">The disassembly target.</param> /// <returns></returns> public DisassembledEntity FindDisassembledEntity(DisassemblyTarget disassemblyTarget) { // If there's no target, we can't find anything. if (disassemblyTarget == null) { return(null); } switch (disassemblyTarget.TargetType) { case DisassemblyTargetType.Class: // Find the class with the given name. return(AllClasses.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Enumeration: // Find the enumeration with the given name. return(AllEnumerations.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Method: // Find the entity with the given name. return(AllMethods.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Property: // Find the entity with the given name. return(AllProperties.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Field: // Find the entity with the given name. return(AllFields.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Structure: // Find the structure with the given name. return(AllStructures.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Interface: // Find the structure with the given name. return(AllInterfaces.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Event: // Find the structure with the given name. return(AllEvents.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); case DisassemblyTargetType.Delegate: // Find the structure with the given name. return(AllDelegates.FirstOrDefault(c => c.FullName == disassemblyTarget.FullName)); default: throw new ArgumentOutOfRangeException(); } }
public override bool Equals(object obj) { if (obj == null) { return(false); } var objGoodType = obj as ItemComparable; if ((Object)objGoodType == null) { return(false); } if (this.AllFields.Count != objGoodType.AllFields.Count) { return(false); } var equals = true; AllFields.ToList().ForEach(x => { if (!objGoodType.AllFields.ContainsKey(x.Key) || objGoodType.AllFields[x.Key] != x.Value) { equals = false; } }); return(equals); }
public void CalculateAll() { AllFields.Clear(); SetSimpleCounts(); CountIntertwined(); IsCalculated = true; }
/// <summary> /// Get all items from playlist /// </summary> public async Task<IMediaItemList<MediaDetailsBase>> GetItems(Playlist playlist, AllFields fields, int? startIndex, int? endIndex) { List<JsonParam> parameters = new List<JsonParam>(); parameters.Add(new JsonParam("playlistid", playlist.Id)); parameters.AddRange(ClientUtils.GetLimitsParameter(startIndex, endIndex)); parameters.Add(new JsonParam("properties", fields ?? AllFields.All)); return await _client.PostAsync("Playlist.GetItems", _serializer.Parse<XbmcItemList<MediaDetailsBase>>, parameters.ToArray()); }
internal Change(int itemCount, int totalSkuCount) { _totalSkuCount = totalSkuCount; _entityDatas = new List <EntityData>(itemCount); _skus = new List <Sku>(itemCount); _blankCells = new List <Sku>(itemCount); OldValues = new AllFields(); NewValues = new AllFields(); }
public override string BuildQueryString() { ObjectFields = Symbol.GetType().GetProperties().Where(o => !AvoidFields.Contains(o.Name) && !o.PropertyType.IsSubclassOf(typeof(ElectronTransferModel.Geo.Geometry))).Select(o => o.Name).ToList(); GeometryFields = new string[] { "SDO_X1", "SDO_Y1", "SDO_X2", "SDO_Y2", "SDO_X3", "SDO_Y3", "SDO_X4", "SDO_Y4", "SDO_ORIENTATION", "SDO_SEQ", "SDO_ESEQ", "SDO_ETYPE", "GDO_ATTRIBUTES" }; var tableName = Mapping.GetUpdateView(this.Type.Name); //Fields.AddRange(new string[] { "SDO_X1", "SDO_Y1", "SDO_X2", "SDO_Y2", "SDO_X3", "SDO_Y3", "SDO_X4", "SDO_Y4", "SDO_ORIENTATION" }); string sql = string.Format("INSERT INTO {0} ({1}) VALUES ({2})", tableName, string.Join(",", AllFields.ToArray()), string.Join(",", AllFields.Select(o => ":" + o).ToArray()) ); return(sql); /* * List<Point> points = new List<Point>(); * if (Symbol.G3E_GEOMETRY is Point) * { * Point point = Symbol.G3E_GEOMETRY as Point; * points.Add(point); * } * else if (Symbol.G3E_GEOMETRY is Multipoint) * { * Multipoint multipoint = Symbol.G3E_GEOMETRY as Multipoint; * //points.Add(multipoint.Points); * } * else if (Symbol.G3E_GEOMETRY is LineString) * { * LineString lineString = Symbol.G3E_GEOMETRY as LineString; * points.AddRange(lineString.Points); * } * else if (Symbol.G3E_GEOMETRY is Polygon) * { * Polygon polygon = Symbol.G3E_GEOMETRY as Polygon; * points.AddRange(polygon.Lines.First().Points); * } * * int step = 4; * * for (int page = 0; page < (points.Count + step/2)/4; page++) * { * var items = points.Skip(page*step).Take(step); * for (int i = 0; i < items.Count(); i++) * { * string viewName = Mapping.GetUpdateView(Symbol.GetType().Name); * * //string sql = string.Format("INSERT INTO {0} ({1}) VALUES {2}",viewName); * } * } */ //string sql; }
/// <summary> /// 生成根据逻辑删除标识及条件查询数据语句 /// </summary> /// <param name="conditions"></param> /// <param name="sort"></param> /// <returns></returns> public override string LogicalFindAll(Dictionary <string, string> conditions = null, Dictionary <string, int> sort = null, bool paged = true) { string sortString; if (sort != null && sort.Count > 0) { sortString = " ORDER BY " + string.Join(",", sort.Select(c => { if (c.Value > 0) { return(c.Key); } return(c.Key + " DESC "); })); } else { if (AllFields.Contains("CreatedAt")) { sortString = " ORDER BY CreatedAt DESC"; } else { sortString = $" ORDER BY {PrimaryKeyName} DESC"; } } string sql = $@"SELECT * FROM {TableName}"; if (conditions == null) { conditions = new Dictionary <string, string>(); } if (!conditions.ContainsKey(LogicalDeleteName)) { conditions.Add(LogicalDeleteName, "0"); } var list = conditions.BuildConditionList(typeof(T)); if (list.Count > 0) { sql += " WHERE " + string.Join(" AND ", list); } sql += sortString; if (paged) { sql += " LIMIT @from, @length;"; } return(sql); }
public override string BuildQueryString() { GeometryFields = new string[] { "G3E_GEOMETRY" }; ObjectFields = Symbol.GetPropertyNames().Where(o => !AvoidFields.Contains(o) && !GeometryFields.Contains(o)).ToList(); var tableName = Mapping.GetTableName(this.Type.Name); //Fields.AddRange(new string[] { "SDO_X1", "SDO_Y1", "SDO_X2", "SDO_Y2", "SDO_X3", "SDO_Y3", "SDO_X4", "SDO_Y4", "SDO_ORIENTATION" }); string sql = string.Format("INSERT INTO {0} ({1}) VALUES ({2})", tableName, string.Join(",", AllFields.ToArray()), string.Join(",", AllFields.Select(o => ":" + o).ToArray()) ); return(sql); }
public void GetField(Type obj) { var fieldList = obj.GetProperties(); for (int i = 0; i < fieldList.Length; i++) { var property = fieldList[i]; AllFields.Add(property.Name); Fields += property.Name; if (i < fieldList.Length - 1) { Fields += ","; } } }
public override string BuildQueryString() { GeometryFields = new string[] { "G3E_GEOMETRY" }; ObjectFields = Symbol.GetPropertyNames().Where(o => !AvoidFields.Contains(o) && o != "G3E_FID" && !GeometryFields.Contains(o)).ToList(); var tableName = Mapping.GetTableName(this.Type.Name); Expression <Func <ElectronSymbol, bool> > conditionExpression = o => o.G3E_FID == Symbol.G3E_FID; var conditionVisitor = new ConditionVisitor(conditionExpression); //Fields.AddRange(new string[] { "SDO_X1", "SDO_Y1", "SDO_X2", "SDO_Y2", "SDO_X3", "SDO_Y3", "SDO_X4", "SDO_Y4", "SDO_ORIENTATION" }); string sql = string.Format("UPDATE {0} SET {1} WHERE {2}", tableName, string.Join(",", AllFields.Select(o => string.Format("{0}=:{0}", o)).ToArray()), conditionVisitor ); return(sql); }
public T Get <T>() where T : KAU.PlayerSystem.IData { System.Type currentType = typeof(T); // Nessasary to check the AllFields before initialization! while (AllFields.Count > 0 && !AllFields.ContainsKey(currentType) && MapTypesTOTYpes.ContainsKey(currentType)) { currentType = MapTypesTOTYpes[currentType]; } if (!AllFields.ContainsKey(currentType)) { #if UNITY_EDITOR Debug.LogError(" There is no key : " + currentType.ToString() + ". Try Use actual conncreteType!"); #endif return(default(T)); } return((T)AllFields[currentType]); }
/// <summary> /// Hozzáad az összes mezõhöz egy random transzformált képpel rendelkezõ mezõt. A mezõ sor és oszlopadata a paraméterben meghatározott /// </summary> /// <param name="column"></param> /// <param name="row"></param> private void AddRandomFieldToAllFields(Difficulty difficulty, int column, int row) { int randomImage = random.Next(imageList.Count); Transformator trf; switch (random.Next(5)) { case (0): trf = new Rotate(difficulty, random.Next()); break; case (1): trf = new Mirror(difficulty, random.Next()); break; #if WINDOWS case (2): trf = new Blur(difficulty, random.Next()); break; #endif case (3): trf = new ColorTransformation(difficulty, random.Next()); break; default: trf = new Transformator(difficulty, random.Next()); break; } Field field = new Field(imageList[randomImage], randomImage, column, row, true, trf); AllFields.Add(field); }
/// <summary> /// Feltölti a Field-ek listáját a megadott nehézségen koordinátákkal együtt. /// </summary> /// <param name="difficulty"></param> /*public void createBoard_old(Difficulty difficulty, IBoardShapes boardAnimal) * { * if (boardAnimal != null) * { * int[][] boardMap = boardAnimal.getField(difficulty); * Y = boardMap.GetLength(0); * X = boardMap[0].GetLength(0); * for (int y = 0; y < boardMap.GetLength(0); y++) * { * for (int x = 0; x < boardMap[y].GetLength(0); x++) * { * if (boardMap[y][x] == 1) * { * addRandomFieldToAllFields(difficulty, y, x); * } * } * } * } * }*/ /// <summary> /// Feltölti a Field-ek listáját a megadott nehézségen koordinátákkal együtt. /// </summary> /// <param name="difficulty"></param> public void CreateBoard(Difficulty difficulty, IBoardShapes boardAnimal) { int[][] boardMap = boardAnimal.GetField(difficulty); int imageCounter = 0; Y = boardMap.GetLength(0); X = boardMap[0].GetLength(0); for (int y = 0; y < boardMap.GetLength(0); y++) { for (int x = 0; x < boardMap[y].GetLength(0); x++) { if (boardMap[y][x] == 1) { //addRandomFieldToAllFields(difficulty, y, x); Field field = new Field(imageList[imageCounter], imageCounter, y, x, true, null); AllFields.Add(field); imageCounter++; } } } }
//Processing public static void CreateZone(Vector3 _sp, Vector3 _ep, byte ZoneType, byte StorageType = 0) { Vector3 _StartPoint, _EndPoint; Functions.OrderVectors(_sp, _ep, out _StartPoint, out _EndPoint); switch (ZoneType) { case 0: Log.Notice(scr, "ZoneTypeIsMissing"); break; case 1: AllStorages.Add(new Storage(_StartPoint, _EndPoint)); break; case 2: AllFields.Add(new Field(_StartPoint, _EndPoint)); break; case 3: AllPastures.Add(new Pasture(_StartPoint, _EndPoint)); break; case 4: AllMines.Add(new Mine(_StartPoint, _EndPoint)); AllMines[AllMines.Count - 1].HighlightAll(); break; case 5: AllGatherings.Add(new Gathering(_StartPoint, _EndPoint)); AllGatherings[AllGatherings.Count - 1].HighlightAll(); break; default: Log.Notice(scr, "Zone type " + ZoneType + " undefined"); break; } }
private void CountIntertwined() { int count = 0; if (!IsCalculated) { Tuple <int, int> tuple; foreach (var kvp in SituationIndex.Index) { foreach (var dict in kvp.Value) { tuple = new Tuple <int, int>(dict.Value.First(), dict.Value.Last()); intervals.Add(tuple); } } } foreach (var tup in intervals) { foreach (var tup2 in intervals) { if (!mem.Contains(new Tuple <Tuple <int, int>, Tuple <int, int> >(tup, tup2))) { if (!(tup.Item1 == tup2.Item1 && tup.Item2 == tup2.Item2)) { if (tup.Item1 <= tup2.Item2 && tup2.Item1 <= tup.Item2) { count++; } mem.Add(new Tuple <Tuple <int, int>, Tuple <int, int> >(tup, tup2)); } } } } IntertwinedCount = count; AllFields.Add("Intertwined situations", count); }
public IEnumerator <TranslateableEnumField <TEnum> > GetEnumerator() { return(AllFields.GetEnumerator()); }
BaseField GetBaseField(string name) { return(AllFields.First(x => x.guiName == name)); }
public bool HasField(string name) { return(AllFields.Any(x => x.guiName == name)); }
public static Field GetField(string Name) { return(AllFields.Find(x => x.Name == Name)); }
public static Zone GetZone(ushort ID) { return((new List <Zone> { AllMines.Find(x => x.ID == ID), AllPastures.Find(x => x.ID == ID), AllStorages.Find(x => x.ID == ID), AllFields.Find(x => x.ID == ID) }).Find(x => x != null)); }
public virtual IReadOnlyList <IPopulationAnalysisField> AllFieldsOn(PivotArea area) { return(AllFields.Where(f => GetArea(f).Is(area)).OrderBy(GetAreaIndex).ToList()); }
public IEnumerator <TranslateableEnumField <TEnum> > GetEnumerator() => AllFields.GetEnumerator();
public string GetField(string name) { return(AllFields.First(x => x.guiName == name).GetValue(module).ToString()); }
public void AddToAllFields(Field field) { AllFields.Add(field); }
void Init() { (m_Fields = new List <FieldInfo>(AllFields.Where(_ => Check(_)))).SortField(); (m_Events = new List <EventInfo>(AllEvents.Where(_ => Check(_)))).SortEvent(); (m_Propertys = new List <PropertyInfo>(AllPropertys.Where(_ => Check(_)))).SortProperty(); m_Methods.Clear(); foreach (var method in AllMethods) { if (!Check(method)) { continue; } var valid = true; var methodHandle = method.MethodHandle; //判断函数是不是 event add remove 函数 foreach (var eventInfo in AllEvents) { if (eventInfo.GetAddMethod().MethodHandle == methodHandle || eventInfo.GetRemoveMethod().MethodHandle == methodHandle) { if (!Check(eventInfo)) { valid = false; } break; } } if (valid) { //判断函数是不是 get set 函数 foreach (var propertyInfo in AllPropertys) { //如果是struct 并且是 set 属性则屏蔽,强转结构体的set会报错 if (IsStruct && propertyInfo.GetSetMethod()?.MethodHandle == methodHandle) { valid = false; break; } else if (propertyInfo.GetGetMethod()?.MethodHandle == methodHandle || propertyInfo.GetSetMethod()?.MethodHandle == methodHandle) { if (!Check(propertyInfo)) { valid = false; } break; } } } if (valid) { m_Methods.Add(method); } } m_Methods.SortMethod(); m_ExtensionMethods.Clear(); foreach (var extensionInfo in m_Extensions) { var nameSpace = extensionInfo.Namespace; var methods = extensionInfo.GetMethods(Script.BindingFlag); foreach (var methodInfo in methods) { //非扩展函数 if (!Util.IsExtensionMethod(methodInfo) || !Check(methodInfo)) { continue; } var paramterType = methodInfo.GetParameters()[0].ParameterType; //判断是模板函数 if (paramterType.IsGenericParameter && paramterType.BaseType != null && paramterType.BaseType.IsAssignableFrom(m_Type)) { m_ExtensionMethods.Add(methodInfo); } else if (ScorpioReflectUtil.CheckGenericMethod(methodInfo) && paramterType.IsAssignableFrom(m_Type)) { m_ExtensionMethods.Add(methodInfo); } else { continue; } if (!string.IsNullOrWhiteSpace(nameSpace)) { m_ExtensionUsing.Add(nameSpace); } } } m_ExtensionMethods.SortMethod(); m_Methods.ForEach(_ => m_MethodNames.Add(_.Name)); m_ExtensionMethods.ForEach(_ => m_MethodNames.Add(_.Name)); }
public static Field GetField(ushort ID) { return(AllFields.Find(x => x.ID == ID)); }