Example #1
0
        public void RemoveStatus(ServerStatusEffectsComponent status)
        {
            var grid = status.Owner.Transform.GridID;

            if (!_statuses.TryGetValue(grid, out var statuses))
            {
                return;
            }

            statuses.Remove(status);
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
 private void RemoveWeightless(ServerStatusEffectsComponent status)
 {
     status.RemoveStatusEffect(StatusEffect.Weightless);
 }
Example #4
0
 private void AddWeightless(ServerStatusEffectsComponent status)
 {
     status.ChangeStatusEffect(StatusEffect.Weightless, "/Textures/Interface/StatusEffects/Weightless/weightless.png", null);
 }