ส่วนประกอบ
ภายใน Craftland Studio PC, ‘ส่วนประกอบ’ อาจถูกเข้าใจว่าเป็น ภาชนะสำหรับข้อมูล.
เอนทิตีเองเป็นเพียงตัวระบุที่ว่างเปล่า; สิ่งที่มันสามารถทำได้และพฤติกรรมของมันขึ้นอยู่กับส่วนประกอบที่แนบมากับมันทั้งหมด.
- ส่วนประกอบการเคลื่อนไหว: เก็บเฉพาะข้อมูลที่เกี่ยวข้องกับการเคลื่อนไหว เช่น ความเร็วในการเคลื่อนไหวและทิศทาง.- คอมโพเนนต์การแสดงผล: จัดเก็บข้อมูลที่จำเป็นสำหรับการแสดงผล เช่น โมเดลและวัสดุ
- คอมโพเนนต์การชน: จัดเก็บข้อมูลสำหรับการตรวจจับการชน เช่น ปริมาตรและรูปร่างของการชน
ระบบจะระบุเอนทิตีที่มีชุดคอมโพเนนต์เฉพาะ จากนั้นกำหนดตรรกะพฤติกรรมที่จะนำไปใช้กับเอนทิตีเหล่านี้โดยอิงจากข้อมูลภายในคอมโพเนนต์เหล่านั้น
การจัดการส่วนประกอบ
เข้าถึงการจัดการส่วนประกอบผ่านเมนู


ส่วนประกอบสามารถจัดการได้โดยตรงจากอินเทอร์เฟซที่เกี่ยวข้อง:


สคริปต์
การแนบสคริปต์กับคอมโพเนนต์จะเทียบเท่ากับการแนบสคริปต์กับเอนทิตีทั้งหมดที่ใช้คอมโพเนนต์นั้น:



คุณสมบัติ
คุณสมบัติเริ่มต้น
โดยค่าเริ่มต้น ส่วนประกอบส่วนใหญ่จะมีคุณสมบัติเริ่มต้นอยู่แล้ว

ประเภทของสมบัติ
สมบัติถูกจัดหมวดหมู่เป็นแบบอ่านอย่างเดียวหรือแบบเขียนได้ สมบัติแบบอ่านอย่างเดียวสามารถสอบถามค่าได้เท่านั้นและไม่สามารถแก้ไขได้ผ่านการเขียนสคริปต์ ส่วนสมบัติแบบเขียนได้สามารถเปลี่ยนแปลงได้ผ่านการเขียนสคริปต์

คุณสมบัติที่แก้ไขได้

คุณสมบัติแบบอ่านอย่างเดียว
ว่าแอตทริบิวต์สามารถเขียนได้หรือไม่นั้นสามารถตรวจสอบได้จากการที่ค่าเริ่มต้นของมันถูกเน้นไว้หรือไม่

ตัวอย่างเช่น คุณสมบัติตำแหน่งของวัตถุผู้เล่นจะแตกต่างจากคุณสมบัติตำแหน่งของคอมโพเนนต์การแปลงที่ใช้โดยวัตถุอื่น ๆ; ไม่สามารถแก้ไขได้โดยตรงผ่าน API setProperty. เพื่อย้ายผู้เล่น คุณควรใช้ API teleportPlayer ที่ออกแบบมาโดยเฉพาะ:


API การตั้งค่าคุณสมบัติ (Set Property API) ช่วยให้สามารถแก้ไขคุณสมบัติที่เขียนได้ ส่วน API การอ่านคุณสมบัติ (Get Property API) ช่วยให้สามารถอ่านค่าคุณสมบัติได้:

นอกจากนี้ คุณสมบัติเริ่มต้นบางอย่างเป็นเฉพาะเซิร์ฟเวอร์เท่านั้น และจะเกิดข้อผิดพลาดหากมีการแก้ไขบนไคลเอนต์ ในสคริปต์ของคอมโพเนนต์ คุณสมบัติเหล่านี้จะถูกกรองโดยอัตโนมัติตามแพลตฟอร์มการทำงานของสคริปต์
คุณสมบัติที่กำหนดเอง
นอกเหนือจากคุณสมบัติเริ่มต้นที่มีอยู่แล้ว คุณยังสามารถเพิ่มคุณสมบัติที่กำหนดเองให้กับคอมโพเนนต์ได้อีกด้วย คุณสมบัติที่กำหนดเองสามารถเขียนได้และทำงานเป็นคุณสมบัติแบบสองทาง

การตรวจสอบคุณสมบัติที่กำหนดเอง
คุณอาจสังเกตเห็นไอคอนการตรวจสอบอยู่ถัดจากคุณสมบัติที่กำหนดเอง:

การเปิดใช้งานคุณลักษณะการตรวจสอบนี้จะทำให้ระบบส่งเหตุการณ์ “การเปลี่ยนแปลงคุณสมบัติที่กำหนดเอง” ทุกครั้งที่ค่าของคุณสมบัติเปลี่ยนแปลง โดยใช้ตรรกะดังต่อไปนี้:
- เมื่อคุณสมบัตินั้นถูกแก้ไขผ่านตรรกะฝั่งเซิร์ฟเวอร์ เหตุการณ์จะถูกส่งไปยังทั้งเซิร์ฟเวอร์และไคลเอนต์
- เมื่อคุณสมบัตินั้นถูกแก้ไขผ่านตรรกะฝั่งไคลเอนต์ เหตุการณ์จะถูกส่งเฉพาะในเครื่องเท่านั้น
โดยการใช้เหตุการณ์การเปลี่ยนแปลงคุณสมบัติที่กำหนดเอง คุณสามารถตรวจจับการเปลี่ยนแปลงของคุณสมบัติที่กำหนดเองได้ง่ายขึ้นและแก้ไขตรรกะที่ตามมาได้อย่างเหมาะสม:

หากมีการเปิดใช้งานการตรวจจับการเปลี่ยนแปลงสำหรับแอตทริบิวต์ที่กำหนดเองหลายรายการ องค์ประกอบ ID ของแอตทริบิวต์ที่กำหนดเองสามารถระบุได้อย่างชัดเจนว่าแอตทริบิวต์ใดมีการเปลี่ยนแปลง:

เมื่อใช้ตัวแปรชนิด ID ของคุณสมบัติที่กำหนดเอง จำเป็นต้องระบุชนิดของคอมโพเนนต์ด้วยตนเอง
องค์ประกอบที่เกี่ยวข้อง
องค์ประกอบหนึ่งอาจมีองค์ประกอบที่เกี่ยวข้องหลายองค์ประกอบ องค์ประกอบเหล่านี้จะรวมกัน อ้างอิง หรือพึ่งพาซึ่งกันและกัน ซึ่งช่วยกำหนดขอบเขตด้านตรรกะและความสามารถด้านข้อมูลของเอนทิตี
ตัวอย่างเช่น องค์ประกอบ Player จะเชื่อมโยงกับองค์ประกอบ Combatable, Scoreable และองค์ประกอบที่คล้ายคลึงกัน เอนทิตี Player ที่ใช้องค์ประกอบ Player จะสามารถเข้าถึงข้อมูลและเหตุการณ์ของ Combatable และ Scoreable ได้เช่นกัน
