์๊ฐํด๋ณด๋ ํด๋ผ๊ฐ ๋ณ์กฐ๋์ ๊ฒ์ฆํ๋ ๋ถ๋ถ์ ๊ฑด๋๋ฐ๊ฒ๋๋ฉด ์ด๋ป๊ฒ ๋๋๊ฑฐ์ง ๋ผ๋ ์๊ฐ์ด ๋ค์๊ฑฐ๋ ?
๊ทธ๋ผ ์ด ๊ฒ์ฆ์ด ํด๋ผ์ฐ๋์์ ์ฒดํฌํ๊ณ , ๋ณ์กฐ ์ฌ๋ถ๋, ์ ์/๋น์ ์ ์ฌ๋ถ๋ฅผ ์ฃผ๋๊ฒ ์๋๋ผ, DB์ ์ ๋ฐ์ดํธ๊น์ง ์ง์ ํด์ผ ํ๋๊ฑด๊ฐ?
ํด๋ผ๋ ๊ทธ DB์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ ์ฐ๋๊ฑฐ๊ณ ?
๋ง์ฝ ์ด๊ฒ ๋ง์ผ๋ฉดย ๋ค๋ฅธ ๊ฒ์ ๋ณด๋ ์ ํฌ๋ ฅ์ผ๋ก ๋ญํน์ ๋ฉ๊ธฐ๊ณ ์๋๋ผ๊ณ . ๊ทธ ์ ํฌ๋ ฅ์ ๊ฒ์๋ด ์ฌํ์ธ ๊ณจ๋๋ก ๋ ๋ฒจ์ ์ ํด์ ๊ณ์ ์ฌ๋ฆด์ ์๋๋ฐ,
๊ณจ๋ ํ๋ ์์ ์ด ๊ฒ์ ๋ด๋ด ๋น ๋ฅด๊ฒ ๊ณ์ ํ๋ํ๋๋ฐ, ๊ทธ๊ฑธ ์ผ์ผ์ด ๊ฒ์ฆํ ์๋ ์๋ ๊ฒ ๊ฐ์๋ฐ, ์ด๋ฐ ์ผ์ด์ค๋ ์ด๋ป๊ฒ ๊ตฌํ๊ฐ๋ฅํ๋๊ฑธ๊น?
์ด์ ๊ธ๋ค ์ฐพ์๋ณด๋ ํ๋ ์ดํน ํด๋ผ์ฐ๋ ์คํฌ๋ฆฝํธ๋ก ๊ฒ์ฆ ๋ถ๋ถ ํ๋ค๋ ๋ถ๋ ๊ณ์๋๋ฐ, ์ ํํ ๊ฒ์ฆ์ด๋ผ๋๊ฒ ์ด๋ค ๋์๊น์ง ํด์ผํ๋๊ฑด์ง ์ข ์๋ ค์ค..
์ ์ ๊ฐ ๋ ๋ฒจ ์ ๋ฒํผ์ ๋๋ฆ -> ์๋ฒ์ธก(ํด๋ผ์ฐ๋ ํ์ )์ผ๋ก ์บ๋ฆญํฐ๋ฅผ ๋ ๋ฒจ์ ์์ผ๋ฌ๋ผ๊ณ ์์ฒญ -> ์๋ฒ๋ DB์ ์๋ ์ ์ ์ฌํ๋ฅผ ๊ฐ์ ธ์์ ๋ ๋ฒจ์ ํ ์ ์๋ ์ฌํ๋ฅผ ๊ฐ์ก์ผ๋ฉด ์ฌํ๋ฅผ ์๋ชจ์ํค๊ณ DB์ ์๋ ์บ๋ฆญํฐ์ ๋ ๋ฒจ์ ์ฌ๋ฆผ, ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ฐํ -> ์๋ฒ์ธก์ ๋ณด๋ธ ๋ ๋ฒจ์ ์์ฒญ์ด ์ฑ๊ณตํ๋ค๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ฉด UI ์ ๋ฐ์ดํธ
๋ณด์ ์ ๊ฒฝ์ธ๊ฑฐ๋ฉด ํด๋ผ๋ ์์ฒญ๋งํ๊ณ ๋ชจ๋ ์ฒ๋ฆฌ๋ ์๋ฒ์์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ ๊ฐ์คํด์ผํจ. ๊ทธ๋์ ๊ฐ์ธ ๊ฐ๋ฐ์๋ ๋ณด์ ๋ณด๋ค๋ ๊ทธ๋ฅ ๋ฌด์กฐ๊ฑด ๋ซ๋ฆฐ๋ค๊ณ ์๊ฐํ๊ณ ์ต์ํ์ ๋ณด์๋ง ๋ฃ๊ณ ์ปจํ ์ธ ๊ฐ๋ฐ์ ๋ ํ์ฐ๋๊ฒ ๋์.
๊ฒฐ๊ตญ ์ฌํ๋ฅผ DB์์ ๊ฐ์ ธ์จ๋ค๋๊ฒ ์ฌํ๋ฅผ ํ๋ํ ๋๋ ๊ทธ๋ฌ๋ฉด ์๋ฒ์์ ํ๋ํ๊ฒ ํด์ค์ผ ๊ฒ์ฆ์ด ๋๋๊ฑด๋ฐ, ํ๋ ํ์ด๋ฐ์ด ๋ชฌ์คํฐ ์ก์๋๋ฉด ๋ชฌ์คํฐ ์ก์๋๋ง๋ค ์๋ฒ๋ก ๋ณด๋ด์ผํ๊ณ , ๋ชฌ์คํฐ๋ฅผ ์ก์๋ค๋๊ฑฐ๋ ๊ณต๊ฒฉ์ ํ๋ค๋ ๊ฑฐ๋๊น ๊ทธ๋ผ ๊ณต๊ฒฉํ๋ค๋ ๊ฑฐ๋ฅผ ์๋ฒ์์ ํ์ ํด์ผํ๊ณ , ์์ ๋ค ์๋ฒ๋ก ์ฝ๋๊ฐ ๊ฐ์ผ๋๋๊ฑด๊ฐ... ์ค์๋ถ๋ถ๋ง ์๋ฒ๋ก ์ฎ๊ธด๋ค๋ ๊ฐ๋ ์ด ์ ์๋๋ค. ์ผ๋จ์ ์์๋ก ๋ณ๊ฒฝ๋๋ ์์น๋ค์ ๋ญํน์ ํฌํจ ์์ํค๋ ๋ฐฉํฅ์ผ๋ก ๊ฒํ ์ค์ธ๋ฐ...
๊ทธ๋์ ์๋ฒ ๋น์ฉ ์ค์ผ๋ ค๊ณ ๋ง์ ์ฌ์ฉ ๊ฒ์๋ค์ด ์คํ ์ด์ง ๋ฐฉ์์ผ๋ก ๊ฐ๋๊ฑฐ์. ์คํ ์ด์ง ํด๋ฆฌ์ด์์ ์ฌํ๋ฅผ ๋ฐ๊ฒ. ์นํธ๋ฅผ ์จ์ ์คํ ์ด์ง๋ฅผ ๋น ๋ฅด๊ฒ ๊นฐ ์๋ ์์ผ๋ Stage Clear Time์ ํ์ธํด์ ๋น์ ์์ ์ผ๋ก ๋น ๋ฅด๋ค or ์คํ์ด ๋นํด ๋๋ฌด ๋น ๋ฅด๋ค๋ฉด ์์ ์คํ ์ด์ง ํด๋ฆฌ์ด๋ฅผ ๋ฌดํจํํ๊ณ . ๊ทธ๋ฐ ๊ฒ๋ค์ ๋ค ๊ณ ๋ คํ๋ฉด์ ๊ฒ์์ ๊ฐ๋ฐํด์ผํจ.
์ถ๊ฐ์ ์ผ๋ก ๋๊ฐ ๋งํ ๋ถ๋ถ์ ์ผ๋ฐ์ ์ธ ์จ๋ผ์ธ ๊ฒ์์ ๋ค ๊ทธ๋ ๊ฒํจ. ๋ฌผ๋ก ์์ผ ์ฐ๊ฒฐ์ํ์์. ํด๋ผ์ด์ธํธ์์ ๋๊ตฌ๋ฅผ ๊ณต๊ฒฉํ๋ค๊ณ ์๋ฒ์ ๋ณด๊ณ -> ์๋ฒ ์ธก์์ ๋ฐ๋ฏธ์ง ์ฒ๋ฆฌ ํด๋ผ์ด์ธํธ์์ ์ด๋ํ๋ค๊ณ ์๋ฒ์ ๋ณด๊ณ -> ์๋ฒ ์ธก์์ ์ด๋ ์ฒ๋ฆฌ ๋ฑ๋ฑ
๋กํ ๊ณ ๋ง์. ์คํ ์ด์ง ํด๋ฆฌ์ด์ ๋ณด์์ ์ฃผ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ณ ์์๋๋ฐ, ํด๋ฆฌ์ด ํ์ ๋ณด๊ณ ๋ฌดํจํํ๋ ๊ฑฐ๋ ์๊ฐ์ ๋ชปํ์์ด. ๊ทธ๋ฐ ์์ผ๋ก ์ด๋์ ๋ ์ ํจ์ฑ์ ๋ณด๊ณ ์ฒดํฌํ๋ฉด ๋๊ฒ ๋ค.
์ ๋ํฐ์ธก์์ ๋ ๋ฒจ์ ์์ ์๋ฒ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ๊ฒ์ฆํ๋ฉด๋จ ํธ๋์ญ์ ์ผ๋ก ์ฒ๋ฆฌ๊ฐ๋ฅ.
await FirebaseManager.Instance.FirestoreHandler.DataBase.RunTransactionAsync(transaction => { return transaction.GetSnapshotAsync(currencyRef).ContinueWithOnMainThread((snapshotTask) => { DocumentSnapshot snapshot = snapshotTask.Result; FirestoreCurrencyData currencyData = snapshot.ConvertTo();
if (currencyData.GetCurrency("๊ณจ๋") >= "๊ฐ๊ฒฉ") { // ์ฒ๋ฆฌํด์ฃผ๋ฉด๋จ return true; } else { // ์๋ฌ ๋ฆฌํด return false; } }).ContinueWithOnMainThread(trxResult => { if (trxResult.IsCompletedSuccessfully && trxResult.Result) { // * ์ ๋ํฐ ๋ด๋ถ์ ์ฑ๊ณต ์ฒ๋ฆฌ } else { // * ์๋ฌ ์ฒ๋ฆฌ } });});
๊ทผ๋ฐ ๊ฒฐ๊ตญ ๊ทธ ๊ณจ๋๋ฅผ ํ๋ํ๋๊ฑธ ํด๋ผ์์ DB๋ก ๊ทธ๋ฅ ์ฒ๋ฆฌํ๋ฉด ์๋ฏธ์๊ฒ๋์, ๊ณจ๋ ํ๋๊น์ง ๋ค ๊ฒ์ฆํ๊ณ ํ๋ ค๋ฉด ์ฌ์ค์ ์๋ฒ์ ์ฝ๋๋ฅผ ๋ค ๋ฃ์ด์ผ๋๋๊ฒ ์๋๊ฐ ์ถ๊ธดํจ. ๊ทธ๋์ ๊ทธ๋ฅ ์์ ๊ฐฑ์ ๋๋ ์ฌํ๋ก ๋ญ๊ฐ ๋ญํน์ ์ํฅ์ ์ฃผ๋๊ฑด ์์ ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ณผ๋ ค๊ณ ...
๋ณด์์ด ํ์์ ์ด๋ฉด ์ ๋ ํด๋ผ์์ ๊ฒ์ฆํ๋ฉด ์๋๊ณ ์ ๋ถ ์๋ฒ์์ ๊ฒ์ฆํด์ผ ํจ. MMO์๋ฒ๊ฐ ๊ดํ ๋ชจ๋ ๊ฑธ ์ฒ๋ฆฌํ๋๊ฒ ์๋ - dc App