ย void Rewind()

ย  ย  {ย ย 

ย  ย  ย  ย  if (pointsInTime.Count > 0)

ย  ย  ย  ย  {ย  ย  ย  ย  ย  ย ย 

ย  ย  ย  ย  ย  ย  ย  ย  PointInTime pointInTime = pointsInTime[0];

ย  ย  ย  ย  ย  ย  ย  ย  transform.position = pointInTime.position;

ย  ย  ย  ย  ย  ย  ย  ย  transform.rotation = pointInTime.rotation;

ย  ย  ย  ย  ย  ย  ย  ย  pointsInTime.RemoveAt(0);

ย  ย  ย  ย  ย  ย  ย  ย  pointsInTime.RemoveAt(1);

ย  ย  ย  ย  ย  ย  ย  ย  pointsInTime.RemoveAt(2);

ย  ย  ย  ย  ย  ย  ย  ย  pointsInTime.RemoveAt(3);

ย  ย  ย  ย  ย  ย  ย  ย  pointsInTime.RemoveAt(4);ย 

ย ย  ย  ย  }

ย  ย  ย  ย  else

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  StopRewind();

ย  ย  ย  ย  }


ย  ย  }


ย  ย  void Record()

ย  ย  {

ย  ย  ย  ย  if (pointsInTime.Count > Mathf.Round(recordTime / Time.fixedDeltaTime))

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  pointsInTime.RemoveAt(pointsInTime.Count - 1);

ย  ย  ย  ย  }


ย  ย  ย  ย  pointsInTime.Insert(0, new PointInTime(transform.position, transform.rotation));

ย  ย  }


์œ ํŠœ๋ธŒ์—์„œ ์œ ๋‹ˆํ‹ฐ ์‹œ๊ฐ„์—ญํ–‰ ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด ๋ฐ›์•˜๋Š”๋ฐ

์ด๊ฒŒ ๋ฐ‘์— ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋ฆฌ์ŠคํŠธ์— ํฌ์ง€์…˜ ๋กœํ…Œ์ด์…˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ 

๋ฆฌ์™€์ธ๋“œ๊ฐ€ ๊ทธ ๋ฆฌ์ŠคํŠธ์— ๊ฐ’๋“ค์„ ์กฐ์ž‘ํ•˜๊ณ  ์‹ถ์€ ์˜ค๋ธŒ์ ํŠธ์˜ ํŠธ๋žœ์Šคํผ ๊ฐ’์— ๋Œ€์ž…์‹œ์ผœ์„œ

๊ฒฐ๊ตญ ์‹œ๊ฐ„์—ญํ–‰์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ด๋Ÿฌ๋ฉด ๊ธฐ๋ก์ด๋ž‘ ๋˜๊ฐ๊ธฐ๋ž‘ ์†๋„๊ฐ€ ๊ฐ™์•„์„œ ๋ฌธ์ œ์ธ๋ฐ

๋˜๊ฐ๊ธฐ ์†๋„๋ฅผ ๋นจ๋ฆฌํ•˜๋ ค๋ฉด ์ €๋ ‡๊ฒŒ ํ”„๋ ˆ์ž„์ˆซ์ž๋ฅผ ์ค„์ด๋Š” ๋ฐฉ๋ฒ• ๋นผ๊ณค ์—†์Œ?

๋ง‰ ์—…๋ฐ์ดํŠธ ์ž‘์—… ์†๋„๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๋А๋ฆฌ๊ฒŒ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ• ์—†์Œ?