public void RegisterReplay(InstantReplay replay) { if (replay.map != map) { Log.Error("[Trailblazer] Tried to register a replay from a different map"); } else { if (DebugViewSettings.drawPaths) { replays.Add(new ReplayDrawer(replay)); } } }
internal ReplayDrawer(InstantReplay replay) { this.replay = replay; color = colors[colorIndex % colors.Length]; colorIndex++; frame = 0; framesPerTick = Math.Max(replay.frames.Count / finishWithinTicks, 5); ReplayFrame firstFrame = replay.frames[0]; frameCells = firstFrame.cells; frameLines = firstFrame.lines; ICellBoolGiver oldCellGiver = new ReplayCellBoolGiver(cells.Contains, color); oldCellDrawer = new CellBoolDrawer(oldCellGiver, replay.map.Size.x, replay.map.Size.z, 0.10f); ICellBoolGiver frameCellGiver = new ReplayCellBoolGiver(c => frameCells.Contains(c), color); frameCellDrawer = new CellBoolDrawer(frameCellGiver, replay.map.Size.x, replay.map.Size.z, 0.66f); }