Files
tbd-station-14/Content.Shared/Whistle/WhistleComponent.cs
Fahasor fa3da1ab82 Whistle for security (second try) (#23945)
* Move Exclamation entity

* Add Whistle Component and Whistle System

* Add BaseWhistle prototype

* Add sound to BaseWhistle

* Add SecurityWhistle prototype

* Add Sprite and Icon to SecurityWhistle

* Add whistleExclamation prototype

* Fix SecurityWhistle prototype

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>

* Add whistles to sec vendingMachine

* Revert "Add sound to BaseWhistle"

This reverts commit 0c2eeab1286fb778ed7a845e59c642f667582a4a.

* Add sounds for BaseWhistle

* Make atributions compact

* Remove unnecessary spaces

* Make WhistleSystem class sealed

* Remove possibility to exclamate one person from WhistleComponent

* Remove delay from WhistleSystem

Increase delay

* Remove unnecessary HashSet

* Try replace Resolve

* Refactor sound emmiting

* Rework spawn of exclamation

* Move WhistleComponent from Server to Shared

* Edit WhistleComponent because of moving

* Move WhistleSystem from Server to Client

* Edit WhistleSystem because of moving

* Add new event

* Add server part of WhistleSystem

* Modify system for prediction

* Add documentation to WhistleComponent

* Revert "Modify system for prediction"

This reverts commit 89abb290571ff47deb5491b0f720f6bde079110b.

* Revert "Add server part of WhistleSystem"

This reverts commit ca52ca081f30fb164f401c1818d08531f02af284.

* Revert "Add new event"

This reverts commit 5ca9694757c94c03ca72d5b2f56f5f23503a3263.

* Move system from client to shared

* Modify whistle system because of moving

* Separate checks and action

* Organize file folders according to conventions

* Make component Networked

* Change trigger component for WhistleSystem

* Put indents betwen methods

* Rework WhistleExclamation prototype

* Change variable name

* Add serializer to WhistleComponent

* Rename one variable

* add predict possibility to Shared

* add Client part of prediction

* Add Server part of prediction

* Increase whistle distance

* Prevent spawn for invisible entities

* WhistleComponent now use file-scoped namespace

* Delete unnecessary part from MakeLoudWhistle

* Add Resolve check

* Delete Server and Client part for prediction

* Make system prediction properly

* Change prediction behaviour

* Fix unexpected error occured

* Avoid using obsolete methods

* Add comments

* Update DataField to make it shorter

* Update size for new size system

* Prevent ping for invisible entities for real now

* Avoid triggering unnecessary debug asserts

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
2024-01-12 01:05:28 -07:00

26 lines
687 B
C#

using Robust.Shared.GameStates;
using Content.Shared.Humanoid;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Prototypes;
namespace Content.Shared.Whistle;
/// <summary>
/// Spawn attached entity for entities in range with <see cref="HumanoidAppearanceComponent"/>.
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class WhistleComponent : Component
{
/// <summary>
/// Entity prototype to spawn
/// </summary>
[DataField]
public EntProtoId Effect = "WhistleExclamation";
/// <summary>
/// Range value.
/// </summary>
[DataField]
public float Distance = 0;
}