/// <summary> /// This replaces all older delegates rather than adding a new one to the list. /// See docs for AddOnTargetsChangedDelegate() /// </summary> /// <param name="del">An OnTargetsChangedDelegate</param> public void SetOnTargetsChangedDelegate(OnTargetsChangedDelegate del) { this.onTargetsChangedDelegates = del; }
/// <summary> /// Removes a OnTargetsChangedDelegate /// See docs for AddOnTargetsChangedDelegate() /// </summary> /// <param name="del">An OnTargetsChangedDelegate</param> public void RemoveOnTargetsChangedDelegate(OnTargetsChangedDelegate del) { this.onTargetsChangedDelegates -= del; }
/// <summary> /// Runs when there is a change to the TargetTracker's target list or when it is set /// to dirty for any reason, commonly to trigger a re-sort. This will run after the /// dirty state or update is handled. /// **This will only allow a delegate to be added once.** /// </summary> /// <param name="del">An OnTargetsChangedDelegate</param> public void AddOnTargetsChangedDelegate(OnTargetsChangedDelegate del) { this.onTargetsChangedDelegates -= del; // Cheap way to ensure unique (add only once) this.onTargetsChangedDelegates += del; }