เครื่องรัฐดูเหมือนจะก่อให้เกิดการพึ่งพาที่เป็นอันตรายในสถาปัตยกรรมที่ใช้ส่วนประกอบ
มีการจัดการการสื่อสารระหว่างเครื่องรัฐและส่วนประกอบที่ดำเนินพฤติกรรมที่เกี่ยวข้องกับรัฐอย่างไรโดยเฉพาะ
ฉันอยู่ที่ไหน:
- ฉันใหม่กับสถาปัตยกรรมที่อิงองค์ประกอบ
- ฉันกำลังสร้างเกมต่อสู้แม้ว่าฉันไม่คิดว่ามันจะสำคัญ ฉันนึกภาพเครื่องรัฐของฉันถูกใช้เพื่อสลับสถานะเช่น "หมอบคลาน", "ห้าว", "ปิดกั้น" ฯลฯ
- ฉันพบว่าเทคนิคการจัดการสถานะนี้เป็นระบบที่เป็นธรรมชาติที่สุดสำหรับสถาปัตยกรรมที่อิงองค์ประกอบ แต่มันขัดแย้งกับเทคนิคที่ฉันได้อ่าน: ระบบส่วนประกอบของวัตถุเกมแบบไดนามิกสำหรับตัวละครพฤติกรรมที่ไม่แน่นอนมันแสดงให้เห็นว่า ตัวเองโดยการตรวจสอบเงื่อนไขการเปิดใช้งานอย่างต่อเนื่อง
- ฉันคิดว่าการกระทำเช่น "วิ่ง" หรือ "เดิน" เข้าท่าเป็นเรื่องของรัฐซึ่งไม่เห็นด้วยกับคำตอบที่ยอมรับได้ที่นี่: /gamedev//a/7934
ฉันพบสิ่งนี้มีประโยชน์ แต่ไม่ชัดเจน: จะใช้พฤติกรรมอย่างไรในสถาปัตยกรรมเกมที่อิงส่วนประกอบได้อย่างไร มันแสดงให้เห็นว่ามีองค์ประกอบแยกต่างหากที่มีอะไรนอกจากเครื่องรัฐ แต่สิ่งนี้จำเป็นต้องมีการเชื่อมต่อระหว่างส่วนประกอบเครื่องรัฐกับส่วนประกอบอื่นเกือบทั้งหมด ฉันไม่เข้าใจวิธีจัดการข้อต่อนี้ นี่คือการเดาบางอย่าง:
A. ส่วนประกอบขึ้นอยู่กับเครื่องของรัฐ:
ส่วนประกอบได้รับการอ้างอิงถึงส่วนประกอบของเครื่องของgetState()
รัฐซึ่งจะส่งกลับค่าคงที่การแจงนับ คอมโพเนนต์อัปเดตตัวเองเป็นประจำและตรวจสอบสิ่งนี้ตามความจำเป็นB. สถานะของเครื่องจักรขึ้นอยู่กับส่วนประกอบ: ส่วนประกอบ
สถานะของเครื่องได้รับการอ้างอิงถึงส่วนประกอบทั้งหมดที่มีการตรวจสอบ มันสอบถามgetState()
วิธีการของพวกเขาเพื่อดูว่าพวกเขาอยู่ที่ไหนC. สิ่งที่เป็นนามธรรมระหว่างพวกเขา
ใช้ฮับเหตุการณ์? รูปแบบคำสั่ง?D. แยกสถานะของวัตถุที่
ใช้เป็นส่วนประกอบของรูปแบบสถานะอ้างอิง วัตถุสถานะแยกถูกสร้างขึ้นซึ่งเปิดใช้งาน / ปิดการใช้งานชุดของส่วนประกอบ เครื่องรัฐสลับระหว่างวัตถุสถานะฉันกำลังมองหาที่เป็นส่วนประกอบของการใช้งานด้าน พวกเขาทำทุกสิ่งที่จำเป็นภายในเพื่อทำให้มุมมองนั้นเกิดขึ้น ดูเหมือนว่าส่วนประกอบควรทำงานได้ด้วยตัวเองโดยไม่ต้องพึ่งพาส่วนประกอบอื่น ๆ ฉันรู้ว่ามีความจำเป็นต้องพึ่งพาบางอย่าง แต่เครื่องของรัฐดูเหมือนจะต้องการควบคุมส่วนประกอบทั้งหมดของฉัน