public List <Dictionary <string, Dictionary <string, string> > > getHistory(String imei, String startDate, String endDate) { List <Dictionary <string, Dictionary <string, string> > > file_data = new List <Dictionary <string, Dictionary <string, string> > >(); String[] imeiArray = LimitData.ProcessDirectory(Config.PathFile); for (int i = 0; i < imeiArray.Length; i++) { bool bo = imeiArray[i].Split('.')[0].Equals(imei); if (bo) { System.Diagnostics.Debug.WriteLine("Huyenchu imeiArray: " + imeiArray[i].ToString() + " " + bo.ToString() + " " + imeiArray[i].Split('.')[0]); //List<Dictionary<string, Dictionary<string, string>>> file_data = new List<Dictionary<string, Dictionary<string, string>>>(); var filestream = new System.IO.FileStream(Config.PathFile + imeiArray[i], System.IO.FileMode.Open); var file = new System.IO.StreamReader(filestream); string line_of_text; do // handle error { Dictionary <string, Dictionary <string, string> > record = new Dictionary <string, Dictionary <string, string> >(); line_of_text = file.ReadLine(); if (line_of_text == null || line_of_text.Trim('\n', '\r').Length == 0) { break; } record["timestamp_recv"] = LimitData.extract_data_begin(line_of_text); line_of_text = file.ReadLine(); if (line_of_text == null || line_of_text.Trim('\n', '\r').Length == 0) { break; } record["data"] = LimitData.extract_data(line_of_text); DateTime curDate = LimitData.stringToDate(line_of_text.Split(',')[1]); if (LimitData.DateToTimestamp(curDate, LimitData.stringToDate(startDate)) >= 0 && LimitData.DateToTimestamp(LimitData.stringToDate(endDate), curDate) >= 0) { file_data.Add(record); } } while (true); filestream.Close(); } else { System.Diagnostics.Debug.WriteLine("Huyenchu imeiArray: " + imeiArray[i].ToString() + " " + bo.ToString() + " " + imeiArray[i].Split('.')[0]); } } return(file_data); }
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { List <Ilife> target = Target.GetTarget((EFuncTarget)(Limit.Target)); if (target.Count <= 0) { return(false); } Vector3 targetPos = ((ITransformBehaviour)(target[0])).GetTransformData().GetPosition(); float distance = Vector3.Distance(PlayerManager.Instance.GetPlayerInstance().GetTransformData().GetPosition(), targetPos); return(OperationFunc.LimitOperatorValue((ELimitOperator)Limit.Oper, (int)(distance), Limit.ParamIntList[0])); }
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { List <Ilife> target = Target.GetTarget((EFuncTarget)(Limit.Target)); if (Limit.Oper == (int)ELimitOperator.ELO_Equal) { return(target[0] is PlayerCharacter); } else if (Limit.Oper == (int)ELimitOperator.ELO_NotEuqal) { return(!(target[0] is PlayerCharacter)); } return(false); }
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { List <Ilife> target = Target.GetTarget(EFuncTarget.EFT_User); if (target == null || target.Count <= 0) { return(false); } if (!(target[0] is Npc)) { return(false); } Npc npc = (Npc)target[0]; return(npc.IsPlayerControlled); }
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { List <Ilife> target = Target.GetTarget((EFuncTarget)(Limit.Target)); for (int i = 0; i < target.Count; ++i) { if (!(target[i] is PlayerCharacter)) { continue; } int index = Limit.ParamIntList[0]; bool flag = PlayerManager.Instance.GetCharCounterData().GetFlag(index); if (!OperationFunc.LimitOperatorValue((ELimitOperator)Limit.Oper, flag, (Limit.ParamIntList[1] != 0))) { return(false); } } return(true); }
/// <summary> /// Reads element "joint" with required attributes "name" and "type". /// </summary> /// <param name="element">Optional element "joint".</param> /// <param name="optional">Unused.</param> public override void Read(XElement element, bool optional = true) { if (element == null) { return; } base.Read(element, false); var type = Utils.ReadString(element, "type", false); Type = type == "revolute" ? JointType.Revolute : type == "continuous" ? JointType.Continuous : type == "prismatic" ? JointType.Prismatic : type == "fixed" ? JointType.Fixed: type == "planar" ? JointType.Planar : JointType.Unknown; if (Type == JointType.Unknown) { throw new UrdfIOException($"{Utils.GetLineInfo( element )}: Unknown joint type '{type}'."); } Parent = Utils.ReadString(element.Element("parent"), "link", false); Child = Utils.ReadString(element.Element("child"), "link", false); if (element.Element("axis") != null) { Axis = Utils.ReadVector3(element.Element("axis"), "xyz", false); } Calibration = CalibrationData.ReadOptional(element); Dynamics = DynamicsData.ReadOptional(element); Limit = LimitData.Read(element, type != "revolute" && type != "prismatic"); Mimic = MimicData.ReadOptional(element); SafetyController = SafetyControllerData.ReadOptional(element); }
public List <String> parse_file() { List <String> listJson = new List <string>(); string[] listFile = ProcessDirectory(Config.PathFile); for (int i = 0; i < listFile.Length; i++) { List <Dictionary <string, Dictionary <string, string> > > file_data = new List <Dictionary <string, Dictionary <string, string> > >(); var filestream = new System.IO.FileStream(Config.PathFile + listFile[i], System.IO.FileMode.Open); var file = new System.IO.StreamReader(filestream); string line_of_text; do // chua handle error { Dictionary <string, Dictionary <string, string> > record = new Dictionary <string, Dictionary <string, string> >(); line_of_text = file.ReadLine(); if (line_of_text == null || line_of_text.Trim('\n', '\r').Length == 0) { break; } record["timestamp_recv"] = LimitData.extract_data_begin(line_of_text); line_of_text = file.ReadLine(); if (line_of_text == null || line_of_text.Trim('\n', '\r').Length == 0) { break; } record["data"] = LimitData.extract_data(line_of_text); file_data.Clear(); file_data.Add(record); } while (true); filestream.Close(); listJson.Add(JsonConvert.SerializeObject(file_data)); //listJson.Add((new JavaScriptSerializer()).Serialize(file_data)); //return (new JavaScriptSerializer()).Serialize(file_data); } return(listJson); }
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { int missionStepCount = MissionManager.Instance.GetMissionStepCounter(Limit.ParamIntList[0]); return(OperationFunc.LimitOperatorValue((ELimitOperator)Limit.Oper, missionStepCount, Limit.ParamIntList[1])); }
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { return(MissionManager.Instance.CheckMissionAvailable(Limit.ParamIntList[0])); }
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { return(ActionManager.Instance.CheckActionIsPlayed(Limit.ParamIntList[0])); }
public int SaveData(AccountDbContext context) { CheckForNewCurrentDataRow(context); List <LimitDataArchiveItem> localDataArchive; lock (DataArchiveLockObject) { var dataArchive = GetDataArchive(context); localDataArchive = new List <LimitDataArchiveItem>(dataArchive); } // Сохраним все несохранённые записи var repository = context.GetLimitDataRepository(); var rows = localDataArchive.Where(t => t.Id == Guid.Empty).ToArray(); foreach (var row in rows) { var limitData = new LimitData() { BeginDate = row.BeginDate, EndDate = row.EndDate, Type = LimitDataType.Per5Minutes, EventsRequests = row.EventsRequests, EventsSize = row.EventsSize, LogSize = row.LogSize, MetricsRequests = row.MetricsRequests, MetricsSize = row.MetricsSize, UnitTestsRequests = row.UnitTestsRequests, UnitTestsSize = row.UnitTestsSize }; limitData.UnitTestData = row.UnitTestData.Select(t => new LimitDataForUnitTest() { Id = Guid.NewGuid(), LimitData = limitData, UnitTestId = t.Key, ResultsCount = t.Value.ResultsCount }).ToList(); repository.Add(limitData); context.SaveChanges(); row.Id = limitData.Id; row.UnitTestData = null; } // Проверим, есть ли запись за вчера с данными за целый день var yesterday = Now.Date.AddDays(-1); var totalForYesterday = repository.QueryAll().FirstOrDefault(t => t.Type == LimitDataType.Per1Day && t.BeginDate == yesterday); if (totalForYesterday == null) { // Если записи за вчера нет, создадим её totalForYesterday = new LimitData() { BeginDate = yesterday, EndDate = yesterday.AddDays(1), Type = LimitDataType.Per1Day }; // Заполним данными из архива за вчера var yesterdayArchive = localDataArchive.Where(t => t.BeginDate >= yesterday && t.BeginDate < yesterday.AddDays(1)).ToList(); totalForYesterday.EventsRequests = yesterdayArchive.Sum(t => t.EventsRequests); totalForYesterday.EventsSize = yesterdayArchive.Sum(t => t.EventsSize); totalForYesterday.UnitTestsRequests = yesterdayArchive.Sum(t => t.UnitTestsRequests); totalForYesterday.UnitTestsSize = yesterdayArchive.Sum(t => t.UnitTestsSize); totalForYesterday.MetricsRequests = yesterdayArchive.Sum(t => t.MetricsRequests); totalForYesterday.MetricsSize = yesterdayArchive.Sum(t => t.MetricsSize); totalForYesterday.LogSize = yesterdayArchive.Sum(t => t.LogSize); repository.Add(totalForYesterday); context.SaveChanges(); } // Удалим из архива в памяти те, которые старше 48 часов (сегодня + вчера) lock (DataArchiveLockObject) { var dataArchive = GetDataArchive(context); dataArchive.RemoveAll(t => t.BeginDate < Now.AddHours(-48)); } // Удалим из базы те, которые старше старше 48 часов (сегодня + вчера) repository.RemoveOld(Now.AddHours(-48), LimitDataType.Per5Minutes); return(rows.Length); }
public abstract bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context);
public override bool LimitExecHandler(HandleTarget Target, LimitData Limit, FuncContext context) { int random = Random.Range(0, 100); return(OperationFunc.LimitOperatorValue((ELimitOperator)Limit.Oper, random, Limit.ParamIntList[0])); }