public Lexer(string path, ErrorReporter reporter, int spacesPerTab=8) { reader = new TextReader(path, spacesPerTab); this.reporter = reporter; reporter.Lines = reader.Lines; backtrackBuffer = new BacktrackBuffer(BACKTRACK_BUFFER_SIZE); scanners = new List<TokenScanner>(); scanners.Add(new WhitespaceScanner(reader, reporter)); scanners.Add(new CommentScanner(reader, reporter)); scanners.Add(new IdentifierAndKeywordScanner(reader, reporter)); scanners.Add(new IntegerScanner(reader, reporter)); scanners.Add(new StringScanner(reader, reporter)); scanners.Add(new OperatorScanner(reader, reporter)); }
// Awake is called when the script instance is being loaded public void Init(Player attachedPlayer) { this.attachedPlayer = attachedPlayer; // Load the player prefab named "PlayerPrefabCopy" located in any Resources // folder in your project's Assets folder. GameObject copyPrefab = Resources.Load("Prefabs/PlayerPrefabCopy") as GameObject; lagCompensationMask = (1 << LayerMask.NameToLayer("LagCompensation")); lagCompensationMask |= (1 << LayerMask.NameToLayer("Map")); // Amount of executed ticks per second ushort TickRate = ServerSettings.tickRate; // 200 ms back in time, 200 ms history of the player transform ushort BackTrackingBufferTimeMS = ServerSettings.backTrackingBufferTimeMS; float tickLength = 1000f / TickRate; // In milliseconds int bufferLength = Mathf.CeilToInt(BackTrackingBufferTimeMS / tickLength); backtrackObj = new BacktrackBuffer(bufferLength, attachedPlayer, copyPrefab); }