Remove IMap / IMapGrid comps (#3434)

This commit is contained in:
metalgearsloth
2022-11-04 10:12:36 +11:00
committed by GitHub
parent adcdb9f736
commit 4521dc37f5
29 changed files with 229 additions and 145 deletions
@@ -0,0 +1,44 @@
using System;
using Robust.Shared.GameStates;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Maths;
using Robust.Shared.Serialization;
namespace Robust.Shared.GameObjects;
public abstract partial class SharedMapSystem
{
public void SetAmbientLight(MapId mapId, Color color)
{
var mapComp = EnsureComp<MapLightComponent>(MapManager.GetMapEntityId(mapId));
if (mapComp.AmbientLightColor.Equals(color))
return;
mapComp.AmbientLightColor = color;
Dirty(mapComp);
}
private void OnMapLightGetState(EntityUid uid, MapLightComponent component, ref ComponentGetState args)
{
args.State = new MapLightComponentState()
{
AmbientLightColor = component.AmbientLightColor,
};
}
private void OnMapLightHandleState(EntityUid uid, MapLightComponent component, ref ComponentHandleState args)
{
if (args.Current is not MapLightComponentState state)
return;
component.AmbientLightColor = state.AmbientLightColor;
}
[Serializable, NetSerializable]
private sealed class MapLightComponentState : ComponentState
{
public Color AmbientLightColor;
}
}