// This code is part of the Fungus library (http://fungusgames.com) maintained by Chris Gregan (http://twitter.com/gofungus). // It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE) using UnityEngine; using System.Collections; namespace Fungus { /// /// The block will execute when the game starts playing. /// [EventHandlerInfo("", "Game Started", "The block will execute when the game starts playing.")] [AddComponentMenu("")] public class GameStarted : EventHandler { [Tooltip("Wait for a number of frames after startup before executing the Block. Can help fix startup order issues.")] [SerializeField] protected int waitForFrames = 1; protected override void UnityStart() { base.UnityStart(); StartCoroutine(GameStartCoroutine()); } protected virtual IEnumerator GameStartCoroutine() { int frameCount = waitForFrames; while (frameCount > 0) { yield return new WaitForEndOfFrame(); frameCount--; } ExecuteBlock(); } } }