public virtual void Decode(Stream stream) { FieldMap fieldMap = new FieldMap(); foreach (int current in this.Definition.Fields.Keys) { if (current < 0) { this.Definition.Fields[current].Decode(stream); } else { if (current == 0) { Bitmap bitmap = (Bitmap)this.Definition.Fields[current]; bitmap.Decode(stream); List <int> decodedBitmap = bitmap.GetDecodedBitmap(); using (List <int> .Enumerator enumerator2 = decodedBitmap.GetEnumerator()) { while (enumerator2.MoveNext()) { int current2 = enumerator2.Current; fieldMap.Add(current2); fieldMap.Set(current2); } continue; } } if (current == 1 && this.Definition.Fields[current].GetType() == typeof(Bitmap)) { Bitmap bitmap2 = (Bitmap)this.Definition.Fields[current]; bitmap2.Decode(stream); List <int> decodedBitmap2 = bitmap2.GetDecodedBitmap(); using (List <int> .Enumerator enumerator3 = decodedBitmap2.GetEnumerator()) { while (enumerator3.MoveNext()) { int current3 = enumerator3.Current; fieldMap.Add(current3); fieldMap.Set(current3); } continue; } } if (fieldMap.Bits.ContainsKey(current)) { this.Definition.Fields[current].Decode(stream); } } } }
public static void CreateEntry(Type from, Type to) { if (FieldMaps.TryGetValue(from, out _)) { return; } if (FieldMaps.TryGetValue(to, out _)) { return; } var fromMap = new FieldMap(); var toMap = new FieldMap(); var fields = GetFields(from); foreach (var field in fields) { fromMap.Add(field); var otherField = to.GetField(field.Name); if (otherField != null) { toMap.Add(otherField); } } FieldMaps.Add(from, fromMap); FieldMaps.Add(to, toMap); }
public FieldMap Parse(string line) { var fieldMap = new FieldMap(); var fields = typeof(LogEvent).GetFields(); var lineFields = line.Split(' '); var lineFieldsIndex = 0; foreach (var lineField in lineFields) { GetFieldAttributeByName(lineField, fields, (fieldAttribute, fieldInfo) => { fieldMap.Add(lineFieldsIndex, fieldAttribute.Convertor, fieldInfo); }); lineFieldsIndex += 1; } return(fieldMap); }
private Schema.Field _GetField(int rowOffset, int colOffset) { if (_fieldMap == null) { _fieldMap = new FieldMap(); foreach (var field in _schema) { _fieldMap.Add( field.rowOffset + "," + field.colOffset, field ); } } var k = rowOffset + "," + colOffset; Schema.Field v = null; _fieldMap.TryGetValue(k, out v); return(v); }
protected override void CreateTable(DbDataReader r) { string type = "text"; FieldCount = r.FieldCount; Values = new object[FieldCount]; //InsterStrBuilder StringBuilder ISBer = new StringBuilder($@"INSERT INTO {brackets1}{tableName}{brackets2} ("); for (int i = 0; i < r.FieldCount; i++) { ISBer.Append(brackets1); ISBer.Append(r.GetName(i)); ISBer.Append(brackets2); ISBer.Append(","); } ISBer.Remove(ISBer.Length - 1, 1); ISBer.Append(") VALUES ("); for (int i = 0; i < r.FieldCount; i++) { ISBer.Append("{" + i + "},"); } ISBer.Remove(ISBer.Length - 1, 1); ISBer.Append(")"); InsterStr = ISBer.ToString(); //FieldMap for (int i = 0; i < r.FieldCount; i++) { FieldMap.Add(r.GetName(i), i); } var cmd = conn.CreateCommand(); try { cmd.CommandText = GetCreateTableString(r, type, brackets1, brackets2); cmd.ExecuteNonQuery(); } finally { cmd.Dispose(); } }
private void InstantiateFields() { var i = 0; foreach (var field in _gameBoard.Fields) { var fieldView = _itemPool.GetField(); // Find the node at the field's position and set it as a parent of this field fieldView.transform.SetParent(NodeMap[field.Position].transform); fieldView.Init(field, NodeMap[field.Position], NodeMap[field.ConnectedPosition]); fieldView.name = "Field " + i++; // Keep track of the field in grid space // Since fields are undirected, we should add the opposite direction as well FieldMap.Add(field.Position, field.Direction, fieldView); FieldMap.Add(field.ConnectedPosition, field.Direction.Opposite(), fieldView); } }