আমি "রাইট ক্লিক অপশন" আচরণের জন্য একটি সমাধান খুঁজছি।
মূলত কোনও গেমের যে কোনও এবং প্রতিটি আইটেম যখন ডান ক্লিক করা হয় তখন অবজেক্টটি যাই হোক না কেন তার উপর ভিত্তি করে বিকল্পগুলির একটি সেট প্রদর্শন করতে পারে।
বিভিন্ন পরিস্থিতিতে উদাহরণের জন্য রাইট ক্লিক করুন :
ইনভেন্টরি: হেলমেট অপশন দেখায় (সজ্জিত, ব্যবহার, ড্রপ, বর্ণনা)
ব্যাংক: হেলমেট অপশন দেখায় (1 নিন, এক্স নিন, সমস্ত নিন, বিবরণ)
মেঝে: হেলমেট অপশন দেখায় (নিন, এখানে চলুন, বর্ণনা)
অবশ্যই প্রতিটি বিকল্প একরকম একটি নির্দিষ্ট পদ্ধতিতে নির্দেশ করে যা যা বলে তা করে। এটি আমি ইস্যু করার চেষ্টা করছি এমন একটি অংশ। একটি একক আইটেমের জন্য অনেক শক্তিশালী বিকল্পের সাথে আমি কীভাবে আমার ক্লাসগুলি এমনভাবে ডিজাইন করব যাতে চরম অগোছালো না হয়?
- আমি উত্তরাধিকার সম্পর্কে চিন্তা করেছি কিন্তু এটি সত্যিই দীর্ঘ বায়ুযুক্ত হতে পারে এবং চেইনটি বিশাল হতে পারে।
- আমি ইন্টারফেসগুলি ব্যবহার করার বিষয়ে ভেবেছি, তবে এটি সম্ভবত আমাকে কিছুটা সীমাবদ্ধ রাখবে কারণ আমি এক্সএমএল ফাইল থেকে আইটেম ডেটা লোড করতে এবং এটি একটি জেনেরিক "আইটেম" শ্রেণিতে স্থাপন করতে সক্ষম হব না।
আমি আমার পছন্দসই ফলাফলটি রুনেসকেপ নামে একটি গেমের উপর ভিত্তি করে চলেছি। প্রতিটি বস্তু খেলায় সঠিকভাবে ক্লিক করা যেতে পারে এবং এটি কী তা নির্ভর করে এবং এটি কোথায় (জায়, তল, ব্যাংক ইত্যাদি) খেলোয়াড়ের সাথে ইন্টারঅ্যাক্ট করার জন্য উপলব্ধ বিকল্পগুলির একটি আলাদা সেট প্রদর্শন করে।
আমি কীভাবে এটি অর্জন করতে যাব? প্রথমে আমার কী পদ্ধতির উচিত, সিদ্ধান্ত নিতে হবে কোন বিকল্পগুলি প্রদর্শিত হবে এবং একবার ক্লিক করা উচিত, কীভাবে সম্পর্কিত পদ্ধতিটি কল করতে হবে।
আমি সি # এবং ইউনিটি 3 ডি ব্যবহার করছি তবে প্রদত্ত যে কোনও উদাহরণের সাথে সেগুলির সাথে সম্পর্কিত হতে হবে না কারণ আমি প্রকৃত কোডের বিপরীতে একটি প্যাটার্ন পরে আছি।
যে কোনও সহায়তা অনেক প্রশংসাযোগ্য এবং যদি আমি আমার প্রশ্নে বা কাঙ্ক্ষিত ফলাফলগুলিতে পরিষ্কার না হয়ে থাকি তবে দয়া করে একটি মন্তব্য পোস্ট করুন এবং আমি এটি ASAP এ ঝোঁক দেব।
আমি এখন পর্যন্ত যা চেষ্টা করেছি তা এখানে:
- আমি আসলে একটি জেনেরিক "আইটেম" শ্রেণি বাস্তবায়িত করতে পেরেছি যা বিভিন্ন ধরণের আইটেমের জন্য সমস্ত মান রাখে (অতিরিক্ত আক্রমণ, অতিরিক্ত প্রতিরক্ষা, খরচ ইত্যাদি ...)। এই ভেরিয়েবলগুলি একটি এক্সএমএল ফাইল থেকে ডেটা দ্বারা পপুলেশন হয়।
- আমি আইটেম শ্রেণীর ভিতরে প্রতিটি একক সম্ভাব্য ইন্টারঅ্যাকশন পদ্ধতি স্থাপন সম্পর্কে চিন্তাভাবনা করেছি তবে আমি মনে করি এটি অবিশ্বাস্য অগোছালো এবং দুর্বল রূপ। আমি সম্ভবত এক শ্রেণি ব্যবহার করে এবং বিভিন্ন আইটেমকে উপ-শ্রেণিবদ্ধ না করে এই ধরণের সিস্টেমটি বাস্তবায়নের জন্য ভুল পদ্ধতি গ্রহণ করেছি, তবে এটিই একমাত্র উপায় যা আমি এক্সএমএল থেকে ডেটা লোড করে ক্লাসে সঞ্চয় করতে পারি।
- আমি XML ফাইল থেকে আমার সমস্ত আইটেম লোড করার কারণটি এই গেমটি 40,000+ আইটেমের সম্ভাবনা থাকার কারণে। যদি আমার গণিত সঠিক হয় তবে প্রতিটি আইটেমের জন্য একটি ক্লাস অনেকগুলি ক্লাস।