আমার প্রশ্নটি হ'ল:
গেম স্টেটের সামগ্রীর চারপাশে একটি স্ট্যাক রাখার অবলম্বন না করে আমি কীভাবে আমার সত্তা সিস্টেমে গেমের রাজ্যগুলি পরিচালনা করতে পারি?
সুতরাং আমার সত্তা সিস্টেমের ডিজাইনের অর্থ হ'ল যখন কোনও সত্তার উদাহরণস্বরূপ ইনপুট ইভেন্টগুলির জন্য নিবন্ধকরণ করা দরকার তখন ইনপুট উপাদানটি ইনপুট সিস্টেমটিকে কল করে এবং "এই ইনপুটটির জন্য এই সত্তাকে নিবন্ধিত করুন" বলে। এটি সর্বোত্তম এবং ঠিক আছে, তবে আপনি যদি গেমের রাজ্যগুলির এই ধারণার সাথে যুক্ত হন (একটি বিরতি স্ক্রিন বলুন), কোনও সত্ত্বা বর্তমান অবস্থায় থাকলে এবং ইনপুটটি গ্রহণ করা উচিত কিনা তবে এটি কাজ করতে সমস্যা হয়ে ওঠে।
আমি ইনপুট উপাদান / সিস্টেমটিকে বাড়িয়ে তুলতে পারি যাতে এটি বলে যে "এই গেমগুলির মধ্যে থাকাকালীন এই ইনপুটটির জন্য এই সত্তাকে নিবন্ধভুক্ত করুন", তবে এর জন্য প্রতিটি সত্তা এটি জানতে পারে যে এটি কোনটি ব্যবহার করতে চলেছে, এবং এটি সুস্পষ্ট নাও হতে পারে। এছাড়াও, প্রতি নিবন্ধিত ইনপুট (এবং কলব্যাকগুলি ব্যবহার করে এমন অন্যান্য সিস্টেম) চারপাশের গেমের রাজ্যের তালিকা রাখা খুব কার্যকর বলে মনে হয় না।
আমার আর একটি ধারণা ছিল যেহেতু একটি সত্তা থাকবে যা গেমের অবস্থাটি উপস্থাপন করে, অক্ষম হিসাবে চিহ্নিত করুন, তারপরে ইনপুট ইভেন্টটি তৈরি করার সময় পরীক্ষা করুন যে সত্তাটি কোনও অক্ষম গেমের রাষ্ট্রের সত্তার বংশধর নয়। প্রতিটি কলব্যাকের জন্য পিতামাতার কাজ করা ব্যয়বহুল বলে মনে হচ্ছে।
আরেকটি ধারণা হ'ল সমস্ত সিস্টেমগুলি তাদের ডেটা বর্তমান অবস্থার বিপরীতে স্টোর করে রাখে, ইনপুট তৈরি করার সময় লক্ষ্য সত্তা এমনকি প্রার্থীও হতে পারে না। তবে এটি সত্যিকার অর্থে বিভিন্ন রাজ্যে সত্তাগুলির মধ্যে যোগাযোগের অনুমতি দেওয়ার ক্ষমতাকে ব্যাথা দেয় (বিরতি পর্দার জন্য এতটা সমস্যা নয়, তবে মনে করুন ওলিভিয়ন / স্কাইরিমে লক পিকিং)।
আমার কাছে কেবল অন্য একটি ধারণা ছিল যে সমস্ত উপাদান একটি রাষ্ট্র পরিবর্তন ইভেন্টগুলি পরিচালনা করে এবং তাদের নিবন্ধিত যে কোনও কিছু অক্ষম করতে তাদের প্রাসঙ্গিক সিস্টেমের সাথে যোগাযোগ করে এবং এই অবস্থায় ফিরে যাওয়ার সময় এটিকে পুনরায় সক্ষম করে।
দ্বিতীয় (কোনও বিষয়টিকে অক্ষম হিসাবে চিহ্নিত করুন) এবং এর বাইরে (প্রতিটি পরিবর্তনের সাথে রাষ্ট্রীয় পরিবর্তনগুলি সমাধান করুন) আমার ধারণাগুলির সেরা বলে মনে হয়, তবে তাদের মধ্যে কেউই আমাকে বিশেষভাবে দুর্দান্ত বলে প্রত্যাখ্যান করে না।
এটি করার জন্য অন্য কারও কি কোনও ধারণা আছে?
সম্পাদনা করুন যখন আমি এই প্রশ্নে বিশেষত ইনপুট নিয়ে কথা বলি, এর অর্থ সংস্থাগুলি / ইভেন্টগুলি সংঘর্ষ, টাইমার ইভেন্টগুলি ইত্যাদিতে বার্তা / ইভেন্ট প্রেরণে সক্ষম এমন কোনও সিস্টেমের অর্থ হতে পারে ...