ย ์ฝ๋ฃจํด์ new waituntil ์ฒ๋ผ ์กฐ๊ฑด์ ํน์ ํ๋ ์๋น ๊ธฐ๋ค๋ฆฌ๊ฒ ํ๋ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ์๋ฐ,
๋ฌธ๋ฒ์ ์ ๋ชจ๋ฅด๊ฒ ์.
์์ฃผ ์ฐ๋๊ฒ
ย task = Task.Run(async () => await LastProcessing_Execute());
ย ย ย ย ย ย task.ContinueWith((status) =>
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย if (status.IsCompleted)
ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย gm.SetGameState(GAME_STATE.Playing_CanTouch);
ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย });
ย ย /// <summary>
ย ย /// ๋ค์ ์กฐ์ํ๊ธฐ์ ์ ์ฒ๋ฆฌํ ํจ์.
ย ย /// </summary>
ย ย protected virtual Task LastProcessing_Execute()
ย ย {
//์ฌ๊ธฐ์ ์์ ํด๋์ค์์ ํจ์๊ฐ ๋ค ํธ์ถ๋๋ฉด
ํ์คํฌ ๊ฐ ๋ฆฌํด ๋ฐ์์ ํจ์ ํธ์ถ ๋๋ฌ์ผ๋๊น ์ฒ๋ฆฌํจ.
ย ย ย ย return Task.CompletedTask;
ย ย }
์๋ก ๋๋์ผ๋ก ํน์ ํจ์(LastProcessing_Execute())๊ฐ ์๋ฃ๋๋ฉด ์๋ฃ ๋ ํ์ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋๋ฐ...ย
new waituntil ์ ๊ฑฐ๋ new๋ฅผ ๊ณ์ ๋ถ์ด๋๊น ์์ฒญ ์์ฃผ์จ์ผ๋๋๋ฐ ๋ถ๋ด๋์.. ๋ฌด๋ก ์ ๊ฑฐ์ฐ๋ฉด ์ฒ๋ฆฌ๋๋๋ฐย
new ์ฐ๊ธฐ์ซ์ด์ ๊ทธ๋ผ ใ . ๊ทผ๋ฐ ํฌ๊ฒ ์ฐจ์ด๋ ์์ ๊ฒ ๊ฐ๊ธดํจ;; ์๋ก์ด ๊ฑธ ์จ๋ณด๊ณ ์ถ์..
์.. new๋ ์ฒ์์ ์ด๊ธฐํ ํ๋ฒํ๋ฉด ๋๊ธดํ๋๊ตฐ;; task๋ก๋ ์ด๋ค์์ผ๋ก ๋ฌธ๋ฒ์จ์ผ ๊ฐ๋ฅํ ๊น?
https://learn.microsoft.com/en-us/dotnet/api/system.threading.thread.sleep?view=net-7.0
์ด๊ฑฐ ์ฌ๋ฆฝ ์ด๊ฑฐ ๋ง์?;;
๊ธ์ ๋ณด๋๊น ์๋๋ค
https://stackoverflow.com/questions/29089417/c-sharp-wait-until-condition-is-true
์ด๊ฑฐ ํ ๋ฒ ๊ณ ๋ คํด๋ณด๊ณ
AutoResetEvent ๋ผ๋ ๊ฒ ์์์ <= ์ด๊ฑด ์ํด๋ด
๊ณ ๋ง์๋ค. ์คํ์ค๋ฒํ๋ก์ฐ๋ฅผ ์๊ฐ๋ชปํ๋น ใ ใ ;;