আপনার শর্তগুলি এখানে:
আপনার দুটোই থাকতে পারে না। কেন? কারণ কোডটি আপনার সত্তার থেকে নিজেকে উচ্চ স্তরের (নীচে উদাহরণগুলি দেখুন) সিদ্ধান্ত নেয় যখন সেই সত্তাটি ব্যবহার করা দরকার। ফলস্বরূপ, কেবলমাত্র একই স্তরের কোডগুলি নির্ধারণ করতে পারে যে আপনার সত্তা অপসারণের জন্য উপযুক্ত কিনা।
যাইহোক , কী ঘটতে পারে তা হ'ল উচ্চ স্তরের কোডটি শুনছে এমন কোনও ইভেন্টের মাধ্যমে গুলি ছড়িয়ে এই সত্তাটি নিজের অপসারণের জন্য অনুরোধ করতে পারে । এরপরে উচ্চতর স্তরটি একটি তালিকায় অপসারণের জন্য এই অনুরোধটি সঞ্চয় করে।
উদাহরণ 1: ইভেন্ট ছাড়াই
আপনি আপনার বিশ্বের সত্তাগুলির মধ্যে সংঘর্ষগুলি পরীক্ষা করছেন। এটি আপনার উচ্চ গেম লুপে সাধারণত উচ্চতরভাবে পরিচালিত হয় যা প্রতিটি সত্তাকে একে অপরের বিরুদ্ধে পরীক্ষা করে। এই উদাহরণে বিশেষভাবে, যখন কোনও সত্তা অন্যের সাথে সংঘর্ষ হয়, কেবলমাত্র সত্তার অভ্যন্তরীণ যুক্তিই এটি নির্ধারণ করতে পারে যে এটি কতটা ক্ষতিগ্রস্থ হয়েছে এবং এটি "মেয়াদোত্তীর্ণ" হয়েছে কিনা। সুতরাং সংঘর্ষের জন্য লজিক প্রবাহটি অনুসরণ করুন যেখানে আপনার বিশ্বে চারটি সত্ত্বা রয়েছে, A, B, C এবং D. A আমাদের সত্তা আমাদের সাথে সম্পর্কিত।
আমরা বি এর সাথে সংঘর্ষের জন্য এটিকে পরীক্ষা করি There এ ক্ষতি করে 50%।
আমরা সি এর সাথে সংঘর্ষের জন্য এটিকে পরীক্ষা করি There এ ক্ষতি করে 50%। যেহেতু ক্ষয়ক্ষতি 0 পর্যন্ত পৌঁছেছে, এ নির্ধারণ করে যে এটি "মারা গেছে"। এটি তালিকা থেকে নিজেকে সরিয়ে দেয়।
ডি এর সাথে সংঘর্ষের জন্য আমরা এটিকে পরীক্ষা করি no এখানে কোনও সংঘর্ষ হত না, তবে আপনি এতদূর কখনও পাবেন না: আপনি একটি রানটাইম ব্যতিক্রম পাবেন কারণ একটি ট্র্যাভেলাল অপারেশনের মাঝে আপনার সত্তা তালিকাটি পরিবর্তন করা হয়েছে।
উদাহরণ 2: ইভেন্ট সহ
আগের মত একই সেটআপ।
আমরা বি এর সাথে সংঘর্ষের জন্য এটিকে পরীক্ষা করি There এ ক্ষতি করে 50%।
আমরা সি এর সাথে সংঘর্ষের জন্য এটিকে পরীক্ষা করি There এ ক্ষতি করে 50%। যেহেতু ক্ষয়ক্ষতি 0 পর্যন্ত পৌঁছেছে, এ নির্ধারণ করে যে এটি "মারা গেছে"। "আমাকে ASAP সরান" বলার জন্য এটি সত্তা পরিচালনা কোডটিতে একটি ইভেন্ট চালিত করে। সত্তা পরিচালনা কোড ইভেন্টের অংশ হিসাবে প্রেরিত সত্তা রেফারেন্সটি দেখায় এবং সরিয়ে ফেলা সত্তাগুলির একটি তালিকায় সেই উল্লেখটি সঞ্চয় করে stores
ডি এর সাথে সংঘর্ষের জন্য আমরা এটিকে চেক করি no এখানে কোনও সংঘর্ষ নেই এবং চেকটি ঠিকঠাক কাজ করে।
এখন, বর্তমান গেম লুপ পুনরাবৃত্তির একেবারে শেষে , সরিয়ে নেওয়া সত্তার তালিকাটি চালান এবং এগুলির প্রত্যেককে আপনার প্রধান সত্ত্বা তালিকা থেকে সরিয়ে দিন।
আপনি দেখতে পাচ্ছেন কীভাবে এটি সমস্যাটি পুরোপুরি এড়িয়ে চলে। আপনার ইভেন্টগুলি ব্যবহার করার দরকার নেই, আপনি সিগন্যাল বা অন্য কিছু ব্যবহার করতে পারেন, তবে নীতিটি হ'ল - যতক্ষণ না আপনি নিরাপদে এটি করতে পারেন ততক্ষণ সত্তা সরিয়ে ফেলবেন না। এই পদ্ধতির ফ্লিপসাইড, জিনিসগুলি পরিষ্কার এবং সুশৃঙ্খল রাখতে সংস্থাগুলির সাথে যোগ করার জন্য একই কাজ করছে - নিশ্চিত হয়ে নিন যে আপনি তাদের কাছে উল্লেখ রেখে চলেছেন এবং কেবলমাত্র পরবর্তী গেম লুপ পুনরাবৃত্তির শুরুতে এগুলি যুক্ত করুন।
শেষ অবধি, আপনার মুছে ফেলা এবং আপনার যোগ করার তালিকাগুলি উভয়ই ফ্লাশ করতে ভুলবেন না, প্রতিবার যখন আপনি এগুলি আপনার মূল সত্তার তালিকায় সংযোজন / অপসারণ করতে ব্যবহার করেন।
পুনশ্চ. পৃথক অপসারণ করতে আপনার মূল তালিকাটি খুঁজতে ভয় পাবেন না। এটি সত্তা পরিচালনার অংশ এবং পার্সেল, এবং এমনকি বৃহত তালিকাগুলি খুব দ্রুত গতিতে চলেছে - সর্বোপরি, তারা এ জন্য ইঞ্জিনিয়ারড're