Пример #1
0
        private void SidePulseRender()
        {
            if (!_pulseIncrease && _pulseCounter-- <= 0)
            {
                _pulseIncrease = true;
                _pulseCounter  = 0;
            }
            else if (_pulseIncrease && _pulseCounter++ >= 9)
            {
                _pulseIncrease = false;
                _pulseCounter  = 9;
            }

            foreach (var key in RealSideStates)
            {
                var             side    = key.Key;
                var             enabled = key.Value.Redirected;
                MyEntitySubpart part;
                if (ShellActive.TryGetSubpart(Session.Instance.ShieldShuntedSides[side], out part))
                {
                    if (enabled)
                    {
                        part.Render.Transparency = _pulseCounter * 0.1f;
                        part.Render.UpdateTransparency();
                    }
                }
            }
        }
Пример #2
0
        public void UpdateShieldRedirectVisuals()
        {
            bool shunting = false;

            foreach (var key in RealSideStates)
            {
                var             side    = key.Key;
                var             enabled = key.Value.Redirected;
                MyEntitySubpart part;
                if (ShellActive.TryGetSubpart(Session.Instance.ShieldShuntedSides[side], out part))
                {
                    var shunted = enabled && _toggle;
                    if (shunted)
                    {
                        shunting = true;
                    }

                    RenderingSides[side] = shunted;
                    part.Render.UpdateRenderObject(shunted);
                }
            }
            _sidePulsing = shunting;
        }