2 डी या 3 डी में, एक इकाई घटक प्रणाली (ईसीएस) को कम से कम जीयूआई प्रणाली तक पहुंच होनी चाहिए, अगर यह उसी ईसीएस का हिस्सा नहीं है।
व्यक्तिगत रूप से, मैं दोनों को नहीं मिलाऊंगा। एक जीयूआई के लिए कोड की पुन: प्रयोज्यता वास्तव में शीर्ष स्तर पर होती है। माउस / कीबोर्ड पर प्रतिक्रिया देना, प्रतिपादन करना, और इसी तरह। फ़ंक्शंस जो विभिन्न बटन लेते हैं, या कुछ सूचियों को प्रदर्शित करने वाली जानकारी वास्तव में ऐसा कुछ नहीं है जिसे पुन: उपयोग करने के लिए पर्याप्त सामान्य बनाया जा सकता है।
उदाहरण के लिए, मुझे लगता है कि जीयूआई संस्थाओं के लिए घटक कुछ इस तरह होंगे position, renderऔरgui । जहां GUI घटक GUI निकाय के कार्य के प्रकार को परिभाषित करेगा। हालाँकि, यह क्रिया विशिष्ट और विशिष्ट होने वाली है। यह सिस्टम में परिणाम है जो GUI घटकों को बहुत बड़ा बनाता है और अनिवार्य रूप से प्रत्येक GUI फ़ंक्शन (लोड गेम, गेम सहेजें, सर्वर ढूंढें, आदि) को संभालने के लिए डिज़ाइन किया गया है। गन्दा लगता है।
मैं प्रत्येक GUI "स्क्रीन" के लिए एक मानक वर्ग फ़ाइल करना पसंद करूँगा। उस स्क्रीन के लिए सभी कार्यक्षमता एक ही स्थान पर (सामान्य कार्यक्षमता वर्ग के संदर्भ में) रखें। यह एक बहुत बकवास है और प्रबंधन करने में आसान है।
हालांकि, जैसा कि मैंने कहा, ईसीएस को जीयूआई प्रणाली तक पहुंच होनी चाहिए। यह अपने सिस्टम में संस्थाओं के आधार पर जीयूआई को जानकारी की आपूर्ति करने में सक्षम होने की आवश्यकता है। उदाहरण के लिए, एक संबद्ध इकाई पर मंडराते हुए उस इकाई के बारे में सभी जानकारी के साथ एक GUI विंडो को पॉप अप करेगा। जहां एक दुश्मन एकता पर मँडरा सीमित जानकारी के साथ एक जीयूआई खिड़की पॉप अप होगा। आप संभवतः दोनों के बीच अंतर जानने के लिए GUI को प्रोग्राम नहीं करना चाहते हैं, आप इकाई से इसकी जानकारी प्रदर्शित करने के लिए कहना चाहते हैं।
इसलिए, संस्थाओं को अभी भी किसी प्रकार के जीयूआई घटक की संभावना होगी, लेकिन वे "गेम" संस्थाओं में होंगे, जीयूआई संस्थाएं नहीं। यह घटक उनके GUI इंटरफ़ेस को बनाने के लिए बाहरी GUI सिस्टम का उपयोग करेगा।