गणनाकार संकलक आपके लिए बनाए गए दोहराया जा रहा है हो सकता है। एक बार।
कंपाइलर एक कक्षा उत्पन्न करेगा जो आईन्यूमेरेटर लागू करता है, जिसमें MoveNext() फ़ंक्शन और वर्तमान प्रॉपर्टी है। कक्षा में सभी सदस्यों को कॉल के बीच समारोह की स्थिति को स्टोर करने की आवश्यकता होगी। सटीक विवरण "कंपाइलर जादू" माना जा सकता है।
इस जेनरेटेड क्लास का ऑब्जेक्ट, यूनिटी 3 डी इंजन द्वारा संभाला और प्रबंधित किया जाएगा। यूनिटी 3 डी इंजन हर फ्रेम में एक बार प्रत्येक सक्रिय कोरआउट पर MoveNext() को कॉल करेगा (जब तक कि अन्यथा निर्देश न दिया जाए)।
इसने यूनिटी 3 डी प्रोग्रामर को एक समय में एक फ्रेम को चलाने वाली स्क्रिप्ट लिखने में सक्षम बनाया। सी # कंपाइलर जादू और यूनिटी 3 डी इंजन जादू का एक संयोजन बहुत शक्तिशाली-लेकिन-उपयोग में आसान स्क्रिप्टिंग में परिणाम देता है।
अपने प्रश्न का उत्तर देने के लिए: आपके फ़ंक्शन में कोड एक बार निष्पादित किया जाएगा, लेकिन यह 'उपज वापसी' कथन पर रोक देगा।
ऊपर बताए अनुसार, एक विशेष ऑब्जेक्ट जो आईएन्यूमेरेटर लागू करता है सी # कंपाइलर द्वारा बनाया गया है।
MoveNext करने के लिए पहली कॉल पर(), अपने कार्य एक विस्फोट बनाता है और "नया WaitForSeconds (1.5f)" के लिए वर्तमान वस्तु तय करता है।
यूनिटी 3 डी इंजन इस ऑब्जेक्ट का निरीक्षण करता है, यह देखता है कि यह विशेष वर्ग "वेटफॉरसेकंड्स" का एक उदाहरण है, इसलिए कुछ प्रतीक्षा कतार पर गणक को रखता है, और 1.5 सेकंड पास होने तक दूसरे तत्व के लिए नहीं पूछेगा। इस बीच, कई फ्रेम प्रस्तुत किए जाएंगे और विस्फोट खेला जाएगा।
1.5 सेकंड के बाद, एकता कतार से प्रगणक grap, और MoveNext() फिर से फोन होगा। आपके फ़ंक्शन का दूसरा भाग अब निष्पादित होगा, लेकिन दूसरी ऑब्जेक्ट उत्पन्न करने में विफल रहेगा। MoveNext() यह एक नए तत्व है, जो unity3d के संकेत दूर इस प्रगणक फेंकने के लिए है प्राप्त करने में विफल इंगित करने के लिए अवास्तविक लौटाते हैं। कचरा कलेक्टर समय में कुछ बिंदु पर स्मृति को पुनः प्राप्त होगा।
जैसा कि कहा गया है: बहुत सारे कंपाइलर और यूनिटी 3 डी जादू चल रहा है। जब तक आपको याद है कि आपका उपज प्रत्येक उपज रिटर्न स्टेटमेंट पर अगले फ्रेम तक पकड़ पर रखा जाएगा, तो आपको उन विशेष कार्यों से लाभ उठाने के लिए पर्याप्त जानकारी होगी।
प्रश्न शीर्षक अधिक वर्णनात्मक हो सकता है। हालांकि, Google ने अभी भी कीवर्ड उठाए हैं। – ftvs