protected virtual void SerializeClass(IDataStruct value) { if (value is IVersionedData versionedData) { _writer.WriteByte(versionedData.Version); } value.Serialize(this); }
public DTUAdapter(string wrapperDllPath) { var ass = Assembly.LoadFrom(wrapperDllPath); var assNameSpace = ass.GetName().Name; _wrapper = ass.CreateInstance(assNameSpace + "." + "Wrapper") as IDtuWrapper; _dataStruct = ass.CreateInstance(assNameSpace + "." + "DataStruct") as IDataStruct; _infoStruct = ass.CreateInstance(assNameSpace + "." + "InfoStruct") as IInfoStruct; }
private static void InitData() { BlockCost = new Dictionary <int, int>(); var data = DataParse.FromFile(ShipCostFilePath); foreach (IDataStruct entry in data) { var value = entry.GetValue("ident").ToString(); int blockId = int.Parse(value); IDataStruct costToken = entry.Get("deadliness"); int cost = costToken.IsNull ? 0 : int.Parse(costToken.ToString()); BlockCost.Add(blockId, cost); } }
public async override Task <ObjectQueryNavigator> NavigateAsync() { m_result_set = new List <TEntity>(); m_data_set = await m_data_source.GetDataSetAsync(m_query_builder); for (IDataStruct x = await m_data_set.GetRecordAsync(); x != null; x = await m_data_set.GetRecordAsync()) { m_result_set.Add(m_read_obj(x)); } Dispose(); return(this); }
protected override void SerializeClass(IDataStruct value) { bool needToSerialize = false; if (!_instanceMap.TryGetValue(value, out int instanceId)) { instanceId = _instanceMap.Count; _instanceMap.Add(value, instanceId); needToSerialize = true; } _writer.WriteInt(instanceId); if (needToSerialize) { base.SerializeClass(value); } }
public int GetNextData(ref IDataStruct pDataStruct, ushort waitseconds) { var datastruct = new DtuDataStruct(); var result = DTUSimWrapper.DSGetNextData(ref datastruct, waitseconds); if (pDataStruct == null) { pDataStruct = new DataStruct(); } pDataStruct.Id = datastruct.m_dtuId; pDataStruct.DataBuff = datastruct.m_data_buf; pDataStruct.DataLength = datastruct.m_data_len; pDataStruct.DataType = datastruct.m_data_type; pDataStruct.ReceiveTime = datastruct.m_recv_time; return(result); }
public static List <Blueprint> FromFile(string path) { using (IDataStruct data = DataParse.FromFile(path)) { List <Blueprint> results = new List <Blueprint>(); IDataStruct blueprints = data.Get("blueprints"); for (int i = 0; i < blueprints.Count; i++) { IDataStruct blueprintTable = blueprints.Get(i); if (blueprintTable.Count > 1) { results.Add(FromTable(blueprintTable)); } } return(results); } }
public static Blueprint FromTable(IDataStruct blueprintTable) { var data = blueprintTable.Get("data"); string name = data.GetValue("name") as string; IDataStruct blocks = blueprintTable.Get("blocks"); int cost = 0; Console.WriteLine("Parsing blueprint for ship: " + name); foreach (IDataStruct block in blocks) { int id = int.Parse(block.GetValue(0).ToString()); cost += BlockData.GetBlockCost(id); } Console.WriteLine($"Succesfully parsed ship {name} with a cost of {cost}"); return(new Blueprint(name, cost, blueprintTable.Serialize())); }
public void SetData(IDataStruct s) { data.Append(s); }
public DataStructEnumerator(IDataStruct toEnumerate) { ToEnumerate = toEnumerate; Reset(); }
public void Visit(IDataStruct dataStruct) { Print(dataStruct); }