मैं "राइट क्लिक विकल्प" व्यवहार के लिए एक समाधान की तलाश कर रहा हूं।
मूल रूप से खेल में कोई भी और हर वस्तु, जब दायां क्लिक किया जाता है, तो जो भी वस्तु होती है, उसके आधार पर विकल्पों का एक सेट प्रदर्शित कर सकता है।
विभिन्न परिदृश्यों के लिए राइट क्लिक उदाहरण :
इन्वेंटरी: हेलमेट विकल्प दिखाता है (लैस, उपयोग, ड्रॉप, विवरण)
बैंक: हेलमेट से पता चलता है कि विकल्प (1, टेक एक्स, टेक ऑल, डिटेल्स लें)
मंजिल: हेलमेट विकल्प दिखाता है (लो, यहां चलें, विवरण)
जाहिर है कि प्रत्येक विकल्प किसी न किसी तरीके की ओर इशारा करता है जो कहता है। यह उस मुद्दे का हिस्सा है जिसे मैं जानने की कोशिश कर रहा हूं। किसी एक आइटम के लिए इतने पोटेंशियल ऑप्शन के साथ, मैं अपनी क्लासेस को इस तरह से कैसे डिजाइन करूँगी, जो बहुत गन्दा न हो?
- मैंने वंशानुक्रम के बारे में सोचा है, लेकिन यह वास्तव में लंबा हो सकता है और श्रृंखला बहुत बड़ी हो सकती है।
- मैंने इंटरफेस का उपयोग करने के बारे में सोचा है, लेकिन यह शायद मुझे थोड़ा प्रतिबंधित करेगा क्योंकि मैं एक एक्सएमएल फ़ाइल से आइटम डेटा लोड करने और इसे एक सामान्य "आइटम" वर्ग में रखने में सक्षम नहीं होगा।
मैं Runescape नामक गेम पर अपने वांछित अंतिम परिणाम को आधार बना रहा हूं। हर वस्तु को खेल में दायाँ क्लिक किया जा सकता है और यह क्या है, और यह कहाँ है (इन्वेंट्री, फ्लोर, बैंक इत्यादि) पर निर्भर करता है कि खिलाड़ी के साथ बातचीत करने के लिए उपलब्ध विकल्पों का एक अलग सेट प्रदर्शित करता है।
मैं इसे कैसे प्राप्त करूंगा? मुझे सबसे पहले किस दृष्टिकोण पर जाना चाहिए, यह तय करें कि कौन से विकल्प प्रदर्शित होने चाहिए और एक बार क्लिक करने के बाद, संबंधित पद्धति को कैसे कॉल किया जाए।
मैं C # और Unity3D का उपयोग कर रहा हूं, लेकिन प्रदान किए गए किसी भी उदाहरण को उनमें से किसी से संबंधित होने की आवश्यकता नहीं है क्योंकि मैं एक पैटर्न के बाद वास्तविक कोड के विपरीत हूं।
किसी भी मदद की बहुत सराहना की जाती है और अगर मैं अपने प्रश्न या वांछित परिणामों में स्पष्ट नहीं हुआ हूं, तो कृपया एक टिप्पणी पोस्ट करें और मैं इसे ASAP में लिखूंगा।
यहाँ मैंने अभी तक कोशिश की है:
- मैं वास्तव में एक सामान्य "आइटम" वर्ग को लागू करने में कामयाब रहा हूं जो विभिन्न प्रकार की वस्तुओं (अतिरिक्त हमले, अतिरिक्त रक्षा, लागत आदि ...) के लिए सभी मान रखता है। ये वैरिएबल Xml फ़ाइल के डेटा से पॉप्युलेट होते हैं।
- मैंने आइटम वर्ग के अंदर हर एक संभव बातचीत विधि रखने के बारे में सोचा है, लेकिन मुझे लगता है कि यह अविश्वसनीय रूप से गड़बड़ और खराब रूप है। मैंने शायद इस तरह की प्रणाली को केवल एक वर्ग का उपयोग करके और अलग-अलग वस्तुओं के लिए उप-क्लासिंग नहीं करने के लिए गलत तरीका अपनाया है, लेकिन इसका एकमात्र तरीका मैं एक एक्सएमएल से डेटा लोड कर सकता हूं और इसे कक्षा में संग्रहीत कर सकता हूं।
- मेरे द्वारा Xml फ़ाइल से अपने सभी आइटम लोड करने का जो कारण चुना गया है, वह इस गेम के कारण 40,000+ आइटम के लिए संभावना है। यदि मेरा गणित सही है, तो प्रत्येक आइटम के लिए एक वर्ग बहुत सारी कक्षाएं हैं।