Пример #1
0
 public override void Initialize()
 {
     base.Initialize();
     _overlay.AddOverlay(new ParallaxOverlay());
     SubscribeLocalEvent <ParallaxComponent, ComponentHandleState>(OnParallaxHandleState);
     _protoManager.PrototypesReloaded += OnReload;
 }
        public override void Initialize()
        {
            base.Initialize();
            SubscribeNetworkEvent <GasOverlayUpdateEvent>(HandleGasOverlayUpdate);
            SubscribeLocalEvent <GridRemovalEvent>(OnGridRemoved);

            _overlay = new GasTileOverlay(this, _resourceCache, ProtoMan, _spriteSys);
            _overlayMan.AddOverlay(_overlay);
        }
    public override void Initialize()
    {
        base.Initialize();

        _overlay = new Overlays.DamageOverlay();
        _overlayManager.AddOverlay(_overlay);

        SubscribeLocalEvent <PlayerAttachedEvent>(OnPlayerAttach);
        SubscribeLocalEvent <PlayerDetachedEvent>(OnPlayerDetach);
        SubscribeLocalEvent <MobStateComponent, ComponentHandleState>(OnMobHandleState);
    }
 private void ApplyOverlay()
 {
     if (CurrentlyControlled && _currentEffect != ScreenEffects.None)
     {
         var overlay = _effectsDictionary[_currentEffect];
         if (_overlayManager.HasOverlay(overlay.ID))
         {
             return;
         }
         _overlayManager.AddOverlay(overlay);
         Logger.InfoS("overlay", $"Changed overlay to {overlay}");
     }
 }
Пример #5
0
        public override void HandleMessage(ComponentMessage message, IComponent component)
        {
            base.HandleMessage(message, component);

            switch (message)
            {
            case PlayerAttachedMsg _:
                if (!_overlayManager.HasOverlay(nameof(GasTileOverlay)))
                {
                    _overlayManager.AddOverlay(new GasTileOverlay());
                }
                break;

            case PlayerDetachedMsg _:
                if (!_overlayManager.HasOverlay(nameof(GasTileOverlay)))
                {
                    _overlayManager.RemoveOverlay(nameof(GasTileOverlay));
                }
                break;
            }
        }
Пример #6
0
    /// <summary>
    ///     Receive explosion preview data and add a client-side explosion preview overlay
    /// </summary>
    /// <param name="msg"></param>
    public override void HandleMessage(EuiMessageBase msg)
    {
        if (msg is not SpawnExplosionEuiMsg.PreviewData data)
        {
            return;
        }

        if (_debugOverlay == null)
        {
            _debugOverlay = new();
            _overlayManager.AddOverlay(_debugOverlay);
        }

        _debugOverlay.Tiles          = data.Explosion.Tiles;
        _debugOverlay.SpaceTiles     = data.Explosion.SpaceTiles;
        _debugOverlay.Intensity      = data.Explosion.Intensity;
        _debugOverlay.Slope          = data.Slope;
        _debugOverlay.TotalIntensity = data.TotalIntensity;
        _debugOverlay.Map            = data.Explosion.Epicenter.MapId;
        _debugOverlay.SpaceMatrix    = data.Explosion.SpaceMatrix;
        _debugOverlay.SpaceTileSize  = data.Explosion.SpaceTileSize;
    }
Пример #7
0
 private void OnPlayerAttached(EntityUid uid, DrunkComponent component, PlayerAttachedEvent args)
 {
     _overlayMan.AddOverlay(_overlay);
 }
Пример #8
0
 private void OnPlayerAttached(EntityUid uid, SeeingRainbowsComponent component, PlayerAttachedEvent args)
 {
     _overlayMan.AddOverlay(_overlay);
 }