private void onTriggerEvent(Gaze_TriggerEventArgs e) { // if sender is the this Behaviour gameObject if ((GameObject)e.Sender == gameObject) { if (e.IsTrigger) { // execute trigger TriggerCount = e.Count; TimeLastTriggered = e.Time; //check if the action should be delayed if (isDelayed) { HandleActionsInTime(() => OnTrigger(), TriggerEventsAndStates.OnTrigger); } else { OnTrigger(); } } else if (e.IsReload) { // execute reload ReloadCount = e.Count; TimeLastReloaded = e.Time; //check if the action should be delayed if (isDelayed) { HandleActionsInTime(() => OnReload(), TriggerEventsAndStates.OnReload); } else { OnReload(); } } else { // initialize trigger autoTriggerMode = e.AutoTriggerMode; ReloadMode = e.ReloadMode; ReloadMaxRepetitions = e.ReloadMaxRepetitions; } } }
/// <summary> /// Initializes a new instance of the <see cref="Gaze.Gaze_TriggerEventArgs"/> class. /// </summary> /// <param name="sender">The sender of the Trigger Event.</param> /// <param name="time">The time at which the Trigger Event happened.</param> /// <param name="isTrigger">Set to <c>true</c> when the trigger has been triggered.</param> /// <param name="isReload">Set to <c>true</c> when the trigger has been reloaded.</param> /// <param name="count">the number of times this trigger has been triggered/reloaded.</param> /// <param name="autoTriggerMode">The auto trigger mode.</param> /// <param name="reloadMode">The reload mode.</param> /// <param name="reloadMaxRepetitions">The maximum number of trigger repetitions.</param> public Gaze_TriggerEventArgs(object sender, float time, bool isTrigger, bool isReload, int count, Gaze_AutoTriggerMode autoTriggerMode, Gaze_ReloadMode reloadMode, int reloadMaxRepetitions) { this.Sender = sender; this.Time = time; this.IsTrigger = isTrigger; this.IsReload = isReload; this.Count = count; this.AutoTriggerMode = autoTriggerMode; this.ReloadMode = reloadMode; this.ReloadMaxRepetitions = reloadMaxRepetitions; }