๐ซ WitchMendokusai DevLog 03
๐ฒ _
์ผ์ง๋ฅผ ๊พธ์คํ ์ ๋๊ฒ ์ฐธ ์ด๋ ต๋ค.
๐ฒ ๋ณ๊ฒฝ์ : ์ธ๊ฒ์
- ๋์ ๋ณด์ UI
- ๊ธฐ์กด ํ์คํธ ๋ณด์ UI๋ฅผ ์ถ์ํํ์ฌ ์ฌ์ฌ์ฉ
- ๋์ ์คํ
์ด์ง
- ๊ธฐ์กด ์คํ ์ด์ง๋ฅผ ์ถ์ํํ์ฌ ์ฌ์ฌ์ฉ
- ๋จ์ ๋ฑ์๋ฅ์์ ๋ก๊ทธ๋ผ์ดํฌ ์ ๋งต ๋ชจ์์ผ๋ก ๊ธฐํ ๋ณ๊ฒฝ
- ๋์ ์ ์ฝ
- ๊ธฐ์กด ๋์ด๋ ์ญ์
- ๋ช ์ผ๋ฐฉ์ฃผ ์ ์ฝ, ๋ฆฌ์คํฌ ์ค๋ธ ๋ ์ธ ์ ๋ฌผ ๊ฐ๋ ์ ์ ์ฝ ์ถ๊ฐ
- ํ ๊ธ ๊ฐ๋ฅํ๋๋ก
UISlot
์ ํ์ฑํ/๋นํ์ฑํ ๊ธฐ๋ฅ ์ถ๊ฐ
Monster
=>Mob
- ์์ ๊ธฐ๋ฅ ๋๋ฒจ๋กญ
Artifact
๋ฅผDataSO
๋ก ์ด๋ฆ ๋ณ๊ฒฝDataBuffer
๋DataSO
๋ฅผ ์์๋ฐ์UIDataBuffer
๋ฅผUI~Grid
๋ก ์ด๋ฆ ๋ณ๊ฒฝDataBuffer
๊ฐ ์์ ์ ์ฌ์ฉํ๋UI~Grid
๋ฅผ ์ถ์ ํ์ฌ ์ ๋ฐ์ดํธ- ํ๋ ์ด์ด ์ธํฐ๋ ์
์ ์ผ๋ฐ ํด๋์ค๋ก ๋ณ๊ฒฝ (๊ธฐ์กด
MonoBehaviour
์์ ์ ๊ฑฐ) - ์คํฌ
SkillHandler
์ถ๊ฐSkill
์์Skill
,SkillData
๋ก ๋ถ๋ฆฌ- ์ฟจํ์์ด
TimeManager.Tick
์ ์ํด ๊ด๋ฆฌ๋๋๋ก ๋ณ๊ฒฝ (๊ธฐ์กด์ Update์์ ๋์๊ฐ์, ์ผ์์ ์ง๋ฅผ ํด๋ ์ฟจํ์์ด ๋์๊ฐ) - ์์ ๊ทผ์ ๊ณต๊ฒฉ
- ์ BGM
- BY PROTODOME
InputSystem
,Addressable
ํจํค์ง ์ถ๊ฐInputSystem
์ ์ด์ฉํ UI ํค๋ณด๋ ์กฐ์UISlot
, Select์ Click ์ด๋ฒคํธ ๋ถ๋ฆฌ
- UI ๋๋ฒจ๋กญ
๐ฒ ๋ณ๊ฒฝ์ : ์ธ๊ฒ์๊ณผ ๊ด๋ จ์๋
๐พ ScriptableObject ์ด๋ฆ ๊ฒ์ฌ ๊ฐ์
์ปค๋ฐ : SO ํ์ผ ์ด๋ฆ ๊ฒ์ฌ ์, ID๋ฟ๋ง ์๋๋ผ ์ด๋ฆ๋ ํ์ธํ๊ณ ์์ ํ๋๋ก ์์
์ปค๋ฐ : SO ํ์ผ ์ด๋ฆ ์์ ์, ํ์ผ๋ช
์ผ๋ก ์ธ ์ ์๋ ๋ฌธ์ ์ ๊ฑฐ
1
2
3
4
5
6
7
8
9
10
11
12
string goodName = $"{assetPrefixes[typeof(T)]}_{asset.ID}_{asset.Name}";
// if (asset.name.StartsWith($"{assetPrefixes[typeof(T)]}_{asset.ID}") == false)
// ํ์ผ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ ๋ฌธ์๋ฅผ ์ ๊ฑฐ
Regex regex = new(string.Format("[{0}]", Regex.Escape(new string(Path.GetInvalidFileNameChars()))));
goodName = regex.Replace(goodName, string.Empty);
if (asset.name.Equals(goodName) == false)
{
Debug.Log($"์์
์ด๋ฆ์ ๋ณ๊ฒฝํฉ๋๋ค. {asset.name} -> {goodName}");
AssetDatabase.RenameAsset(filePath, goodName);
}
ScriptableObject
์ ํ์ผ ์ด๋ฆ ์ ํจ์ฑ ๊ฒ์ฌ์,
๊ธฐ์กด์๋ ํด๋น ScriptableObject
์ ID๋ง ๊ฒ์ฌํ๋๋ฐ,
์ด๋ฆ์ ํฌํจํ์ฌ ์ ์ ํ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํ๊ณ ์์ ํ๋๋ก ๊ฐ์
์ด๋, ํ์ผ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ ๋ฌธ์๋ฅผ Regex
๋ฅผ ์ด์ฉํ์ฌ ์ ๊ฑฐ
์๋ฅผ ๋ค์ด 2์ฅ : ์์
๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ํ์คํธ ScriptableObject
๋ฅผ ๋ง๋ค์๋๋ฐ,
๋ฌธ์ :
๊ฐ ํ์ผ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ ๋ฌธ์๋ผ์ 2์ฅ ์์
์ผ๋ก ๋ณ๊ฒฝ๋๋๋ก ํจ
๋์ด์ฐ๊ธฐ๊ฐ ์ข ์ด์ํด์ ์ง์์ผ ํ๋ ์ถ๊ธดํ๋ฐ, ์ผ๋จ ๋ณด๋ฅ.
์ฐธ๊ณ : C# ํ์ผ๋ช
์ ํจ์ฑ ์ฒดํฌ
์ฐธ๊ณ : ํ์ผ ๋ช
์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฌธ์ (๋๋ฌด์ํค)
๐พ ์์ธ๋ชจ๋ฅผ TextMeshPro ์๋ฌ ๋ก๊ทธ
์ปค๋ฐ : ํ ์คํธ๋ฅผ ์ํ ํด๋ฆฌ์ฑ + TMP ์ค๋ฅ ์์ ์ ์ํ ํจํค์ง ๋ฒ์ ์
MissingReferenceException: The variable m_AtlasTextures of TMP_FontAsset doesn't exist anymore.
์๋ฌ ๋ก๊ทธ๊ฐ ๊ณ์ ๋จ๋๋ฐ, ์์ธ์ ๋ชจ๋ฅด๊ฒ ๋ค.
์ฌ์ฉํ๊ณ ์๋ TMP Font Asset
๋ฅผ Reset
ํ๊ณ Clear Dynamic Data
ํ๋ ๋ฐฉ๋ฒ์ด ์๋ค๊ณ ๋ ํ๋๋ฐ ๋์๊ฒ๋ ์ ์ฉ๋์ง ์์๊ณ ,
๋๋ TextMeshPro
ํจํค์ง๋ฅผ 3.0.8
์์ 3.2.0-pre.9
๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ผ๋ก ํด๊ฒฐํ๋ค.