์๋ฅผ ๋ค์ด์
public class Talk
{
int id
string contents //ํ๊ธ
string contentsE // ์์ด
string contentsJ // ์ผ๋ณธ์ด
}
์ด๋ฐ์์ List ํน์ Scriptable Object ๊ฐ ์๋ค ์น์
A)
์ด๊ฑธ ์ด๋์ ์ด๋ป๊ฒ ์ ์ฅํด์ผ ํ ๊น?
1) ๊ฒ์ ์์๋ DontDestroy ์ ์ฉ์ํจ ์ค๋ธ์ ํธ ํ๋ ๋ง๋ค์ด์ ์ฌ๊ธฐ์ ๋ชฐ๋นตํด๋๊ณ ๊บผ๋ด ์ฐ๊ธฐ
2) ๊ฐ ์ฌ๋ง๋ค ๋ํ์ฐฝ๊ณ ์ฉ ์ค๋ธ์ ํธ ๋ง๋ค์ด๋๊ณ , ์ฌ๊ธฐ์์ ํ๋ ฌ ๋ง๋ค์ด๋๊ณ ๊บผ๋ด ์ฐ๊ธฐ
3) ๊ฐ๊ฐ์ ์ค๋ธ์ ํธ(npc, ๋ชน, ๋ฐฐ๊ฒฝ ๋ฑ๋ฑ)์ ์ ์ฅํด๋๊ณ ๊บผ๋ด์ฐ๊ธฐ
B)
๊ทธ๋ฆฌ๊ณ ์ด๊ฑฐ ๋ํ ํ๋ฒ ํ ๋๋ง๋ค
์๋ฌดํผ ์ฐฝ๊ณ ์์ id๋ก ๊ฒ์ํด์ ๊บผ๋ด์์ผ ํ์์
์ผ๋จ ๋ ์ค๋ฅธ๊ฒ ํ๋ ์๊ธด ํ๋ฐ
for๋ฌธ ์์์ if( ์ ์ฅ์์ธ์คํด์ค.list[i].id == ๋งค๊ฐ๋ณ์id )
๊ทธ๋ฐ๋ฐ ์ด๋ฐ์์ผ๋ก O(n)์ผ๋ก ๊ฒ์ํ๋๊ฑฐ๋ ๋๊ฒ ๋นํจ์จ์ ์ด๊ฒ ๋ณด์ด๋๋ฐ
์ด๋ป๊ฒ ๊ฒ์์ ํด์ผํ ๊น?..
C) List๋ย Scriptable Object๋ณด๋ค ๋ ์ข์๊ฒ ์์๊น?
ใ ใ
๊ทธ๋ฐ๋ฐ ์ด๋ฐ์์ผ๋ก O(n)์ผ๋ก ๊ฒ์ํ๋๊ฑฐ๋ ๋๊ฒ ๋นํจ์จ์ ์ด๊ฒ ๋ณด์ด๋๋ฐ
์ด๋ป๊ฒ ๊ฒ์์ ํด์ผํ ๊น?..
C) List๋ย Scriptable Object๋ณด๋ค ๋ ์ข์๊ฒ ์์๊น?
ใ ใ
Dictionary<int id, Talk data>
์ ๋์ ๋๋ฆฌ๋ ์๊ฐ๋ณต์ก๋๊ฐ O(1)์ด๋ค ๊ฐ์ฌ
์ด๊ฑฐ ๋ํ๊ฐ ๋ช์ฒ๊ฐ์ฉ ์๋๊ฒ๋ ์๋๋ฐ ๊ทธ๋ฅ ์ค๋ธ์ ํธ ํ๋์ ๋ชฐ๋นตํด๋๊ณ ์จ๋ ๋๊ฒ ์ง?
์ค๋ น ๋ช์ฒ๊ฐ๋ผ๊ณ ํด๋ ๋ค ์ง์ด๋ฃ์ด๋ผ. ์ฌ๋งํด์ ํ ์ค์ณ ํ์ฅ ์ฉ๋๋ ์๋์ด
์ค์ผ์ด ๊ฐ์ฌ๊ฐ์ฌ