using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Fungus { /// /// The block will execute every chosen Update, or FixedUpdate or LateUpdate. /// [EventHandlerInfo("MonoBehaviour", "Update", "The block will execute every chosen Update, or FixedUpdate or LateUpdate.")] [AddComponentMenu("")] public class UpdateTick : EventHandler { [System.Flags] public enum UpdateMessageFlags { Update = 1 << 0, FixedUpdate = 1 << 1, LateUpdate = 1 << 2, } [Tooltip("Which of the Update messages to trigger on.")] [SerializeField] [EnumFlag] protected UpdateMessageFlags FireOn = UpdateMessageFlags.Update; private void Update() { if((FireOn & UpdateMessageFlags.Update) != 0) { ExecuteBlock(); } } private void FixedUpdate() { if ((FireOn & UpdateMessageFlags.FixedUpdate) != 0) { ExecuteBlock(); } } private void LateUpdate() { if ((FireOn & UpdateMessageFlags.LateUpdate) != 0) { ExecuteBlock(); } } } }