สมมติว่าผมมีชื่อตัวแปรbuttonชนิดซึ่งเป็นหลักสูตรButtonSystem.Serializable
ฉันต้องการตัวแปรนั้นสามารถกำหนดได้ผ่านทางผู้ตรวจสอบดังนั้นฉันจึงทำมันpublic:
public class SomeScript : MonoBehaviour{
public Button button;
}
ซึ่งให้ฉันว่า:
ตอนนี้ฉันต้องการรักษารหัสให้สะอาดและปลอดภัย (จัดระเบียบ) และมีเหตุผลที่แท้จริงว่าทำไมฉันจึงต้องรักษาความห่อหุ้มไว้
ฉันรู้ว่ามีหลายวิธีในการดึงส่วนประกอบบนรันไทม์เช่นtransform.Find("Some/Genius/TypeUnsafe/Path")หรือGameObject.Find("3 seconds scene iteration").GetComponent(...).ฉันต้องการที่จะหลีกเลี่ยง
ฉันจะผสมตัวแปรเข้าprivate accessกับpublic accessตัวตรวจสอบได้อย่างไร
UI/ API MVC/ MVVMรูปแบบสำหรับการใช้งานขนาดใหญ่ (เกมไคลเอนต์จริง) และผมก็มีการแยกจากUI APIฉันต้องการกำหนดค่าผ่านทางผู้ตรวจสอบสาเหตุง่ายๆ - ไม่มีวิธีอื่น Find()เมธอดนั้นไม่ปลอดภัยและง่ายกว่าที่จะรวบรวมสิ่งต่าง ๆ ด้วยการลาก & วาง มันยากจริงๆที่จะสร้างคลาสสิก OOP framework ด้วยUnityและคุณต้องมองหาสิ่งที่เป็นแฮ็คแบบนี้

privateไม่ได้มีจุดประสงค์เพื่อป้องกันไม่ให้บุคคลที่สามเข้าถึงข้อมูลในเขตข้อมูล แต่มีไว้เพื่อให้วิธีการพูดว่า "อย่ามองหลังม่านสิ่งที่ฉันทำจริงๆ" - นั่นคือส่วนใหญ่เป็นวิธีในการ ทำให้คุณไม่สามารถเข้าถึงได้