1
ลงทะเบียนส่วนประกอบเกมวัตถุในระบบย่อยเกม? (การออกแบบวัตถุเกมตามส่วนประกอบ)
ฉันกำลังสร้างระบบเกมวัตถุ component-based เคล็ดลับบางอย่าง: GameObjectComponentsเป็นเพียงรายการ GameSubsystemsมี ยกตัวอย่างเช่นการแสดงผลฟิสิกส์ ฯลฯ แต่ละมีตัวชี้ไปยังบางส่วนของGameSubsystem เป็นนามธรรมที่ทรงพลังและยืดหยุ่นมาก: มันแสดงถึงส่วนใด ๆ ของเกม (หรือแง่มุม)ComponentsGameSubsystem มีความต้องการในกลไกของการลงทะเบียนComponentsในGameSubsystems(เมื่อGameObjectถูกสร้างและสงบ) มี4 วิธีคือ: 1: รูปแบบของความรับผิดชอบ ทุกคนมีให้แก่ทุกคนComponent ตัดสินใจในการลงทะเบียน (และวิธีการจัดระเบียบ) ตัวอย่างเช่น GameSubsystemRender สามารถลงทะเบียน Renderable Components ได้GameSubsystemGameSubsystemComponents มือโปร. Componentsไม่รู้อะไรเกี่ยวกับวิธีการใช้งาน คลัปต่ำ A.GameSubsystemเราสามารถเพิ่มใหม่ ตัวอย่างเช่นให้เพิ่ม GameSubsystemTitles ที่ลงทะเบียน ComponentTitle ทั้งหมดและรับประกันว่าทุกชื่อจะไม่ซ้ำกันและมีส่วนต่อประสานในการสอบถามวัตถุตามชื่อ แน่นอน ComponentTitle ไม่ควรเขียนใหม่หรือสืบทอดในกรณีนี้ B.GameSubsystemsเราสามารถจัดระเบียบที่มีอยู่ ตัวอย่างเช่น GameSubsystemAudio, GameSubsystemRender, GameSubsystemParticleEmmiter สามารถผสานเข้ากับ GameSubsystemSpatial (เพื่อวางเสียง emmiter ทั้งหมดให้Componentsอยู่ในลำดับชั้นเดียวกันและใช้การแปลงแบบญาติสัมพันธ์) แย้ง …