public static bool IsTheSamePeriod(DateTime date1, DateTime date2, Every period) { if (period == Every.Day) { return(date1.Date == date2.Date); } if (period == Every.Week) { return(WeekNumber(date1) == WeekNumber(date2)); } if (period == Every.Month) { return(date1.Year == date2.Year && date1.Month == date2.Month); } if (period == Every.Quarter) { return(date1.Year == date2.Year && QuarterNumber(date1) == QuarterNumber(date2)); } if (period == Every.Year) { return(date1.Year == date2.Year); } throw new Exception("Такого периода не бывает!"); }
public override string ToString() { var text = ""; if (OccuranceType == OccuranceType.None) { text = "on the " + DayNumber.ToOrdinalString(); } else if (OccuranceType == OccuranceType.DayOfWeek) { text = "on the " + Occurance.ToString().ToLower() + " " + Day.ToString(); } else if (OccuranceType == OccuranceType.Day) { text = "on the " + Occurance.ToString().ToLower() + " day"; } else if (OccuranceType == OccuranceType.Weekday) { text = "on the " + Occurance.ToString().ToLower() + " weekday"; } if (Every == 1) { text += " of every month"; } else { text += " of every " + Every.ToString() + " months"; } return(text); }
/// <summary> /// 测试 /// </summary> private static void test() { // 百位:1同,2条,3万 // 十位:0无,其他数值 // 个位:0无,1碰,2杠 int[] everyData = new int[] { 110, 110, 110, 000, 230, 230, 230, 240, 240, 240, 250, 250, 250, 290, 290, 000, 000, 000 }; Every[] everys = new Every[18]; for (int i = 0; i < everyData.Length; i++) { Every every = new Every(); every.setNumber(everyData[i] / 10 % 10); every.setColor(everyData[i] / 100 == 0 ? 1000 : everyData[i] / 100); if (everyData[i] % 10 == 1) { every.setIf_Touched(true); } else if (everyData[i] % 10 == 2) { every.setIf_Konged(true); } everys[i] = every; } HuPaiResult result = RuleUtils.IsHu(everys); Debug.Log(result.type.huType); }
/// <summary> /// довольно медленно /// может _ratesAsDictionary позволит ускорить? /// </summary> /// <param name="frequency"></param> /// <returns></returns> public List <DiagramPoint> GetBalances(Every frequency) { var root = _db.SeekAccount("Мои"); var result = new List <DiagramPoint>(); var currentDate = new DateTime(2001, 12, 31); // считать надо всегда с самого начала, иначе остаток неправильный будет var currentMoneyBag = new MoneyBag(); foreach (var tran in _db.TransWithTags) { while (currentDate < tran.Timestamp.Date) { if (FunctionsWithEvery.IsLastDayOf(currentDate, frequency)) { var sum = _rateExtractor.GetUsdEquivalent(currentMoneyBag, tran.Timestamp.Date); if (sum != 0) // если вернулся 0 - это гэпы без курсов в начале времен { result.Add(new DiagramPoint(currentDate, (double)sum)); } else { var lastSum = result.Last().CoorYdouble; result.Add(new DiagramPoint(currentDate, lastSum)); } } currentDate = currentDate.AddDays(1); } currentMoneyBag = currentMoneyBag + tran.MoneyBagForAccount(root); } result.Add(new DiagramPoint(currentDate, (double)_rateExtractor.GetUsdEquivalent(currentMoneyBag, currentDate))); return(result); }
public bool ZoomLimits(DiagramDataSeriesUnited currentSeriesUnited, Every groupInterval, int delta, ref DiagramDataExtremums extremums) { if (delta < 0)// increase picture { if (currentSeriesUnited.DiagramData.Count < 6) { return(false); } } else { } int shiftDateRange = (extremums.MaxDate - extremums.MinDate).Days * delta / 1200; if (Math.Abs(shiftDateRange) < 31 && groupInterval == Every.Month) { shiftDateRange = 31 * Math.Sign(delta); } if (Math.Abs(shiftDateRange) < 366 && groupInterval == Every.Year) { shiftDateRange = 366 * Math.Sign(delta); } extremums.MinDate = extremums.MinDate.AddDays(-shiftDateRange); extremums.MaxDate = extremums.MaxDate.AddDays(shiftDateRange); return(true); }
public Every Every(TimeSpan interval, Action action) { var every = new Every(interval, action); everies.Add(every); return(every); }
public void GroupAllData(Every period, DiagramMode currentDiagramMode) { GroupAllData(period); if (currentDiagramMode == DiagramMode.BarVertical100) { StackAllData(); } }
public void Describe_to() { var matcher = Every.Item(_startsWithA); var description = new StringDescription(); matcher.DescribeTo(description); Assert.That(description.ToString(), Is.EqualTo("every item starts with an A")); }
public DiagramHintCreator(DiagramData allDiagramData, SortedList <DateTime, List <double> > currentSeriesUnitedData, Every groupInterval, DiagramMode diagramMode, DiagramDrawingCalculator diagramDrawingCalculator) { _allDiagramData = allDiagramData; _currentSeriesUnitedData = currentSeriesUnitedData; _groupInterval = groupInterval; _diagramMode = diagramMode; _diagramDrawingCalculator = diagramDrawingCalculator; }
public override Task Enter(Dictionary <string, object> parameters) { positions = new List <Quad>(); // currently selected menu item currentMenuItem = 0; // colors we'll use to change the title text colors = new Color[] { new Color(217, 87, 99, 255), new Color(95, 205, 228, 255), new Color(251, 242, 54, 255), new Color(118, 66, 138, 255), new Color(153, 229, 80, 255), new Color(223, 113, 38, 255) }; // letters of MATCH 3 and their spacing relative to the center letterTable = new[] { new KeyValuePair <char, int>('M', -108), new KeyValuePair <char, int>('A', -64), new KeyValuePair <char, int>('T', -28), new KeyValuePair <char, int>('C', 2), new KeyValuePair <char, int>('H', 40), new KeyValuePair <char, int>('3', 112) }; // time for a color change if it's been half a second colorTimer = Match3.Instance.Timer.Every(TimeSpan.FromSeconds(0.075), () => { var color = colors[6 - 1]; for (var i = 6 - 1; i > 0; i--) { colors[i] = colors[i - 1]; } colors[0] = color; }); // generate full table of tiles just for display for (var i = 0; i < 64; i++) { positions.Add(Match3.Instance.Frames["tiles"][Match3.Instance.Random.Next(18)][Match3.Instance.Random.Next(6)]); } // used to animate our full-screen transition rect transitionAlpha = 0; // if we've selected an option, we need to pause input while we animate out pauseInput = false; return(Task.CompletedTask); }
public void StackAllData(DiagramMode newDiagramMode, Every currentGroupInterval) { if (currentGroupInterval != GroupInterval) { GroupAllData(currentGroupInterval); } if (newDiagramMode == DiagramMode.BarVertical100) { StackAllData(); } }
public void Periods_with_undefined_endings_have_infinite_occurrences() { var job = new ScheduledJob(); var info = new Every(job).Hour(); Assert.Throws<ArgumentException>(() => { info.AllOccurrences.ToList(); }); Assert.IsNull(info.LastOccurrence); var next = info.NextOccurrence; Assert.IsNotNull(next); Console.WriteLine(next); }
public override string ToString() { if (Every == 1) { return("every hour between " + FromTime.ToString(@"H\:mm") + " and " + ToTime.ToString(@"H\:mm")); } else { return("every " + Every.ToString() + " hours between " + FromTime.ToString(@"H\:mm") + " and " + ToTime.ToString(@"H\:mm")); } }
public void Periods_with_defined_endings_have_finite_occurrences() { var job = new ScheduledJob(); var info = new Every(job).Hour().For(6).Days(); Assert.AreEqual(24 * 6, info.AllOccurrences.Count()); Assert.IsNotNull(info.NextOccurrence); Assert.IsNotNull(info.LastOccurrence); Assert.AreEqual(info.NextOccurrence, info.AllOccurrences.First()); Assert.AreEqual(info.LastOccurrence, info.AllOccurrences.Last()); }
public override int GetHashCode() { unchecked { int hash = 17; if (Status != default(ScheduleStatus)) { hash = hash * 23 + Status.GetHashCode(); } if (Every != default(int)) { hash = hash * 23 + Every.GetHashCode(); } if (Period != default(SchedulePeriod)) { hash = hash * 23 + Period.GetHashCode(); } if (On != default(ScheduleOn)) { hash = hash * 23 + On.GetHashCode(); } if (InWords != default(String)) { hash = hash * 23 + InWords.GetHashCode(); } if (StartDate != default(DateTime)) { hash = hash * 23 + StartDate.GetHashCode(); } if (EndDate != default(DateTime)) { hash = hash * 23 + EndDate.GetHashCode(); } if (Charge != default(ChargeScheduling)) { hash = hash * 23 + Charge.GetHashCode(); } if (Transfer != default(TransferScheduling)) { hash = hash * 23 + Transfer.GetHashCode(); } if (Occurrences != default(ScopedList <Occurrence>)) { hash = hash * 23 + Occurrences.GetHashCode(); } if (NextOccurrences != default(ScopedList <Occurrence>)) { hash = hash * 23 + NextOccurrences.GetHashCode(); } return(hash); } }
public void Periods_with_undefined_endings_have_infinite_occurrences() { var job = new ScheduledJob(); var info = new Every(job).Hour(); Assert.Throws <ArgumentException>(() => { info.AllOccurrences.ToList(); }); Assert.IsNull(info.LastOccurrence); var next = info.NextOccurrence; Assert.IsNotNull(next); Console.WriteLine(next); }
public SteamworksPlugin(uint appId, int callbackFrequencyMs = 2000) { if (_init) { throw new Exception("Only one Steamworks Plugin can be active."); } _init = true; AppId = appId; _callbackRunner = new Every(callbackFrequencyMs, () => { SteamNative.RunCallbacks(); }); LoadNative(); }
public void Detach(GameObject go) { var e = go.GetComponent <Entity>(); if (e != null) { e.Destoryed -= OnEntityDestroyed; } Every.Remove(go); if (GODetached != null) { GODetached(go); } }
public DrawingImage Draw(DiagramDataSeriesUnited diagramData, DiagramDataExtremums diagramDataExtremums, DiagramDrawingCalculator diagramDrawingCalculator, DiagramMode diagramMode, Every groupInterval) { _diagramData = diagramData; _extremums = diagramDataExtremums; _diagramDrawingCalculator = diagramDrawingCalculator; _diagramMode = diagramMode; _groupInterval = groupInterval; var drawingGroup = new DrawingGroup(); drawingGroup.Children.Add(FullDiagramBackground(_diagramDrawingCalculator)); drawingGroup.Children.Add(DiagramRegionBackground(_diagramDrawingCalculator)); drawingGroup.Children.Add(HorizontalAxes(_diagramDrawingCalculator)); drawingGroup.Children.Add(VerticalGridLines(_diagramDrawingCalculator)); drawingGroup.Children.Add(XAxisDashes(Dock.Top, _diagramDrawingCalculator)); drawingGroup.Children.Add(XAxisDashes(Dock.Bottom, _diagramDrawingCalculator)); drawingGroup.Children.Add(XAxisMarkers(Dock.Top, _diagramDrawingCalculator)); drawingGroup.Children.Add(XAxisMarkers(Dock.Bottom, _diagramDrawingCalculator)); drawingGroup.Children.Add(VerticalAxes(_diagramDrawingCalculator)); drawingGroup.Children.Add(YAxisDashes(Dock.Left, _diagramDrawingCalculator)); drawingGroup.Children.Add(YAxisMarkers(Dock.Left, _diagramDrawingCalculator)); drawingGroup.Children.Add(YAxisDashes(Dock.Right, _diagramDrawingCalculator)); drawingGroup.Children.Add(YAxisMarkers(Dock.Right, _diagramDrawingCalculator)); drawingGroup.Children.Add(HorizontalGridLines(_diagramDrawingCalculator)); if (_diagramMode == DiagramMode.BarVertical || _diagramMode == DiagramMode.BarVertical100) { BarVerticalDiagram(_diagramDrawingCalculator, ref drawingGroup); } if (_diagramMode == DiagramMode.Lines) { for (var j = 0; j < _diagramData.SeriesCount; j++) { drawingGroup.Children.Add(OneSeriesLine(_diagramDrawingCalculator, j)); } } if (_diagramMode == DiagramMode.SeparateLines) { drawingGroup.Children.Add(OneSeriesLine(_diagramDrawingCalculator, diagramData.ActiveLine)); } return(new DrawingImage(drawingGroup)); }
/// <summary> /// 判断是否可以碰牌 /// </summary> /// <param name="everys"></param> /// <param name="every"></param> /// <returns></returns> public static int CheckPeng(Every[] everys, Every every) { for (int i = 0; i < everys.Length - 1; i++) { if (everys[i].getColor() == every.getColor() && everys[i].getNumber() == every.getNumber() && everys[i + 1].getColor() == every.getColor() && everys[i + 1].getNumber() == every.getNumber()) { if (everys[i].getIf_Touched() == false && everys[i + 1].getIf_Touched() == false) { return(i); } } } return(-1); }
private void ChangeDiagramForNewGrouping(Every groupPeriod) { GroupInterval = groupPeriod; AllSeriesUnited = new DiagramDataSeriesUnited(AllDiagramData); AllSeriesUnited.GroupAllData(groupPeriod, DiagramMode); if (groupPeriod == Every.Year) { DefineYearsLimits(); } else { DiagramDataExtremums.MaxDate = new DateTime(DiagramDataExtremums.MaxDate.Year, 12, 31); } ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
public override string ToString() { var days = new List <string>(); foreach (var day in Enum.GetValues(typeof(DayOfWeek))) { if (_Days[(int)day]) { days.Add(day.ToString()); } } if (Every == 1) { return("every week on " + days.ToCommaList()); } else { return("every " + Every.ToString() + " weeks on " + days.ToCommaList()); } }
public void Attach(GameObject go) { Every.Add(go); var marker = go.GetComponent <InteractablesMarker>(); if (marker == null) { marker = go.AddComponent <InteractablesMarker>(); } marker.AttachedTo = this; var e = go.GetComponent <Entity>(); if (e != null) { e.Destoryed += OnEntityDestroyed; } if (GOAttached != null) { GOAttached(go); } }
public DiagramDataSeriesUnited(DiagramData allSeries) { GroupInterval = allSeries.TimeInterval; DiagramData = new SortedList <DateTime, List <double> >(); PositiveBrushes = new List <Brush>(); NegativeBrushes = new List <Brush>(); Names = new List <string>(); SeriesCount = 0; foreach (var series in allSeries.Series) { Names.Add(series.Name); foreach (var pair in series.Points) { if (!DiagramData.ContainsKey(pair.CoorXdate)) { DiagramData.Add(pair.CoorXdate, new List <double>()); } while (DiagramData[pair.CoorXdate].Count < SeriesCount) { DiagramData[pair.CoorXdate].Add(0); } DiagramData[pair.CoorXdate].Add(pair.CoorYdouble); } SeriesCount++; PositiveBrushes.Add(series.PositiveBrushColor); NegativeBrushes.Add(series.NegativeBrushColor); } foreach (var pair in DiagramData) { while (DiagramData[pair.Key].Count < SeriesCount) { DiagramData[pair.Key].Add(0); } } }
public static bool IsLastDayOf(DateTime date, Every period) { if (period == Every.Day) { return(true); } if (period == Every.Week && date.DayOfWeek == DayOfWeek.Sunday) { return(true); } if (period == Every.Month && date.Month != date.AddDays(1).Month) { return(true); } if (period == Every.Quarter && date.Month != date.AddDays(1).Month&& date.Month % 3 == 0) { return(true); } if (period == Every.Year && date.Day == 31 && date.Month == 12) { return(true); } return(false); }
private void GroupAllData(Every period) { var groupedData = new SortedList <DateTime, List <double> >(); var onePair = DiagramData.ElementAt(0); for (var p = 1; p < DiagramData.Count; p++) { var pair = DiagramData.ElementAt(p); if (FunctionsWithEvery.IsTheSamePeriod(onePair.Key, pair.Key, period)) { for (var i = 0; i < onePair.Value.Count; i++) { onePair.Value[i] += pair.Value[i]; } } else { groupedData.Add(onePair.Key, onePair.Value); onePair = pair; } } groupedData.Add(onePair.Key, onePair.Value); DiagramData = new SortedList <DateTime, List <double> >(groupedData); }
private void Every_KeyUp(object sender, KeyEventArgs e) { Every.IsHitTestVisible = false; Every.Focus(); Every.IsHitTestVisible = true; }
public void Match_if_all_elements_match() { var strings = new[] { "Aaaa", "Abbbb", "Acccc" }; Assert.That(strings, Every.Item(_startsWithA)); }
public UITextInput() { InputTransparent = false; _blinkingTimer = new Every(650, () => { _cursorOn = !_cursorOn; }); }
private void EverySpinButton_PreviewMouseDown(object sender, RoutedEventArgs e) { Every.Focus(); }