ํด๋ฆฌ์ปค๊ฒ์์ธ๋ฐ ๊ฒ์์ ๊บผ๋ ๋ง๋๊ฐ ์ฆ๊ฐํ๊ฒ ํ๋ ค๊ณ ๊ฐ์ข๋ฅผ ๋ณด๊ณ ๋ฐ๋ผํ๋๋ฐ, ๊ทธ๋๋ก ์ชฝ๊ฐ์ด ํ๋๋ฐ๋ ํ๋ ์ด๋ฅผ ๋๋ ๋ค ๋๊ณ ํ์ฐธ ์ง๋๋ค์์ ์ผ๋ด๋ ํ๋๋ ์๋์ด์์..
์ด๊ฒ 1๋
์ ๊ฐ์ข๋ผ ๊ทธ ์ฌ์ด์ ๋ญ๊ฐ ๋ฐ๋๊ฒ ์์ด์ ๊ทธ๋ฐ๊ฑด๊ฐ ์ถ์ด์ ์ฌ๊ธฐ ์ข ๋ฌผ์ด๋ณผ๊ฒ
using System;
using System.Text;
์ด๊ฑฐ ๋งจ ์ฒ์์ ์ถ๊ฐํด๋๊ณ
ย
ย ย ย //์๊ฐ์ ์ฒดํฌ
ย ย ย DateTime GetLastPlayDate()
ย ย ย {
ย ย ย ย ย ย ย if(!PlayerPrefs.HasKey("Time"))
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย return DateTime.Now;
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย string timeBinaryInString = PlayerPrefs.GetString("Time");
ย ย ย ย ย ย ย long timeBinaryInLong = Convert.ToInt64(timeBinaryInString);
ย ย ย ย ย ย ย return DateTime.FromBinary(timeBinaryInLong);
ย ย ย }
ย ย ย void UpdateLastPlayDate()
ย ย ย {
ย ย ย ย ย ย ย PlayerPrefs.SetString("Time",DateTime.Now.ToBinary().ToString());
ย ย ย }
ย ย ย private void OnApplicationQuit()
ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย UpdateLastPlayDate();
ย ย ย }
//๊ฒ์์ ๋ง์ง๋ง์ผ๋ก ๋์ง ์ผ๋ง๋ ๋๋์ง ๊ณ์ฐ
ย ย ย public int timeAfterLastPlay
ย ย ย {
ย ย ย ย ย ย ย get
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย DateTime currentTime = DateTime.Now;
ย ย ย ย ย ย ย ย ย ย ย DateTime lastPlayDate = GetLastPlayDate();
ย ย ย ย ย ย ย ย ย ย ย return (int)currentTime.Subtract(lastPlayDate).TotalSeconds;
ย ย ย ย ย ย ย }
ย ย ย }
ย void Start()
ย ย ย {
ย ย ย ย ย ย ย //๊ฒ์์ ๋ ํ ์ ์ฅ๋ ๋ง๋๋ ๊ณ์ฐ
ย ย ย ย ย ย ย mana += GetManaPerSec() * timeAfterLastPlay;
ย ย ย ย ย ย ย InvokeRepeating("UpdateLastPlayDate", 0f, 5f);
ย ย ย }
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ ์๋ ๋ง๋๋ ๊ฒ๋ง๋ํผ์ธ์ปจ๋๋ ํ
์คํธ๊ฒฐ๊ณผ ์ ๋๋ก ๋์์ด ๋จ. ๊ทธ๊ฑธ ๊ฒฐ๊ตญ ์ด ์ฝ๋๋ค ์ค ํ๋๊ฐ ๋ฌธ์ ๋ผ๋๊ฑด๋ฐ ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น?
์ฝ๋ ๊ตณ์ด ์๋ด์ค๋ ๋๋๋ฐ ํน์๋ผ๋ ์ด๋ฐ๊ฑฐ ๋ง๋๋ ๋ฐฉ๋ฒ ์๋ ๊ฐ์ข ์๊ณ ์๋๊ฑฐ ์์ผ๋ฉด ์ถ์ฒ์ข ํด์ฃผ๋ผ. ๋ ์ ํ๋ธ์ ์ ๋ํฐ ํด๋ฆฌ์ปค ๊ฒ์ ํ๋ฐฉ์ ๋ง๋ค๊ธฐ ๋ผ๋ ํ๊ตญ ๊ฐ์ข๋ณด๊ณ ๋ง๋ค์๊ฑฐ๋ . ์ธ๊ตญ๊ฐ์ข์ฌ๋ ๊ด์ฐฎ์.
OnApplicationQuit()์ด ์๋ํฐ์์ ํ๋ ์ด๋ชจ๋ ๋๋ ๋ถ๋ฌ์ง๋๊ฑฐ ํ์ธํ์ด? ๋๋ฒ๊ทธ ๋ก๊ทธ๋ผ๋ ์ฐ์ด๋ณด์
+ ์ฌ์กฑ๋ฌ์๋ฉด, ๊ฒ์๊บผ๋ ๋์ฆ๊ฐํ๊ฒ ํ๊ธฐ๋ ํด๋ฆฌ์ปค๊ฒ์ ๋ง๋ค๊ธฐ ๊ฐ์ด ํต์ผ๋ก ์ธ์ํ๋๊ฑด ์ด๋ฐ์ ์ข์ง๋ง ๋์ค์ ๋ฐ๋ชฉ์ก๋ ํ์ต๋ฒ์ด๋ผ๊ณ ๋ด ์ชผ๊ฐ๋ ์ฐ์ต์ ํด๋ณด๋๊ฑด ์ด๋จ๊น? ๊ฒ์๊บผ๋ ๋์ฆ๊ฐํ๊ฒ ํ๊ธฐ๋ ์ฌ์ค 1. ๊ฒ์ ์ข ๋ฃ์์ ์๊ฐ ์ ์ฅ 2. ๊ฒ์ ์ ์์์ ์๊ฐ ๋ถ๋ฌ์์ ํ์ฌ ์๊ฐ ๋์กฐํด์ ์ง๋ ์๊ฐ ์ป์ 3. ์ง๋ ์๊ฐ๋๋ก ๋ ์ง๊ธ ์๋ ๊ฒ ๋ณผ ์ ์์์? ์ด๊ฑธ ๋ชจ๋ฅด๋ ๊ฒ๋ ์๋๊ฑฐ ๊ฐ์๋ฐ ๊ตณ์ด ์์ฑ๋ ๊ฐ์ข๋ฅผ ์ฐพ์ ํ์๋ ์๋ค๊ณ ๋ด. ํ์ดํ
์กฐ์ธ ๊ณ ๋ง์! ์์ง ์์ด๋ณด๋ผ ์์ฑ๋ ๊ฐ์ข ๋ณด๋๊ฒ ์ข ๋์๊ฒ ๊ฐ์๋๋ฐ ๊ทธ๋ ๊ฒ ํด๋ด์ผ๊ฒ ๋ค.
๊ทผ๋ฐ ์ ๋ ๊ฒ ํ๋ฉด ๊ธฐ๊ธฐ ์๊ฐ์ ์์ ํ๋ฉด ๋ผ ๋ ๋ฒ๋ฆฌ์ง ์์๊น?
๋๊ฐ ํด๋ฆฌ์ปค๊ฒ์ ํ๋ ๋ ๋ฒ๋ ค๊ณ ์๊ฐ์ ์์ ํ ๊น....?์... ์ฌ์ค ์ ๋ฐฉ๋ฒ ๋ง๊ณ ๋ ๊ฒ์ ๋๊ณ ๋ค์ ์ ์ํ ๋ ๋์ด ์ฆ๊ฐํ๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ๋ชฐ๋ผ์..
๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ธฐ๊ธฐ์๊ฐ ๋ง๊ณ ์๋ฒ์๊ฐ ์ ๋ ๋ฐ์์ค๋ ๊ฑด๋ฐ ๋ณ๋ก ๋ค๋ฅธ ๋ก์ง์ด ์๋๋ผ๊ณ ๋ด
์ผ๋จ ์ ๋ ๊ฒ ๋๋ฆฌ๊ณ ์ถ์ํ๊ฑฐ๋ ๋ ๋๋ฌด ๋ง์ด๋ฒ๋ฉด ๊ทธ๋ ์๋ฒ๋ฌ๊ณ ์์ ํด๋ ๋ฆ์ง ์์๊ฑฐ์ฌ
์ ์๊ฐ์ ์๋ฒ์์ ๋ฐ์์ค๋ฉด ๋๋๊ตฌ๋
์ ๋์ค์ ๊ทธ๋ฐ์์ผ๋ก ์์ ํด๋ด์ผ๊ฒ ๋ค.
๊ฑ ์๊ฐ์ฐจ์ด๋ก ๋ฃ์ผ๋ฉฐ ๋๋๊ฑฐ ์๋๊ฐ
๋ด๊ฐ ๋ณด๊ธฐ์๋ ํด๋ฆฌ์ปค๋ฅผ ์๊ฐ์์ ๊น์ง ํด์ ํ๋ ์ฌ๋์ ์์ด๋ณด์