[๐ฃ์ง๋ฌธ]
์บ๋ฆญํฐ ์ํ์ด์ ๊ด๋ จ ์ฝ๋์ข ๋ด์ค์ฌ๋?
์ต๋ช
(skdisk121)
2022-09-18 14:28
์ถ์ฒ 0
namespace StatusEffect
{
public class Effect
{
public Effect(int duration
, Character order
)
{
order
.curStatusEffects
.Add(this);
Progress(duration
, order
).Start();
}
public virtual async Task Progress(int duration
, Character order
)
{
for(int i
= 0;i
<duration
;i
++)
{
//์คํํ ์ํ์ด์๋ค ๋ด์ฉ
await Task
.Delay(1000);
}
order
.curStatusEffects
.Remove(this);
}
}
}
์ ๋ฐ์์ผ๋ก Effect class ์์ํ๋ ์ค์ ์ํ์ด์ํจ๊ณผ๋ค ๋ฐ์ ๋ง๋ค๊ณ
์ง์์๊ฐ์ด๋ ์ํ์ด์ ๊ฑธ๋ฆด ์บ๋ฆญํฐ ๋งค๊ฐ๋ณ์๋ก ํด๋์ค ์์ฑํ๋ฉด
์์ฑ์๊ฐ ์์์ ์บ๋ฆญํฐ ์ํ์ด์ ๋ชฉ๋ก์ ๋ค์ด๊ฐ๋ค๊ฐ ์ง์์๊ฐ๋์ ๋ด์ฉ์คํํ๊ณ ์๋ฃ๋๋ฉด ๋น ์ ธ๋์ค๊ฒ ๋ง๋ ๊ฑด๋ฐ
๋ฌธ์ ์์๊น?
์ด๋ ๊ฒ ํ๋ฉด ๋ง์ฝ ๋ ์ํ์ด์ ์ค์ ๋ ์ ๋ ๋ง์ผ๋ฉด ์ํ๊ฐ ์ด์ ๋ , ๋ฐฉ๊ธ๋ง์๋ ์ผ๋ก ๋ํธ๋์ด ๋๋ฐฐ๋ก ๋ค์ด์ค๊ฒ ๋๋๊ฑฐ ์๋? ์๋๋๊ฑฐ์?
ใ ใ ์ํ์ด์ ์ค์ฒฉ๋๊ฒ ๊ตฌํํ ๊ฑฐ์ ์ ์ด์ ํผํ๋ฉด์ ํ๋๊ฑธ ๊ถ์ฅํ๋ ๊ฒ์์ด๋ผ
๋์ถฉ ๋ง๋ค์ด์ ๋๋ ค๋ด
curStatusEffect์ Add Removeํ๋๊ฑด ์ฐ๋ ๋์ธ์ดํ ํ๊ฑด๊ฐ? ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ๋ฐ์ดํฐ์ ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ์ ๊ทผํ ๋ ๋๋น์ฑ ์ ์์ด? ์ด๋ฐ๊ฑฐ ์ ๊ฒฝ์ฐ๊ธฐ ์ซ์ผ๋ฉด ๊ทธ๋ฅ ์ฝ๋ฃจํด์ผ๋ก ํ๋๊ฒ ๋ซ์ง ์์?
๊ทธ๋์ ๋๊ฐ๋ฆฌ ์ข ๊ตด๋ฆฌ๋ค๊ฐ ๊ทธ๋ฅ ์ฝ๋ฃจํด์ผ๋ก ๋์๊ฐ์ ์ํ์ด์ํจ๊ณผ๋ค ์บก์ํํด์ ๋ฐ๋ก ๊ตฌํํ๋ ค๊ณ ํ๊ฑฐ์๋๋ฐ. ์คํ๋ ค ๋ฐ์ดํฐ ๋์์ ๊ทผ ๋ง์๋ผ๊ณ ๊ฐ์ ์ข ๋ฅ์ ์ก์ ์ ๋ฐ์ผ๋ฉด ๊ธฐ์กด์ ์คํํ๋ ํ ์คํฌ ์ข ๋ฃ์ด๋ฒคํธ์ ์ฐ๊ฒฐํด์ ๋๊ธฐ์๊ฐ ์ค๋ค๋๊ฐ ์ด๋ฐ๊ฑฐ ์๊ฐํ๋ ค๋๊น ๋ ๋ณต์กํด์ง๋๊ฑฐ ๊ฐ์์