* Added Gloves of North Star, no sprite or talking yet... * Added sprites for the gloves of the north star... * Replaced more placeholder sprites for northstar gloves... * Added gloves of the north star to uplink... * Added speech on hit, not yet configureable * Not functional yet, but a step in the right direction I hope... * IT WORKS!! * Licensing and cleanup * Reduced attack speed, changed from chat to popup, added some admin logging. It was causing too much adminlog spam otherwise * Reorganized some files, final build?? * Changed the adminlog type from Verb to new type ItemConfigure * More cleanup, fix sprite reference maybe * Keronshb's suggestions, fixed some stuff, made hit sound use the meaty punch sfx * Adds support for hiding speak/whisper/emote from adminlogs, makes northstar speak again! * Some file shuffling, some of Keronshb's requests. Might appear a bit funky in github because vscode kept duplicating files for some reason and I had to delete them * Made it work with the latest changes on Master * Final? cleanup, upped dmg to 8, made ui not activate on activateinhand, instead you need to right click * Set value to 0 credits, that's all * Well that was much easier than I made it out to be. Now you can only activate the gloves with right click, no more mispredicts. * Update MeleeWeaponSystem.cs Iunno why this got changed in the first place, but I'm changin it back * emptycommit * emptycommit * The tiny fixening
57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
using Robust.Client.GameObjects;
|
|
using Content.Shared.Speech.Components;
|
|
|
|
namespace Content.Client.Weapons.Melee.UI;
|
|
|
|
/// <summary>
|
|
/// Initializes a <see cref="MeleeSpeechWindow"/> and updates it when new server messages are received.
|
|
/// </summary>
|
|
public sealed class MeleeSpeechBoundUserInterface : BoundUserInterface
|
|
{
|
|
private MeleeSpeechWindow? _window;
|
|
|
|
public MeleeSpeechBoundUserInterface(ClientUserInterfaceComponent owner, Enum uiKey) : base(owner, uiKey)
|
|
{
|
|
}
|
|
|
|
protected override void Open()
|
|
{
|
|
base.Open();
|
|
|
|
_window = new MeleeSpeechWindow();
|
|
if (State != null)
|
|
UpdateState(State);
|
|
|
|
_window.OpenCentered();
|
|
|
|
_window.OnClose += Close;
|
|
_window.OnBattlecryEntered += OnBattlecryChanged;
|
|
}
|
|
|
|
|
|
private void OnBattlecryChanged(string newBattlecry)
|
|
{
|
|
SendMessage(new MeleeSpeechBattlecryChangedMessage(newBattlecry));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Update the UI state based on server-sent info
|
|
/// </summary>
|
|
/// <param name="state"></param>
|
|
protected override void UpdateState(BoundUserInterfaceState state)
|
|
{
|
|
base.UpdateState(state);
|
|
if (_window == null || state is not MeleeSpeechBoundUserInterfaceState cast)
|
|
return;
|
|
|
|
_window.SetCurrentBattlecry(cast.CurrentBattlecry);
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
base.Dispose(disposing);
|
|
if (!disposing) return;
|
|
_window?.Dispose();
|
|
}
|
|
}
|