void OnValidate() { if (disableFrameTrigger == null) { disableFrameTrigger = GetComponent <GlobalMagicTrigger>(); } if (disableFrameTrigger == null) { disableFrameTrigger = AddGlobalEnableTrigger(); disableFrameTrigger.enabled = true; } disableFrameTrigger.OnMagicTriggerStayOneTime += TurnOffFrame; }
GlobalMagicTrigger AddGlobalEnableTrigger() { GlobalMagicTrigger trigger = gameObject.AddComponent <GlobalMagicTrigger>(); // Add condition TriggerCondition condition = new TriggerCondition { triggerCondition = TriggerConditionType.RendererNotVisible, targetRenderer = GetComponent <Renderer>() }; trigger.triggerConditions.Add(condition); // Add action TriggerAction disableSelfScriptAciton = new TriggerAction { actionTiming = ActionTiming.OnceWhileOnStay, action = TriggerActionType.DisableSelfScript }; trigger.actionsToTrigger.Add(disableSelfScriptAciton); return(trigger); }