public static XMarker GetMarker(XTrack track, MarkData data) { XMarker marker = null; switch (data.type) { case MarkType.Active: marker = SharedPool <XActiveMark> .Get(); break; case MarkType.Jump: marker = SharedPool <XJumpMarker> .Get(); break; case MarkType.Slow: marker = SharedPool <XSlowMarker> .Get(); break; } if (marker != null) { marker.Initial(track, data); } return(marker); }
void IDependencyAnalysisMarkStrategy <DependencyContextType> .VisitLogEdges(IEnumerable <DependencyNodeCore <DependencyContextType> > nodeList, IDependencyAnalyzerLogEdgeVisitor <DependencyContextType> logEdgeVisitor) { foreach (DependencyNodeCore <DependencyContextType> node in nodeList) { if (node.Marked) { MarkData markData = (MarkData)node.GetMark(); if (markData.Reason2 != null) { Debug.Assert(markData.Reason1 != null); logEdgeVisitor.VisitEdge(markData.Reason1, markData.Reason2, node, markData.Reason); } else if (markData.Reason1 != null) { logEdgeVisitor.VisitEdge(markData.Reason1, node, markData.Reason); } else { Debug.Assert(markData.Reason != null); logEdgeVisitor.VisitEdge(markData.Reason, node); } } } }
public override void PostSpawnSetup(bool respawningAfterLoad) { base.PostSpawnSetup(respawningAfterLoad); /* * if (blood <= (BloodStatusMode)1) * { * // Log.Message("Markable missing hediff, restting to unblooded"); * pawn.health.AddHediff(Unbloodeddef, partRecord); * blood = BloodStatusMode.Unblooded; * } */ if (!respawningAfterLoad) { if (markDataKill == null) { if (BloodStatus == BloodStatusMode.Marked) { Rand.PushState(); int rand = Rand.RangeInclusive(0, HunterMarkingSystem.RaceDefaultMarkDict.Count - 1); Rand.PopState(); markDataKill = HunterMarkingSystem.RaceDefaultMarkDict.ElementAt(rand).Value; if (markDataKill == null) { Log.Warning(string.Format("markData null for {0} pawn {1}", BloodStatus.ToString(), pawn.Name.ToStringShort)); } } } else { // Log.Message(string.Format("markData exists for {0} pawn {1}, {2}", BloodStatus.ToString(), pawn.Name.ToStringShort, markDataKill.Label)); } } }
void IDependencyAnalysisMarkStrategy <DependencyContextType> .VisitLogNodes(IEnumerable <DependencyNodeCore <DependencyContextType> > nodeList, IDependencyAnalyzerLogNodeVisitor <DependencyContextType> logNodeVisitor) { var combinedNodesReported = new HashSet <Tuple <DependencyNodeCore <DependencyContextType>, DependencyNodeCore <DependencyContextType> > >(); if (_reasonStringOnlyNodes != null) { foreach (string reasonOnly in _reasonStringOnlyNodes) { logNodeVisitor.VisitRootNode(reasonOnly); } } foreach (DependencyNodeCore <DependencyContextType> node in nodeList) { if (node.Marked) { MarkData markData = (MarkData)node.GetMark(); if (markData.Reason2 != null) { var combinedNode = new Tuple <DependencyNodeCore <DependencyContextType>, DependencyNodeCore <DependencyContextType> >(markData.Reason1, markData.Reason2); if (!combinedNodesReported.Contains(combinedNode)) { logNodeVisitor.VisitCombinedNode(combinedNode); } } } } }
public override void PostSpawnSetup(bool respawningAfterLoad) { base.PostSpawnSetup(respawningAfterLoad); /* * if (blood <= (BloodStatusMode)1) * { * // Log.Message("Markable missing hediff, restting to unblooded"); * pawn.health.AddHediff(Unbloodeddef, partRecord); * blood = BloodStatusMode.Unblooded; * } */ if (markDataKill == null) { if (BloodStatus == BloodStatusMode.Marked) { markDataKill = HunterMarkingSystem.RaceDefaultMarkDict.Values.Where(x => pawn.health.hediffSet.HasHediff(x.MarkDef)).RandomElement(); if (markDataKill == null) { Log.Warning(string.Format("markData null for {0} pawn {1}", BloodStatus.ToString(), pawn.Name.ToStringShort)); } } } else { // Log.Message(string.Format("markData exists for {0} pawn {1}, {2}", BloodStatus.ToString(), pawn.Name.ToStringShort, markDataKill.Label)); } }
public void UnlockMark() { if (_markData.IsLocked) { _markData = new MarkData(_markData.Area, _markData.GroupIndex, _markData.CellIndex, false); } }
public static bool AddMarker(this XTrack track, XMarker marker, MarkData data) { if (track.marks != null) { var list = track.marks.ToList(); if (!list.Contains(marker)) { list.Add(marker); list.Sort((x, y) => x.time.CompareTo(y.time)); track.marks = list.ToArray(); var datas = track.data.marks.ToList(); datas.Add(data); track.data.marks = datas.ToArray(); return(true); } } else { track.marks = new XMarker[1]; track.marks[0] = marker; track.data.marks = new[] { data }; } return(false); }
public virtual MarkData Convert() { var ret = new MarkData(x, y, angle, time, type, ID); foreach (var parameter in parameters) { ret.AddParameter(parameter.Key, parameter.Value); } return(ret); }
public static void Initialize() { ActivitiesData.InitializeTempData(); //UserData.InitializeTempData(); MarkData.InitializeTempData(); ActivitiesUsersData.InitializeTempData(); TagsData.InitializeTempData(); DobrfData.InitializeTempData(); FundData.InitializeTempData(); CashFlowData.InitializeTempData(); }
public void UnsetMark(HitTestArea area) { if (_markData.IsLocked) { return; } var a = _markData.Area & (~area); _markData = new MarkData(a, _markData.GroupIndex, _markData.CellIndex, false); RedrawGroup(_markData.GroupIndex); }
public void SetMark(int gi, int ci, HitTestArea area, bool locked) { if (_markData.IsLocked) { return; } var oldMark = _markData; _markData = new MarkData(area, gi, ci, locked); RedrawGroup(oldMark.Area != HitTestArea.None ? oldMark.GroupIndex : gi); }
private Mark CreateMark(IPPDData ipdata) { ExMarkData emd = ipdata as ExMarkData; if (emd != null) { ExMark ret = new ExMark(device, resourceManager, imagepathes, emd, (ButtonType)keychange[(int)emd.ButtonType], evals, adjustgaptime, circlepoints, em.GetCorrectDisplaystate(ipdata.Time), em.GetACMode(ipdata.Time)); marks.Add(ret); return(ret); } else { MarkData md = ipdata as MarkData; Mark ret = new Mark(device, resourceManager, imagepathes, md, (ButtonType)keychange[(int)md.ButtonType], evals, adjustgaptime, em.GetCorrectDisplaystate(ipdata.Time), em.GetACMode(ipdata.Time)); marks.Add(ret); return(ret); } }
public override void DoSettingsWindowContents(Rect inRect) { this.settings.MinWorthyKill = Widgets.HorizontalSlider(inRect.TopHalf().BottomHalf().TopHalf().BottomHalf().ContractedBy(4), this.settings.MinWorthyKill, 0f, 3f, true, "HMS_MinScoreFactor".Translate(this.settings.MinWorthyKill * 100) , "0%", "300%"); Widgets.TextFieldNumeric <float>(inRect.TopHalf().TopHalf().TopHalf().BottomHalf().LeftHalf().LeftHalf().ContractedBy(4), ref settings.MinWorthyKill, ref settings.MinWorthyKillBuffer, 0.001f, 10f); float num = 800f; float x = inRect.x; float num2 = inRect.y; float num3 = inRect.y; List <ThingDef> WorthyKillDefs = HunterMarkingSystem.RaceDefaultMarkDict.Keys.ToList(); List <string> listed = new List <string>(); Widgets.Label(inRect.TopHalf().BottomHalf().BottomHalf().BottomHalf().ContractedBy(4), "HMS_KillMarksScores".Translate(WorthyKillDefs.Count)); Widgets.BeginScrollView(inRect.BottomHalf().ContractedBy(4), ref this.pos2, new Rect(inRect.x, inRect.y, num, WorthyKillDefs.Count * 22f), true); foreach (ThingDef td in WorthyKillDefs.OrderBy(xz => HunterMarkingSystem.RaceDefaultMarkDict.TryGetValue(xz).MarkDef.stages[0].label)) { if (!listed.Contains(td.label)) { listed.Add(td.label); MarkData markData = HunterMarkingSystem.RaceDefaultMarkDict.TryGetValue(td); Widgets.Label(new Rect(x, num3, num, 32f), markData.MarkDef.stages[0].label + " : " + markData.Label + " Score: " + markData.MarkScore); num3 += 22f; } } Widgets.EndScrollView(); /* * // Widgets.CheckboxLabeled(inRect.TopHalf().TopHalf().BottomHalf().TopHalf().ContractedBy(4), "setting3: Desc", ref settings.setting3); * // Widgets.CheckboxLabeled(inRect.TopHalf().TopHalf().BottomHalf().BottomHalf().ContractedBy(4), "setting4: Desc", ref settings.setting4); * * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().TopHalf().TopHalf().ContractedBy(4), "setting5: Desc", ref settings.setting5); * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().TopHalf().BottomHalf().ContractedBy(4), "setting6: Desc", ref settings.setting6); * * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().BottomHalf().TopHalf().ContractedBy(4), "setting7: Desc", ref settings.setting7); * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().BottomHalf().BottomHalf().ContractedBy(4), "setting8: Desc", ref settings.setting8); */ this.settings.Write(); }
public static bool isWorthyKillFor(this Pawn x, Pawn y) { bool result = false; if (x != null) { MarkData markDatax = new MarkData(x); MarkData markDatay = new MarkData(y); if (markDatax.MarkScore > (markDatay.MarkScore * Settings.SettingsHelper.latest.MinWorthyKill)) { result = true; } // Log.Message(string.Format("{0} Worthy Kill for {1} : {4}, Score: \n{0}: {2} Vs {1}: {3},", x.LabelShortCap, y.LabelShortCap, markDatax.MarkScore, markDatay.MarkScore, result)); } else { // Log.Message("X == null"); } return(result); }
public MarkData[] SumMarkDatas(MarkData[] a, MarkData[] b) { MarkData[] temp = new MarkData[(a.Length >= b.Length ? a.Length : b.Length)]; for (int i = 0; i < a.Length; i++) { temp[i] = a[i]; } for (int i = 0; i < b.Length; i++) { for (int j = 0; j < temp.Length; j++) { if (b[i].pos == temp[j].pos) { temp[j].val += b[i].val; } } } return(temp); }
public static XMarker MakeMarker(Type t, float time, XTrack track) { XMarker marker = null; MarkData data = null; if (t == typeof(XJumpMarker)) { data = new JumpMarkData() { time = time }; marker = XSeqenceFactory.GetMarker(track, data); } else if (t == typeof(XSlowMarker)) { data = new SlowMarkData() { time = time, slowRate = 0.5f }; marker = XSeqenceFactory.GetMarker(track, data); } else if (t == typeof(XActiveMark)) { data = new ActiveMarkData() { time = time }; marker = XSeqenceFactory.GetMarker(track, data); } else { Debug.LogError("unknown mark: " + t); } if (marker != null) { track.AddMarker(marker, data); } return(marker); }
public static MarkData CreateMarkData(MarkType type) { MarkData data = null; switch (type) { case MarkType.Active: data = new ActiveMarkData(); break; case MarkType.Jump: data = new JumpMarkData(); break; case MarkType.Slow: data = new SlowMarkData(); break; default: Debug.LogError("unknowm marktype: " + type); break; } return(data); }
public override void DoSettingsWindowContents(Rect inRect) { this.settings.MinWorthyKill = Widgets.HorizontalSlider(inRect.TopHalf().BottomHalf().TopHalf().BottomHalf().ContractedBy(4), this.settings.MinWorthyKill, 0f, 3f, true, "HMS_MinScoreFactor".Translate(this.settings.MinWorthyKill * 100, 10 * this.settings.MinWorthyKill) , "0%", "300%"); Widgets.TextFieldNumeric <float>(inRect.TopHalf().TopHalf().TopHalf().BottomHalf().LeftHalf().LeftHalf().ContractedBy(4), ref settings.MinWorthyKill, ref settings.MinWorthyKillBuffer, 0.001f, 10f); List <ThingDef> WorthyKillDefs = HunterMarkingSystem.RaceDefaultMarkDict.Keys.ToList(); List <string> listed = new List <string>(); Rect listrect = inRect.BottomHalf(); Rect markablerect = listrect.LeftHalf(); Rect defscorerect = listrect.RightHalf(); Widgets.Label(inRect.TopHalf().BottomHalf().BottomHalf().BottomHalf().RightHalf().ContractedBy(4), "HMS_KillMarksScores".Translate(WorthyKillDefs.Count)); Widgets.BeginScrollView(defscorerect, ref this.pos2, new Rect(defscorerect.x, defscorerect.y, defscorerect.width, WorthyKillDefs.Count * 22f), true); float num1 = defscorerect.y; foreach (ThingDef td in WorthyKillDefs.OrderBy(xz => xz.label)) { if (!listed.Contains(td.label)) { listed.Add(td.label); MarkData markData = HunterMarkingSystem.RaceDefaultMarkDict.TryGetValue(td); Widgets.Label(new Rect(defscorerect.x, num1, defscorerect.ContractedBy(4).width, 22f), "HMS_KillMarksScore".Translate(markData.Label, markData.MarkScore, markData.MarkDef.stages[0].label)); num1 += 22f; } } Widgets.EndScrollView(); Widgets.Label(inRect.TopHalf().BottomHalf().BottomHalf().BottomHalf().LeftHalf().ContractedBy(4), "HMS_MarkableScores".Translate(HunterMarkingSystem.MarkableRaceDict.Count)); Widgets.BeginScrollView(markablerect.ContractedBy(4), ref this.pos, new Rect(markablerect.LeftHalf().x, markablerect.LeftHalf().y, markablerect.LeftHalf().width, HunterMarkingSystem.MarkableRaceDict.Count * 22f), true); float num2 = markablerect.y; foreach (ThingDef td in HunterMarkingSystem.MarkableRaceDict.OrderBy(xz => xz.label)) { MarkData markData = HunterMarkingSystem.RaceDefaultMarkDict.TryGetValue(td); if (markData == null) { markData = new MarkData(td); HunterMarkingSystem.RaceDefaultMarkDict.SetOrAdd(td, markData); } Widgets.Label(new Rect(markablerect.x, num2, markablerect.ContractedBy(4).width, 22f), "HMS_MarkableScore".Translate(td.LabelCap + (td.LabelCap == "Human"? "(" + td.defName + ")" : ""), markData.MarkScore * this.settings.MinWorthyKill, td.defName)); num2 += 22f; } Widgets.EndScrollView(); /* * // Widgets.CheckboxLabeled(inRect.TopHalf().TopHalf().BottomHalf().TopHalf().ContractedBy(4), "setting3: Desc", ref settings.setting3); * // Widgets.CheckboxLabeled(inRect.TopHalf().TopHalf().BottomHalf().BottomHalf().ContractedBy(4), "setting4: Desc", ref settings.setting4); * * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().TopHalf().TopHalf().ContractedBy(4), "setting5: Desc", ref settings.setting5); * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().TopHalf().BottomHalf().ContractedBy(4), "setting6: Desc", ref settings.setting6); * * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().BottomHalf().TopHalf().ContractedBy(4), "setting7: Desc", ref settings.setting7); * Widgets.CheckboxLabeled(inRect.TopHalf().BottomHalf().BottomHalf().BottomHalf().ContractedBy(4), "setting8: Desc", ref settings.setting8); */ this.settings.Write(); }
public void Initial(XTrack tk, MarkData data) { track = tk; Data = data; OnPostBuild(); }
public WindowSetMark() { ViewData = new MarkData(); InitializeComponent(); }
public Mark(Device device, PPDFramework.Resource.ResourceManager resourceManager, CMarkImagePaths filenames, MarkData md, float[] eval, float gap, DisplayState dState, bool AC) { this.x = md.X; this.y = md.Y; this.angle = md.Angle; this.time = md.Time; this.resourceManager = resourceManager; this.device = device; this.eval = eval; this.filenames = filenames; this.adjustgaptime = gap; ButtonType = md.ButtonType; this.dState = dState; this.AC = AC; Initialize(); }
public Mark(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, MarkImagePathsBase filenames, MarkData md, ButtonType type, float[] eval, float gap, DisplayState dState, NoteType noteType, int sameTimingMarks, KeyValuePair <string, string>[] parameters, PostDrawManager postDrawManager) : base(device) { Position = new Vector2(md.X, md.Y); Angle = md.Angle; Time = md.Time; this.resourceManager = resourceManager; this.eval = eval; this.filenames = filenames; this.adjustGapTime = gap; this.sameTimingMarks = sameTimingMarks; this.ButtonType = type; this.displayState = dState; this.NoteType = noteType; this.ID = md.ID; Parameters = new Dictionary <object, object>(); foreach (var parameter in parameters) { Parameters[parameter.Key] = parameter.Value; } this.postDrawManager = postDrawManager; }