एकता में, हमारे पास कोराउटीन के लिए कुछ विशेष चीजें हैं जो सामान्य सी # के लिए अतिरिक्त हैं।
उदाहरण के लिए, हम उपयोग कर सकते हैं
yield return WaitForSeconds(5.f);
जारी रखने से पहले 5 मिनट प्रतीक्षा करें।
क्या करें yield return false;
और क्या न yield return true;
करें?
if (0)
या नहीं कर सकते if (null)
।
yield return 0
काम करता है; जाहिरा तौर पर एमएलएम ने समझाया कि कारण
yield
कीवर्ड कम से कम C # 2.0 के आसपास रहा है। सभी यूनिटी इसे कोरटाइन कहती है और जेनरेट किए गए इटरेटर को संभालती है और इसमें दिए गए मान इस तरह से दिए जाते हैं कि आप अपने कोड के निष्पादन में गैर-अवरोधक देरी पैदा कर सकते हैं।
WaitForSeconds
घोषित नहीं किया जाता है। जैसे ही आप एक विधि घोषित करते हैं, जो WaitForSeconds
एक फ्लोट तर्क लेती है और यह आपके द्वारा लागू किए जा रहे गणना के तत्व प्रकार को वापस करता है, यह फिर से संकलित होगा। इसलिए, yield
एकता के लिए विशेष नहीं है। यदि कुछ भी हो, तो WaitForSeconds
विधि एकता के लिए विशेष है, लेकिन फिर भी, यह भाषा C # का विस्तार नहीं करता है , लेकिन बस एक अतिरिक्त विधि है जिसे मानक C # का उपयोग करके लिखा गया था।
yield return true
कुछ खास है। लेकिनyield return null
बस एक फ्रेम के लिए रुक जाता है, इसलिए मुझे संदेह है किyield return false
इसका सटीक प्रभाव समान है (yield return 0
क्योंकि 0 झूठे अशक्त सब हुड के नीचे समान हैं)