public static void Add(uint uid, string level, ushort x, ushort z, ushort y, byte block) { PlayerLevelRedo tmp = history[uid + "|" + level]; if (tmp == null) { tmp = new PlayerLevelRedo(); tmp.Add(x, z, y, block); history[uid + "|" + level] = tmp; } else { tmp.Add(x, z, y, block); } }
public static IEnumerable <Tuple <ushort, ushort, ushort, byte> > Redo(uint uid, string level, long since) { PlayerLevelRedo tmp = history[uid + "|" + level]; if (tmp == null) { yield break; } else { foreach (var ret in tmp.Redo(since)) { yield return(ret); } } }