irpg Community
วิธีเขียน C# Script ใน Bakin - Printable Version

+- irpg Community (http://irpg.in.th)
+-- Forum: irpg Other Game Engines School (http://irpg.in.th/forum-47.html)
+--- Forum: Others (http://irpg.in.th/forum-48.html)
+--- Thread: วิธีเขียน C# Script ใน Bakin (/thread-3660.html)



วิธีเขียน C# Script ใน Bakin - XthemeCore - 10-19-2022

เราสามารถเขียน Script ลงใน RPG Developer Bakin ได้ โดยมี 2 วิธี ดังนี้

1.เพิ่มจากใน Event
[Image: P0XZb6s.png]

เป็นวิธีที่ง่ายที่สุด โดยการเปิดหน้า Event ขึ้นมา จากนั้นดูมุมล่างซ้ายสุดที่เขียนว่า C# Program Assignment ให้คลิกที่ปุ่มลูกศรลง
จะปรากฎหน้าต่างดังภาพด้านล่าง ให้คลิกที่ Create New จากนั้นใส่ชื่อ Script ที่ต้องการ แล้วกดโอเค

[Image: HcPFlR2.jpg]

Bakin จะสร้างไฟล์ C# Script (ไฟล์นามสกุล .cs) ขึ้นมา ไว้ในโฟลเดอร์ Scripts ในโฟลเดอร์โปรเจคของเรา
หน้าตาของ Script จะเป็นตามภาพด้านล่าง โครงสร้างคล้าย C# ใน Unity

สำหรับรายละเอียดและคำสั่ง API ณ ปัจจุบัน ยังไม่มีข้อมูลอย่างเป็นทางการเนื่องจาก Bakin ยังเป็น Early Access 
API สามารถแอบดูได้จากไฟล์ DLL ของ Bakin (ระดับ Advance)
จากข้อมูลใน Discord ตัว BakinObject สามารถใช้คลาส MapScene MapCharacter และ Catalog ได้ 

[Image: azkYCGK.png]

2.สร้าง Plugin (Advance)
**จนกว่าจะมีการประกาศ API และวิธีการอย่างเป็นทางการ ให้ถือว่าการสร้าง Plugin เหมาะสำหรับผู้ที่คุ้นเคยกับ Visual Studio และ C# มาก่อนเท่านั้น

2.1 หา PluginSample มาใช้เป็นตัวอย่าง
ให้คลิกขวาที่ไอคอน RPG Developer Bakin ใน Steam จากนั้นเลือก Manage -> Browse local files เพื่อเปิดโฟลเดอร์ที่ติดตั้ง Bakin ไว้
จากนั้นให้ไปที่โฟลเดอร์ sdk จะมีไฟล์ plugin ตัวอย่างอยู่ 

[Image: PJCt9iM.png]
ให้แตกไฟล์ (unzip/uncompress) PluginSample.zip ไว้ในตำแหน่งที่ต้องการ จะได้โปรเจค PluginSample ไว้เป็นตัวอย่างให้การพัฒนา
ต้องใช้ Visual Studio และ C# .NET SDK

2.2 แก้ปัญหา References

เมื่อเปิดตัวโปรเจคขึ้นมา จะไม่สามารถ compile ได้เนื่องจากขาด References ที่ถูกต้อง
[Image: iI81NeN.png]
ให้เพิ่ม Reference เข้าไปโดยตำแหน่งของไฟล์จะอยู่ในโฟลเดอร์ lib ในโฟลเดอร์ที่ติดตั้งเอนจิ้น มีชื่อดังต่อไปนี้
[Image: x3o7R04.png]

อย่างไรก็ตามตัว Yukar Editor ที่อยู่ในไฟล์ bakin.resource.dll และ rpgbuilder.resource.dll นั้น ผู้เขียนยังไม่สามารถเข้าถึงได้จากใส่ references
จึงแจ้งให้ทราบว่ายังไม่สามารถใช้งาน Yukar.Tool ได้ (แต่ไม่จำเป็นสำหรับ PluginSample) หากมีอัพเดทเพิ่มเติมจะมาใส่ในภายหลัง

เมื่อเพิ่ม references แล้วสามารถกด build ได้เลย จะได้ไฟล์ PluginSample.dll และไฟล์ PluginSample.resource.dll (ในโฟลเดอร์ en) 
(หากมันยังแจ้งว่าหา references ไม่เจออยู่ ให้ลบ reference เก่าที่ขึ้นเครื่องหมาย ! แล้วค่อยเพิ่ม reference เข้าไป)

2.3 นำ Plugin ที่สร้างเสร็จไปใช้

ให้ก็อปมาไฟล์ DLL ทั้งสองมา ใส่ในโฟลเดอร์ Plugin ในโฟลเดอร์ที่ติดตั้งเอนจิ้นก็จะสามารถใช้งานได้
[Image: lKa96DQ.png]

[Image: MD2dHg5.png]

หมายเหตุ:  การ build ตัว PluginSample แล้วเอามาใส่ จะเป็นการทับ PluginSample ตัวเดิม (เพราะมันมีอยู่แล้ว) ในภาพเป็นการสร้าง Plugin ใหม่ที่ไม่ใช่ชื่อ PluginSample วิธีการคือต้องแก้ไข namespace ของคลาส และแก้ไขข้อมูลใน AssemblyInfo.cs ซึ่งผู้เขียนคาดหวังว่าผู้ใช้ระดับ Advance สามารถทำได้