Headsets (#2023)
* add headset component * add basic headset logic * fix formatting in listening component, add dependency to headset * test function for headset * implement headset as listener * ANNIHILATES ListeningComponent, refactor of radio/listener sys * basic headset functionality * rename RadioComponent to HandheldRadioComponent * change channel to list of channels * basic headset implementation complete * message now always excludes ';' * add radio color; state channel freq. and source name * undocumented game breaking bug commit (DO NOT RESEARCH) actually just changes frequency from 1457 (what signalers are set to by default) to 1459, the actual frequency for common * Add more sprites * Reorganizes * Added job headsets * Adds headset as an ignored component * Jobs now spawn with headsets * remove system.tracing * Catchup commits * Add headset property serialization * Turn GetChannels into a property * ListenRange property and serializatioon * Adjust interfaces * Address reviews * Cleanup * Address reviews * Update rsi * Fix licenses and copyright * Fix missing textures * Merge fixes * Move headset textures from objects/devices to clothing/ears * Fix rsi state names and add equipped states * Fix headsets not working * Add missing brackets to channel number in chat * heck * Fix broken rsi * Fix radio id and names * Put quotes around headset messages * Fix method names * Fix handheld radios * Fix capitalization when using radio channels and trim * Remove unnecessary dependency * Indent that * Separate this part * Goodbye icons * Implement IActivate in HandheldRadioComponent * Add examine tooltip to radios and headsets * Rename IListen methods Co-authored-by: Bright <nsmoak10@yahoo.com> Co-authored-by: Swept <jamesurquhartwebb@gmail.com> Co-authored-by: Bright0 <55061890+Bright0@users.noreply.github.com>
This commit is contained in:
@@ -1,14 +1,21 @@
|
||||
using Robust.Shared.Interfaces.GameObjects;
|
||||
using Robust.Shared.Map;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Content.Server.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for objects such as radios meant to have an effect when speech is heard.
|
||||
/// Interface for objects such as radios meant to have an effect when speech is
|
||||
/// heard. Requires component reference.
|
||||
/// </summary>
|
||||
public interface IListen
|
||||
public interface IListen : IComponent
|
||||
{
|
||||
void HeardSpeech(string speech, IEntity source);
|
||||
int ListenRange { get; }
|
||||
|
||||
int GetListenRange();
|
||||
bool CanListen(string message, IEntity source);
|
||||
|
||||
void Listen(string message, IEntity speaker);
|
||||
}
|
||||
}
|
||||
|
||||
16
Content.Server/Interfaces/IRadio.cs
Normal file
16
Content.Server/Interfaces/IRadio.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using Robust.Shared.Interfaces.GameObjects;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Content.Server.Interfaces
|
||||
{
|
||||
public interface IRadio
|
||||
{
|
||||
IReadOnlyList<int> Channels { get; }
|
||||
|
||||
void Receive(string message, int channel, IEntity speaker);
|
||||
|
||||
void Broadcast(string message, IEntity speaker);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user