public override void ProcessRow(IList <object> row) { bool idExists = int.TryParse((string)row[IdIndex], out int id); if (idExists == false) { id = 0; } string unitName = (string)row[UnitNameIndex]; UnitModel model = new UnitModel() { Id = id, Unit = unitName }; GlobalConfig.Connection.CreateUnit(model); IList <object> updateRow = new object[] { model.Id, model.Unit.ToString() }; UpdateValues.Add(updateRow); }
public override void ProcessRow(IList <object> row) { bool idExists = int.TryParse((string)row[IdIndex], out int id); if (idExists == false) { id = 0; } int unitId = Convert.ToInt32(row[UnitIdIndex]); string itemName = (string)row[ItemNameIndex]; NutrientModel model = new NutrientModel() { Id = id, UnitId = unitId, ItemName = itemName }; GlobalConfig.Connection.CreateNutrient(model); IList <object> updateRow = new object[] { model.Id, model.ItemName.ToString(), row[UnitNameIndex], model.UnitId }; UpdateValues.Add(updateRow); }
public override void ProcessRow(IList <object> row) { bool idExists = int.TryParse((string)row[IdIndex], out int id); if (idExists == false) { id = 0; } AnalysisModel newAnalysisModel = new AnalysisModel { Id = id, ProductId = Convert.ToInt32(row[ProductIdIndex]), Nutrients = new List <AnalysisNutrientModel>() }; foreach (var key in NutrientMappings.Keys) { AnalysisNutrientModel newNutrientRecord = CreateAnalysisNutrientRecord(row, newAnalysisModel, key); newAnalysisModel.Nutrients.Add(newNutrientRecord); } GlobalConfig.Connection.CreateAnalysis(newAnalysisModel); IList <object> updateRow = new object[] { newAnalysisModel.Id, }; UpdateValues.Add(updateRow); }
public VisualizerForm(Settings settings) { m_Settings = settings; InitializeComponent(); InitBinding(); InitTypeConverters(); IClientService client = new Client(m_Settings); client.Options.LegacyFieldFlagEncoding = false; client.MessageReceived += ClientOnMessageReceived; client.MetaMessageReceived += ClientOnMessageReceived; BlockingCollection <Publisher> publisherQueue = new BlockingCollection <Publisher>(); m_PublisherBindings = new ConcurrentDictionary <string, ConcurrentDictionary <ushort, BindingSource> >(); BlockingCollection <DataPointCollection> valueQueue = new BlockingCollection <DataPointCollection>(); Parser parser = new Parser(publisherQueue, valueQueue, this, m_PublisherBindings); client.MessageReceived += parser.OnMessageDecoded; client.MetaMessageReceived += parser.OnMessageDecoded; client.FileReceived += parser.ClientOnFileReceived; m_UpdatePublisher = new UpdatePublisher(publisherQueue, m_PublisherBindingSource, this); m_UpdateValues = new UpdateValues(valueQueue, m_PublisherBindings, this); // there was a decoding standard violation in a part of the meta frame // which has been fixed and we enable it here to use this fix client.Options.LegacyFieldFlagEncoding = false; if (m_Settings.Client.UseTls) { // with TLS for use e.g. with MQTT-Broker as MDSP simulation // Broker CA certificate if (SettingManager.TryGetCertificateAsArray(m_Settings.Client.BrokerCACert, out byte[] brokerCaCert))
public static long GetIntOrDefault(this UpdateValues update, string field) { if (update.TryGetInt(field, out var v)) { return(v); } return(0); }
public override void ProcessRows() { UpdateValues.Add(Headers); foreach (IList <object> row in Rows) { ProcessRow(row); } }
public static bool TryGetInt(this UpdateValues update, string field, out long value) { if (update.ValuesCase == UpdateValues.ValuesOneofCase.Legacy) { return(update.Legacy.Ints.TryGetValue(field, out value)); } var val = GetInt(update.Fields, field); value = val ?? 0; return(val.HasValue); }
public static bool TryGetGuid(this UpdateValues update, string field, out UniversalGuid value) { if (update.ValuesCase == UpdateValues.ValuesOneofCase.Legacy) { return(update.Legacy.Guids.TryGetValue(field, out value)); } var val = GetGuid(update.Fields, field); value = val ?? null !; return(val != null); }
public override void ProcessRows() { ColumnProcessor.MapColumns(); NutrientMappings = ColumnProcessor.NutrientMappings; UpdateValues.Add(new object[] { Headers[0] }); foreach (var row in Rows) { ProcessRow(row); } }
public override void ProcessRow(IList <object> row) { OperationModel operation = new OperationModel(); operation.AnalysisId = Convert.ToInt32(row[AnalysisIndex]); operation.AppliedAmount = Convert.ToDecimal(row[AmountIndex]); operation.Timestamp = Convert.ToDateTime(row[TimestampIndex]); operation.FieldId = Convert.ToInt32(row[FieldIndex]); GlobalConfig.Connection.CreateOperation(operation); UpdateValues.Add(new string[] { "", "", "", "" }); }
internal static void InitHooks() { // late hook. On.RoR2.PreGameController.Awake += (origAwake, selfPreGameController) => { origAwake(selfPreGameController); On.RoR2.RuleBook.ApplyChoice += (orig, self, def) => { orig(self, def); UpdateValues?.Invoke(self, null); }; }; }
public override void ProcessRow(IList <object> row) { FieldModel newField = new FieldModel() { Field = (string)row[FieldNameIndex], Farm = (string)row[FarmNameIndex], Id = Convert.ToInt32(row[IdIndex]), Acreage = 0.0M }; bool validDecimal = decimal.TryParse((string)row[AcreageIndex], out decimal acreage); if (validDecimal && acreage > 0) { newField.Acreage = acreage; } foreach (var rotationColumn in RotationColumns) { int columnIndex = rotationColumn.Value; RotationModel newRotation = new RotationModel() { FieldId = newField.Id, RotationYear = rotationColumn.Key }; string plannedCrop = (string)row[columnIndex]; if (plannedCrop.Length > 0) { // convert names to lowercase so just the text is being compared ProductModel matchedCrop = Crops.Where(crop => crop.ItemName.ToLower() == plannedCrop.ToLower()) .ToList().First(); if (matchedCrop == null) { throw new Exception($"Crop matching error. Current crop count is: {plannedCrop}"); } else { newRotation.ProductId = matchedCrop.Id; newField.Rotations.Add(newRotation); } } } GlobalConfig.Connection.CreateField(newField); Fields.Add(newField); IList <object> updateRow = new string[] { newField.Farm, newField.Field, newField.Id.ToString() }; UpdateValues.Add(updateRow); }
public static void HandleUpdateObject(Packet packet) { var updateObject = packet.Holder.UpdateObject = new(); uint map = updateObject.MapId = packet.ReadUInt16("Map"); var count = packet.ReadUInt32("Count"); for (var i = 0; i < count; i++) { var type = (UpdateTypeCataclysm)packet.ReadByte(); var partWriter = new StringBuilderProtoPart(packet.Writer); packet.AddValue("UpdateType", type.ToString(), i); switch (type) { case UpdateTypeCataclysm.Values: { var guid = packet.ReadPackedGuid("GUID", i); var updateValues = new UpdateValues(); CoreParsers.UpdateHandler.ReadValuesUpdateBlock(packet, updateValues, guid, i); updateObject.Updated.Add(new UpdateObject { Guid = guid, Values = updateValues, Text = partWriter.Text }); break; } case UpdateTypeCataclysm.CreateObject1: case UpdateTypeCataclysm.CreateObject2: // Might != CreateObject1 on Cata { var guid = packet.ReadPackedGuid("GUID", i); var createObject = new CreateObject() { Guid = guid, Values = new(), CreateType = type.ToCreateObjectType() }; ReadCreateObjectBlock(packet, createObject, guid, map, i); createObject.Text = partWriter.Text; updateObject.Created.Add(createObject); break; } case UpdateTypeCataclysm.DestroyObjects: { CoreParsers.UpdateHandler.ReadDestroyObjectsBlock(packet, i); break; } } } }
public static void HandleUpdateObject(Packet packet) { var updateObject = packet.Holder.UpdateObject = new(); uint map = updateObject.MapId = packet.ReadUInt16("Map"); var count = packet.ReadUInt32("Count"); for (var i = 0; i < count; i++) { var type = packet.ReadByte(); var typeString = ((UpdateTypeCataclysm)type).ToString(); packet.AddValue("UpdateType", typeString, i); switch (typeString) { case "Values": { var guid = packet.ReadPackedGuid("GUID", i); var updateValues = new UpdateValues(); CoreParsers.UpdateHandler.ReadValuesUpdateBlock(packet, updateValues, guid, i); updateObject.Updated.Add(new UpdateObject { Guid = guid, Values = updateValues }); break; } case "CreateObject1": case "CreateObject2": // Might != CreateObject1 on Cata { var guid = packet.ReadPackedGuid("GUID", i); var createObject = new CreateObject() { Guid = guid, Values = new() }; ReadCreateObjectBlock(packet, createObject, guid, map, i); updateObject.Created.Add(createObject); break; } case "DestroyObjects": { CoreParsers.UpdateHandler.ReadDestroyObjectsBlock(packet, i); break; } } } }
public ISqlBuilder Update(List <object> values) { Type = StatementType.Update; values.ForEach(v => UpdateValues.Add(StoreAndGetReference(v))); return(this); }
private static void _hookApplyChoice_RuleBook(On.RoR2.RuleBook.orig_ApplyChoice orig, RuleBook self, RuleChoiceDef choiceDef) { orig(self, choiceDef); UpdateValues?.Invoke(self, choiceDef); }
// Use this for initialization void Start() { val = cam.GetComponent <UpdateValues>(); }
public static void HandleUpdateObject(Packet packet) { var updateObject = packet.Holder.UpdateObject = new(); var count = packet.ReadUInt32("NumObjUpdates"); uint map = updateObject.MapId = packet.ReadUInt16 <MapId>("MapID"); packet.ResetBitReader(); var hasRemovedObjects = packet.ReadBit("HasRemovedObjects"); if (hasRemovedObjects) { var destroyedObjCount = packet.ReadInt16("DestroyedObjCount"); var removedObjCount = packet.ReadUInt32("RemovedObjCount"); // destroyed + out of range var outOfRangeObjCount = removedObjCount - destroyedObjCount; for (var i = 0; i < destroyedObjCount; i++) { var partWriter = new StringBuilderProtoPart(packet.Writer); var guid = packet.ReadPackedGuid128("ObjectGUID", "Destroyed", i); updateObject.Destroyed.Add(new DestroyedObject() { Guid = guid, Text = partWriter.Text }); } for (var i = 0; i < outOfRangeObjCount; i++) { var partWriter = new StringBuilderProtoPart(packet.Writer); var guid = packet.ReadPackedGuid128("ObjectGUID", "OutOfRange", i); updateObject.OutOfRange.Add(new DestroyedObject() { Guid = guid, Text = partWriter.Text }); } } packet.ReadUInt32("Data size"); for (var i = 0; i < count; i++) { var type = packet.ReadByte(); var typeString = ((UpdateTypeCataclysm)type).ToString(); var partWriter = new StringBuilderProtoPart(packet.Writer); packet.AddValue("UpdateType", typeString, i); switch (typeString) { case "Values": { var guid = packet.ReadPackedGuid128("Object Guid", i); if (ClientVersion.AddedInVersion(ClientVersionBuild.V8_1_0_28724)) { var updatefieldSize = packet.ReadUInt32(); var handler = CoreFields.UpdateFields.GetHandler(); using (var fieldsData = new Packet(packet.ReadBytes((int)updatefieldSize), packet.Opcode, packet.Time, packet.Direction, packet.Number, packet.Writer, packet.FileName)) { WoWObject obj; Storage.Objects.TryGetValue(guid, out obj); var updateTypeFlag = fieldsData.ReadUInt32(); if ((updateTypeFlag & 0x0001) != 0) { var data = handler.ReadUpdateObjectData(fieldsData, obj?.ObjectData, i); if (obj != null) { obj.ObjectData = data; } } if ((updateTypeFlag & 0x0002) != 0) { handler.ReadUpdateItemData(fieldsData, null, i); } if ((updateTypeFlag & 0x0004) != 0) { handler.ReadUpdateContainerData(fieldsData, null, i); } if ((updateTypeFlag & 0x0008) != 0) { handler.ReadUpdateAzeriteEmpoweredItemData(fieldsData, null, i); } if ((updateTypeFlag & 0x0010) != 0) { handler.ReadUpdateAzeriteItemData(fieldsData, null, i); } if ((updateTypeFlag & 0x0020) != 0) { var unit = obj as Unit; var data = handler.ReadUpdateUnitData(fieldsData, unit?.UnitData, i); if (unit != null) { unit.UnitData = data; } } if ((updateTypeFlag & 0x0040) != 0) { handler.ReadUpdatePlayerData(fieldsData, null, i); } if ((updateTypeFlag & 0x0080) != 0) { handler.ReadUpdateActivePlayerData(fieldsData, null, i); } if ((updateTypeFlag & 0x0100) != 0) { var go = obj as GameObject; var data = handler.ReadUpdateGameObjectData(fieldsData, go?.GameObjectData, i); if (go != null) { go.GameObjectData = data; } } if ((updateTypeFlag & 0x0200) != 0) { handler.ReadUpdateDynamicObjectData(fieldsData, null, i); } if ((updateTypeFlag & 0x0400) != 0) { handler.ReadUpdateCorpseData(fieldsData, null, i); } if ((updateTypeFlag & 0x0800) != 0) { handler.ReadUpdateAreaTriggerData(fieldsData, null, i); } if ((updateTypeFlag & 0x1000) != 0) { handler.ReadUpdateSceneObjectData(fieldsData, null, i); } if ((updateTypeFlag & 0x2000) != 0) { var conversation = obj as ConversationTemplate; var data = handler.ReadUpdateConversationData(fieldsData, conversation?.ConversationData, i); if (conversation != null) { conversation.ConversationData = data; } } } } else { var updateValues = new UpdateValues(); CoreParsers.UpdateHandler.ReadValuesUpdateBlock(packet, updateValues, guid, i); updateObject.Updated.Add(new UpdateObject { Guid = guid, Values = updateValues, Text = partWriter.Text }); } break; } case "CreateObject1": case "CreateObject2": { var guid = packet.ReadPackedGuid128("Object Guid", i); var createObject = new CreateObject() { Guid = guid, Values = new() }; ReadCreateObjectBlock(packet, createObject, guid, map, i); createObject.Text = partWriter.Text; updateObject.Created.Add(createObject); break; } } } }
public static void HandleUpdateObject(Packet packet) { var updateObject = packet.Holder.UpdateObject = new(); var count = packet.ReadUInt32("NumObjUpdates"); var map = packet.ReadUInt16 <MapId>("MapID"); packet.ResetBitReader(); var hasRemovedObjects = packet.ReadBit("HasRemovedObjects"); if (hasRemovedObjects) { var destroyedObjCount = packet.ReadInt16("DestroyedObjCount"); var removedObjCount = packet.ReadUInt32("RemovedObjCount"); // destroyed + out of range var outOfRangeObjCount = removedObjCount - destroyedObjCount; for (var i = 0; i < destroyedObjCount; i++) { var partWriter = new StringBuilderProtoPart(packet.Writer); var guid = packet.ReadPackedGuid128("ObjectGUID", "Destroyed", i); updateObject.Destroyed.Add(new DestroyedObject() { Guid = guid, Text = partWriter.Text }); } for (var i = 0; i < outOfRangeObjCount; i++) { var partWriter = new StringBuilderProtoPart(packet.Writer); var guid = packet.ReadPackedGuid128("ObjectGUID", "OutOfRange", i); updateObject.OutOfRange.Add(new DestroyedObject() { Guid = guid, Text = partWriter.Text }); } } packet.ReadUInt32("DataSize"); for (var i = 0; i < count; ++i) { var type = packet.ReadByteE <UpdateTypeCataclysm>("UpdateType", i); var guid = packet.ReadPackedGuid128("ObjectGuid", i); var partWriter = new StringBuilderProtoPart(packet.Writer); switch (type) { case UpdateTypeCataclysm.Values: var updateValues = new UpdateValues(); CoreParsers.UpdateHandler.ReadValuesUpdateBlock(packet, updateValues, guid, i); updateObject.Updated.Add(new UpdateObject() { Guid = guid, Values = updateValues, Text = partWriter.Text }); break; case UpdateTypeCataclysm.CreateObject1: case UpdateTypeCataclysm.CreateObject2: var createObject = new CreateObject() { Guid = guid, Values = new() }; ReadCreateObjectBlock(packet, createObject, guid, map, i); createObject.Text = partWriter.Text; updateObject.Created.Add(createObject); break; } } }
public OperationSheetProcessor(IList <IList <object> > rows) { Rows = rows; PopHeaders(); UpdateValues.Add(Headers); }
private Planing(SortedQueue <double, StateAction> priorityQueue, Planing other) { this.priorityQueue = priorityQueue; updateValues = other.updateValues; getPriority = other.getPriority; }
public Planing(UpdateValues updateValues, GetPriority getPriority) { this.updateValues = updateValues; this.getPriority = getPriority; }
public static void HandleUpdateObject(Packet packet) { var updateObject = packet.Holder.UpdateObject = new(); var count = packet.ReadUInt32("NumObjUpdates"); uint map = updateObject.MapId = packet.ReadUInt16 <MapId>("MapID"); packet.ResetBitReader(); var hasRemovedObjects = packet.ReadBit("HasRemovedObjects"); if (hasRemovedObjects) { var destroyedObjCount = packet.ReadInt16("DestroyedObjCount"); var removedObjCount = packet.ReadUInt32("RemovedObjCount"); // destroyed + out of range var outOfRangeObjCount = removedObjCount - destroyedObjCount; for (var i = 0; i < destroyedObjCount; i++) { var partWriter = new StringBuilderProtoPart(packet.Writer); var guid = packet.ReadPackedGuid128("ObjectGUID", "Destroyed", i); updateObject.Destroyed.Add(new DestroyedObject() { Guid = guid, TextStartOffset = partWriter.StartOffset, TextLength = partWriter.Length, Text = partWriter.Text }); } for (var i = 0; i < outOfRangeObjCount; i++) { var partWriter = new StringBuilderProtoPart(packet.Writer); var guid = packet.ReadPackedGuid128("ObjectGUID", "OutOfRange", i); updateObject.OutOfRange.Add(new DestroyedObject() { Guid = guid, TextStartOffset = partWriter.StartOffset, TextLength = partWriter.Length, Text = partWriter.Text }); } } packet.ReadUInt32("Data size"); for (var i = 0; i < count; i++) { var type = (UpdateTypeCataclysm)packet.ReadByte(); var partWriter = new StringBuilderProtoPart(packet.Writer); packet.AddValue("UpdateType", type.ToString(), i); switch (type) { case UpdateTypeCataclysm.Values: { var guid = packet.ReadPackedGuid128("Object Guid", i); var updateValues = new UpdateValues(); if (ClientVersion.AddedInVersion(ClientVersionBuild.V8_1_0_28724)) { var updatefieldSize = packet.ReadUInt32(); var handler = CoreFields.UpdateFields.GetHandler(); updateValues.Fields = new(); using (var fieldsData = new Packet(packet.ReadBytes((int)updatefieldSize), packet.Opcode, packet.Time, packet.Direction, packet.Number, packet.Writer, packet.FileName)) { WoWObject obj; Storage.Objects.TryGetValue(guid, out obj); var updateTypeFlag = fieldsData.ReadUInt32(); if ((updateTypeFlag & 0x0001) != 0) { var data = handler.ReadUpdateObjectData(fieldsData, i); if (obj is { ObjectData: IMutableObjectData mut }) { mut.UpdateData(data); }