KO CSharp IDE - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
ะฃะบัะฐัะฝััะบะฐ ยท ะ ัััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช ยท ํ๊ตญ์ด
C# Scripts IDE
Monaco ํธ์ง๊ธฐ๋ Eclipse Theia ์ ธ์์ ์คํ๋ฉ๋๋ค. Roslyn์ ์ปดํ์ผ ๊ฒ์ฌ, ํ์ฌ ์กฐ๊ฐ ๋์ฒด ํํธ, ํธ๋ฒ ์ ํ ์ ๋ณด, ์ ์๋ก ์ด๋, ํ์ผ ๊ตฌ์กฐ ๋ฐ ์ค๋ฒ๋ก๋ ์๋ช ์ ์ ๊ณตํฉ๋๋ค.
์์ฑ, ์ด๊ธฐ ๋ฐ ์ ์ฅ
| ํ์ | ์ฌ์ฉ ๋ฐฉ๋ฒ |
|---|---|
.csx |
C#-ํ์ฌ ๊ฒ์ ์ธ์
์ ์๋๋ฆฌ์ค. UO, Args, Cancellation, WaitAsync ๋ฐ Checkpoint๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. |
.cs |
๋ค์์คํ์ด์ค์ ํด๋์ค๊ฐ ํฌํจ๋ ์ผ๋ฐ์ ์ธ ์์ ํ C# ํ๋ก๊ทธ๋จ: ICSharpScript, Main ๋๋ ์ต์์ ์ฐ์ฐ์. |
.csproj |
NuGet, ProjectReference ๋ฐ ์ผ๋ฐ ๋น๋/์คํ์ ์ฌ์ฉํ์ฌ SDK ํ๋ก์ ํธ๋ฅผ ์งํํฉ๋๋ค. |
.sln, .slnx |
์์ ๊ณต๊ฐ ํ ์คํธ ํ์ผ: ์ด๊ธฐ ๋ฐ ์ ์ฅ. ์คํํ ๋ ๋ฆฝํ ์คํฌ๋ฆฝํธ๊ฐ ์๋๋๋ค. |
.dll |
Reference/HintPath ํ๋ก์ ํธ ๋๋ #r ์คํฌ๋ฆฝํธ ์ง์๋ฌธ์ ํตํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. DLL๋ ์คํฌ๋ฆฝํธ๋ก ์คํ๋์ง ์์ผ๋ฉฐ C#-ํ
์คํธ๋ก ์ ์ฅ๋์ง ์์ต๋๋ค. |
| ๊ธฐํ ํ ์คํธ ํ์ | .csx๋ก ์ด๋ฆ์ ๋ฐ๊พธ์ง ์๊ณ ๋ ์๋ ํ์ฅ๋ช
์ผ๋ก ๋ง๋ค๊ณ ์ด๊ณ ์ ์ฅํฉ๋๋ค. |
| ๋ฐ์ด๋๋ฆฌ ํ์ | ์ฌ์ฉ ๊ฐ๋ฅํ ๋ณด๊ธฐ ๋๋ ๊ด๋ จ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ C#-ํ ์คํธ๋ก ๋์ฝ๋ฉํ๊ฑฐ๋ ์ ์ฅํ์ง ๋ง์ธ์. |
์คํฌ๋ฆฝํธ ์์
- ์ ํํ ํ์์ ํ์ผ์ ์์ฑํ๊ฑฐ๋ ๊ธฐ์กด ํ์ผ์ ์ฝ๋๋ค.
Validate์๋ ์ปดํ์ผ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.Run๋ ํ์ฌ ์ธ์ ์์ ์ง์๋๋ ์คํฌ๋ฆฝํธ ๋๋ ํ๋ก์ ํธ๋ฅผ ์คํํฉ๋๋ค.Pause/Resume๋ ํ์ฌ ์คํ์ ์ ์ดํฉ๋๋ค.Stop์ทจ์๋ฅผ ์์ฒญํฉ๋๋ค.UO.๋ค์ ํดํ์ ๊ฒ์ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๊ณ , ๋ณ์ ๋ค๋ C# ์ ํ์ ๋ฉค๋ฒ์ ๋๋ค. ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ๋ฉด ์ ํ ๋ฐ ์๋ช ์ ๋ํ ์ ๋ณด๊ฐ ํ์๋ฉ๋๋ค. ์ ์๋ก ์ด๋ํ๋ฉด ํด๋น ์ฝ๋ ์์น๊ฐ ์ด๋ฆฝ๋๋ค.
์์ค ์ฝ๋ ์ค๋ก ๋๋ฒ๊น
.csx ๋ฐ ์ผ๋ฐ .cs์ ๊ฒฝ์ฐ ์คํ ๊ฐ๋ฅํ ์ฒซ ๋ฒ์งธ ๋ผ์ธ์์ ์ค์ง, ํ์ฌ ํ์ผ ๋ฐ ๋ผ์ธ, ์ค๋จ์ , Pause/Continue, ๋ค์ ๋ผ์ธ์ผ๋ก ์ด๋(Step) ๋ฐ ์ทจ์(Stop)๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์ผ์ ์ค์ง ๋ฐ ์ค์ง๋ ์ ์ด๋ ์คํ ์ง์ ๊ณผ ์ํธ ์์ฉํฉ๋๋ค. ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์์ ์ฐจ๋จ โโํธ์ถ์๋ ๊ธฐ๋ณธ ์ทจ์ ์ง์์ด ํ์ํฉ๋๋ค. ์์์ ํ์ฌ ๋ฉ์๋๋ฅผ ์
๋ ฅ ๋ฐ ์ข
๋ฃํ๊ณ , ์ง์ญ ๋ณ์๋ฅผ ๊ด์ฐฐํ๊ณ , ์์์ ํํ์์ ํ๊ฐํ๋ ค๋ฉด ๋ณ๋์ CLR ๋๋ฒ๊ฑฐ๊ฐ ํ์ํฉ๋๋ค. ์ด๋ฌํ ๊ฐ๋ฅ์ฑ์ ์ฌ๊ธฐ์ ๊ตฌํ๋์ง ์์ต๋๋ค. ํ ์ค์ฉ Step๋ ์์ ํ StepInto/StepOut๋ก ๊ฐ์ฃผ๋์ด์๋ ์ ๋ฉ๋๋ค.
ํธ์ง๊ธฐ ํ์ผ๊ณผ ์๋ ์คํ ์ธํธ๋ ๋ณ๋๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. ๋ค์์ ๊ด๋ฆฌ์ ํ๋กํ์ ์์ํ ๋ ์คํํ๋ ค๋ฉด ์ด ํ๋กํ์ ์คํฌ๋ฆฝํธ ์ธํธ์ ์ง์๋๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฅํ์ธ์.
ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ ยท ์ค๋ช ์ C# ยท ์์ ์ฐธ๊ณ C# ยท ๊ฒ์ ๋ช ๋ น์ด
์ผ๋ฐ .cs ๋๋ .csproj ์ฝ๋์์๋ ์ด์
๋ธ๋ฆฌ์ ICSharpScript๊ฐ ์์ด๋ Main์ด๋ ์ต์์ ๋ฌธ์ด ์ฐ์ ํฉ๋๋ค. ์คํ ๊ฐ๋ฅํ ์ง์
์ ์ด ์์ผ๋ฉด public์ด๊ณ ์ถ์ ํ์์ด ์๋๋ฉฐ public ๋งค๊ฐ ๋ณ์ ์๋ ์์ฑ์๊ฐ ์๋ ICSharpScript ํด๋์ค๋ฅผ ํ๋ ์ ๊ณตํด์ผ ํฉ๋๋ค. ์ผ๋ฐ ์ฝ๋๋ ์ ๋ฌ๋ฐ์ ์ปจํ
์คํธ๋ CSharpScriptContext.Current๋ฅผ ํตํด ๊ฒ์ API๋ฅผ ์ฌ์ฉํ๋ฉฐ ์ ์ธ๋์ง ์์ ์ ์ญ UO ๋ณ์๋ฅผ ์๋์ผ๋ก ๋ฐ์ง ์์ต๋๋ค.
Client์ Full_Client๋ C# ์คํฌ๋ฆฝํธ ๋ฐ AutoLoad๋ฅผ ์ง์ํ๋ฉฐ Manager์ ๊ฐ์ ๊ฒ์ ์ธ์ ์ ๊ณต์ ํฉ๋๋ค. ๊ฒ์ ์ฐฝ์ ๋ซ์๋ค๊ฐ ๋ค์ ์ด์ด๋ ์ฐ๊ฒฐ๊ณผ ์คํ ์ค์ธ ์คํฌ๋ฆฝํธ๊ฐ ์ ์ง๋ฉ๋๋ค. ๋ด์ฅ C# Scripts IDE๋ Full_Client์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ผ๋ฐ Client์์๋ Manager์ Macros๋ก ์คํฌ๋ฆฝํธ๋ฅผ ๊ด๋ฆฌํ๊ณ Bad Newbie์์ C# ๋ฐ AutoLoad๋ฅผ ์ผ๊ฑฐ๋ ๋ ์ ์์ต๋๋ค.
๋ช ๋ น ๋ชจ๋์ ์คํ๋ผ์ธ IDE
Manager์์ ์บ๋ฆญํฐ ํ ์๋์ ์คํฌ๋ฆฝํธ ํญ์ ์ด๋ฉด ๋๋ฒ๊น ํ๋ฉด์ด ํ์๋ฉ๋๋ค. ์ค์ ์คํ๋ ๋ค์ดํฐ๋ธ UO ๋ช ๋ น, ์ธ์, ๊ฒฐ๊ณผ ๋ฐ ์ค๋ฅ๋ฅผ ๋ณด์ฌ ์ฃผ๋ฉฐ ํ์ ์ ํํ๋ฉด ์ธ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ํจ๋์ ์ด๋ฉด ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ ์์ํ์ง ์๊ณ ๊ด์ฐฐ์ ์์ํฉ๋๋ค. UO.Wait ๋ฑ C#์์ ์ง์ ์ฒ๋ฆฌํ๋ ์์ ์ ๋ชฉ๋ก์ ๋ํ๋์ง ์์ ์ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ ์ถ๋ ฅ์ ๋ณ๋๋ก ํ์๋ฉ๋๋ค.