randomize iconSmoothing (#28158)

* randomize iconSmoothing

* Revert "randomize iconSmoothing"

This reverts commit 094356f975737c0af24ce39d849aec7852b9af6e.

* try 2

* trying work with client-server communication

* still dont work

* Tayrtahn good suggestion

* remove outdated code

* Fix!

* move data to Appearance

* Update RandomIconSmoothComponent.cs
This commit is contained in:
Ed
2024-07-19 11:13:35 +03:00
committed by GitHub
parent 6005a9f4cb
commit d6e0114126
16 changed files with 165 additions and 26 deletions

View File

@@ -0,0 +1,29 @@
using Content.Shared.IconSmoothing;
using Robust.Client.GameObjects;
namespace Content.Client.IconSmoothing;
public sealed class ClientRandomIconSmoothSystem : SharedRandomIconSmoothSystem
{
[Dependency] private readonly IconSmoothSystem _iconSmooth = default!;
[Dependency] private readonly AppearanceSystem _appearance = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<RandomIconSmoothComponent, AppearanceChangeEvent>(OnAppearanceChange);
}
private void OnAppearanceChange(Entity<RandomIconSmoothComponent> ent, ref AppearanceChangeEvent args)
{
if (!TryComp<IconSmoothComponent>(ent, out var smooth))
return;
if (!_appearance.TryGetData<string>(ent, RandomIconSmoothState.State, out var state, args.Component))
return;
smooth.StateBase = state;
_iconSmooth.SetStateBase(ent, smooth, state);
}
}