void RemoveNullAndLateAssists() { AssistTimestamp[] timestamps = new AssistTimestamp[assists.Values.Count]; assists.Values.CopyTo(timestamps, 0); for(int i = 0; i < assists.Count; i++) { AssistTimestamp timestamp = timestamps[i]; if(!timestamp.gameObject || Time.time - timestamp.time > maxAssistTime) assists.Remove(timestamp.gameObject); } }
public void AddAssist(GameObject assist) { AssistTimestamp timestamp; RemoveNullAndLateAssists(); if(assists.TryGetValue(assist, out timestamp)) timestamp.time = Time.time; else { timestamp = new AssistTimestamp(assist, Time.time); assists.Add(assist, timestamp); } }
void RemoveNullAndLateAssists() { AssistTimestamp[] timestamps = new AssistTimestamp[assists.Values.Count]; assists.Values.CopyTo(timestamps, 0); for (int i = 0; i < assists.Count; i++) { AssistTimestamp timestamp = timestamps[i]; if (!timestamp.gameObject || Time.time - timestamp.time > maxAssistTime) { assists.Remove(timestamp.gameObject); } } }
public void AddAssist(GameObject assist) { AssistTimestamp timestamp; RemoveNullAndLateAssists(); if (assists.TryGetValue(assist, out timestamp)) { timestamp.time = Time.time; } else { timestamp = new AssistTimestamp(assist, Time.time); assists.Add(assist, timestamp); } }