Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new Player event to allow plugins to observe/modify (or deny) hitmarker display before it is sent to a client.
Changes:
- Introduces
Handlers.Player.ShowingHitMarkerand its invokerOnShowingHitMarker. - Adds a Harmony transpiler patch for
Hitmarker.SendHitmarkerDirectly(...)to raise the event and apply modified args / cancellation. - Adds
ShowingHitMarkerEventArgscarrying size, audio flag, hitmarker type, and a deniableIsAllowed.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
EXILED/Exiled.Events/Patches/Events/Player/ShowingHitMarker.cs |
Hooks Hitmarker.SendHitmarkerDirectly to invoke the new event and optionally block/override hitmarker parameters. |
EXILED/Exiled.Events/Handlers/Player.cs |
Exposes the new ShowingHitMarker event and adds the corresponding OnShowingHitMarker invoker. |
EXILED/Exiled.Events/EventArgs/Player/ShowingHitMarkerEventArgs.cs |
Defines the event args used by the new event, including overridable parameters and IsAllowed. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| /// Contains all information before a hitmarker is show to player. | ||
| /// </summary> |
There was a problem hiding this comment.
The XML doc summary has grammatical errors ("is show to player"); please correct to something like "...before a hitmarker is shown to a player." so generated docs/readers are clear.
| /// Gets or sets the player that the hitmarker is being shown to. | ||
| /// </summary> | ||
| public Player Player { get; set; } |
There was a problem hiding this comment.
Player is settable here, but the patch only uses the original ReferenceHub argument and does not read back ev.Player, so changing ev.Player in handlers will have no effect and may mislead API consumers. Consider making Player get-only (like most other IPlayerEvent args, e.g. ChangedItemEventArgs / HitEventArgs) or updating the patch/API to support redirecting if that is intended.
| /// Gets or sets the player that the hitmarker is being shown to. | |
| /// </summary> | |
| public Player Player { get; set; } | |
| /// Gets the player that the hitmarker is being shown to. | |
| /// </summary> | |
| public Player Player { get; private set; } |
| public bool ShouldPlayAudio { get; set; } | ||
|
|
||
| /// <summary> | ||
| /// Gets or sets a the type of the hitmarker. |
There was a problem hiding this comment.
Minor grammar issue in the property XML doc ("a the type"). Please fix to "the type" to avoid typos in generated documentation.
| /// Gets or sets a the type of the hitmarker. | |
| /// Gets or sets the type of the hitmarker. |
|
why copilot is here bruh ? |
Idk he want to cook XD |
|
@louis1706 if you remember Joker's new plans for Exiled 10, I dont think we should implement this event as a transpiler considering the LabAPI equivalent already exists. I've just pinged Joker for some more clarification on whether we should implement this event as a wrapper anyways but we'll have to wait for his response |
Description
Describe the changes
Added new event ShowingHitMarker
What is the current behavior? (You can also link to an open issue here)
What is the new behavior? (if this is a feature change)
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information:
Types of changes
Submission checklist
Patches (if there are any changes related to Harmony patches)
Other