public static Dictionary <OsuAction, List <WrapperMouseAction> > BuildWrapMouseActions(IEnumerable <WrapReplayFrame> wrapReplayFrames) { WrapperMouseAction current_action = null; Dictionary <OsuAction, List <WrapperMouseAction> > dic = new Dictionary <OsuAction, List <WrapperMouseAction> >(); foreach (OsuAction action in Enum.GetValues(typeof(OsuAction))) { current_action = null; dic[action] = new List <WrapperMouseAction>(); foreach (var frame in wrapReplayFrames) { var btn_state = frame.GetButtonState(action); switch (btn_state) { case ButtonState.Click: if (current_action != null) { dic[action].Add(current_action); } current_action = new WrapperMouseAction(); current_action.Frames.Add(frame); break; case ButtonState.Hold: current_action.Frames.Add(frame); break; case ButtonState.Release: case ButtonState.None: default: break; } } if (current_action != null) { dic[action].Add(current_action); } } return(dic); }
public HitResultRecord(HitResult result, OsuHitObject @object, WrapperMouseAction action) { Result = result; TrigHitObject = @object; TrigMouseAction = action; }
private static void ApplyTrigHitObject(HitResultRecordCollection result_collection, OsuHitObject hit_object, WrapperMouseAction action, HitResult reuslt) { if (action != null) { action.TriggedHitObject = hit_object; } HitResultRecord record = new HitResultRecord(reuslt, hit_object, action); result_collection.AddResult(record); Debug.WriteLine($"Apply hit:{record}"); }
public void HitObjectContainsTest() { WrapperMouseAction mouseAction = new WrapperMouseAction(); //Ìí¼ÓÊó±êÒƶ¯¹ì¼£ }