इकाई-घटक प्रणाली के बारे में कुछ दस्तावेज पढ़ने के बाद, मैंने अपना कार्यान्वयन करने का निर्णय लिया। अब तक, मेरे पास एक वर्ल्ड क्लास है जिसमें इकाइयाँ और सिस्टम मैनेजर (सिस्टम), एंटिटी क्लास शामिल हैं जिसमें एसटीडी :: मैप और कुछ सिस्टम के रूप में घटक शामिल हैं। मैं दुनिया में एक std :: वेक्टर के रूप में संस्थाओं को पकड़ रहा हूं। अब तक कोई समस्या नहीं। मुझे भ्रमित करने वाली बात यह है कि मैं संस्थाओं की पुनरावृत्ति कर रहा हूं, मेरे पास उस पर एक क्रिस्टल स्पष्ट दिमाग नहीं हो सकता है, इसलिए मैं अभी भी उस हिस्से को लागू नहीं कर सकता हूं। क्या प्रत्येक प्रणाली को उन संस्थाओं की एक स्थानीय सूची रखनी चाहिए, जिनमें वे रुचि रखते हैं? या मैं सिर्फ विश्व स्तर पर संस्थाओं के माध्यम से पुनरावृत्ति करूं और सिस्टम के माध्यम से पुनरावृत्त करने के लिए एक नेस्टेड लूप बनाऊं और यह जांच करूं कि क्या इकाई में ऐसे घटक हैं जिनकी प्रणाली में रुचि है? मेरा मतलब :
for (entity x : listofentities) {
for (system y : listofsystems) {
if ((x.componentBitmask & y.bitmask) == y.bitmask)
y.update(x, deltatime)
}
}
लेकिन मुझे लगता है कि एक स्क्रिप्टिंग भाषा को एम्बेड करने के मामले में एक बिटमैस्क सिस्टम लचीलापन खो देगा। या प्रत्येक प्रणाली के लिए स्थानीय सूची होने से कक्षाओं के लिए स्मृति उपयोग बढ़ेगा। मैं बहुत उलझन में हूं।