public void RemoveStatus(ServerStatusEffectsComponent status) { var grid = status.Owner.Transform.GridID; if (!_statuses.TryGetValue(grid, out var statuses)) { return; } statuses.Remove(status); }
public void AddStatus(ServerStatusEffectsComponent status) { var gridId = status.Owner.Transform.GridID; var statuses = _statuses.GetOrNew(gridId); statuses.Add(status); if (_mapManager.TryGetGrid(status.Owner.Transform.GridID, out var grid)) { if (grid.HasGravity) { RemoveWeightless(status); } else { AddWeightless(status); } } }
private void RemoveWeightless(ServerStatusEffectsComponent status) { status.RemoveStatusEffect(StatusEffect.Weightless); }
private void AddWeightless(ServerStatusEffectsComponent status) { status.ChangeStatusEffect(StatusEffect.Weightless, "/Textures/Interface/StatusEffects/Weightless/weightless.png", null); }