private void execute() { // delete outdated assists lock (assist_lock) { for (int i = 0; i < data.Count; i++) { Assist assist = data[i]; if (assist.Tick + 13 <= Program.Tick) { remove.Add(assist); } } for (int i = 0; i < remove.Count; i++) { Assist assist = remove[i]; data.Remove(assist); } remove.Clear(); for (int i = 0; i < analyze.Count; i++) { Assist kill = analyze[i]; for (int j = 0; j < data.Count; j++) { Assist assist = data[j]; if (Assist.Confirm(assist, kill)) { MVP.Add(Properties.MVPTypes.ASSIST, Head.getKeyString(assist.H0 == kill.H1 ? assist.H1 : assist.H0), Head.getKeyString(kill.H1) ); } } } analyze.Clear(); } }
public static bool Confirm(Assist bounce, Assist kill) => (kill.h1 == bounce.h0 && kill.h0 != bounce.h1) || (kill.h1 == bounce.h1 && kill.h0 != bounce.h0);