GrandLarceny.Player.updateVentilation C# (CSharp) Method

updateVentilation() private method

private updateVentilation ( float a_deltaTime ) : void
a_deltaTime float
return void
        private void updateVentilation(float a_deltaTime)
        {
            m_img.setAnimationSpeed(15);
            m_speed = Vector2.Zero;
            m_gravity = 0;
            if (Game.getInstance().m_camera.getLayer() == 0)
            {

                if (!m_collidedWithVent)
                {
                    Game.getInstance().m_camera.setLayer(1);
                    m_layer = 0.6995f;
                }
                else
                {
                    m_layer = 0.901f;
                }
                m_cameraPoint.X = 0;
            }
            bool t_wasGoingDown = false;
            if(m_lastVentilationDirection == Direction.Down)
                t_wasGoingDown = true;
            Entity t_currentVent = m_currentVentilation;
            List<Direction> t_list = null;
            foreach (Direction t_direction in m_ventilationDirection)
            {
                t_list = moveDirectionInVentilation(t_direction);
                if (t_list != null)
                {
                    if (t_list.Contains(Direction.Left) && m_ventilationDirection.Contains(Direction.Down) && KeyboardHandler.isKeyPressed(GameState.getDownKey()) && !t_wasGoingDown)
                    {
                        m_currentVentilation = t_currentVent;
                        continue;
                    }
                    break;
                }
            }
            if (t_list != null)
            {
                m_ventilationDirection = t_list;
            }
            if (m_ventilationIdle)
            {
                m_currentVentilationImage = "hero_ventilation_idle";
                if (m_lastVentilationDirection == Direction.Right && KeyboardHandler.isKeyPressed(GameState.getRightKey()) && !KeyboardHandler.isKeyPressed(GameState.getLeftKey()) && ((CollisionRectangle)m_collisionShape).m_xOffset != 0)
                {
                    setSprite(m_currentVentilationImage);
                    m_position.plusXWith(((CollisionRectangle)m_collisionShape).m_xOffset);
                    Game.getInstance().m_camera.getPosition().plusXWith(-((CollisionRectangle)m_collisionShape).m_xOffset);
                    ((CollisionRectangle)m_collisionShape).setOffsetX(0);
                }
                m_lastVentilationDirection = Direction.Right;
                if (((CollisionRectangle)m_collisionShape).m_yOffset != 0)
                {
                    setSprite(m_currentVentilationImage);
                    m_position.plusYWith(((CollisionRectangle)m_collisionShape).m_yOffset);
                    Game.getInstance().m_camera.getPosition().plusYWith(-((CollisionRectangle)m_collisionShape).m_yOffset);
                    ((CollisionRectangle)m_collisionShape).setOffsetY(0);
                }
            }
        }