// Update is called once per frame void Update() { timeSinceLastChange += Time.deltaTime; if (timeSinceLastChange > changeTime) { timeSinceLastChange -= changeTime; movement = GetRandomUnitVector(ref angle, maxAngle); } Vector3 newPos = (position + (movement * speed * Time.deltaTime)); int checker = 0; while (!PlayerMovement.ValidToMoveTo(newPos) && (++checker < 500)) { movement = GetRandomUnitVector(out angle); newPos = (position + (movement * speed * Time.deltaTime)); } if (checker == 500) { MWRDebug.Log("QixError1!!!", MWRDebug.DebugLevels.INFLOOP1); } Line moveLine = new Line(position, newPos); PlayerMovement pm = GameObject.Find("Player").GetComponent <PlayerMovement>(); if (pm.DrawingLineIntersects(moveLine)) { pm.Dead(); } position = newPos; norm = DynamicLines.GetNormal(ref movement).normalized; start = position + norm * len; end = position - norm * len; Line currentVec = new Line(start, end); pm.KillIfDrawingLineIntersects(currentVec); timeSinceLastEnque += Time.deltaTime; if (timeSinceLastEnque > enquePeriod) { timeSinceLastEnque -= enquePeriod; lineQueue.Enqueue(currentVec); while (lineQueue.Count > maxQueueLength) { lineQueue.Dequeue(); } } GetComponent <MeshFilter>().mesh = DynamicLines.GetMesh(lineQueue.ToArray(), 0.01f); }
// Update is called once per frame void Update() { PlayerMovement mov = GameObject.Find("Player").GetComponent <PlayerMovement>(); var lines = mov.GetDrawingLinesInclLive().ToArray(); GetComponent <MeshFilter>().mesh = DynamicLines.GetMesh(lines, 0.02f); }