Пример #1
0
 public virtual void Update(DemoTime time)
 {
     if (!_enabled)
     {
         return;
     }
 }
Пример #2
0
        protected override void Draw(DemoTime time)
        {
            base.Draw(time);

            Device.ClearRenderTargetView(BackBufferView, new Color4(1, 0.1f, 0.1f, 0.1f));

            // Make the text boucing on the screen limits
            if ((fontDimension.Right + xDir) > Config.Width)
            {
                xDir = -1;
            }
            else if ((fontDimension.Left + xDir) <= 0)
            {
                xDir = 1;
            }

            if ((fontDimension.Bottom + yDir) > Config.Height)
            {
                yDir = -1;
            }
            else if ((fontDimension.Top + yDir) <= 0)
            {
                yDir = 1;
            }

            fontDimension.Left   += (int)xDir;
            fontDimension.Top    += (int)yDir;
            fontDimension.Bottom += (int)yDir;
            fontDimension.Right  += (int)xDir;

            // Draw the text
            font.DrawText(null, DisplayText, fontDimension, FontDrawFlags.Center | FontDrawFlags.VerticalCenter, new Color4(1, 1, 1, 1));
        }
Пример #3
0
        protected override void Draw(DemoTime time)
        {
            base.Draw(time);

            if (gameState.State == EGameState.MainMenu)
            {
                mainMenu.Draw(time);
                return;
            }

            if (gameState.State == EGameState.Game)
            {
                base.Draw(time);
                RenderTarget2D.Clear(Color4.Black);

                if (time.ElapseTime < 2)
                {
                    RenderTarget2D.DrawBitmap(_infoGamePanel,
                                              new SharpDX.RectangleF(RESOLUTION.Width / 2 - _infoGamePanel.Size.Width / 2, RESOLUTION.Height / 2 - _infoGamePanel.Size.Height / 2, _infoGamePanel.Size.Width, _infoGamePanel.Size.Height),
                                              1.0f, BitmapInterpolationMode.Linear);
                }

                BuildingsFactory.Draw(time);
                MobsFactory.Draw(time);
                _myCharacter.Draw(time);

                GameInterface.Draw(time);
                _timeLastDraw = time.ElapseTime;

                return;
            }
        }
Пример #4
0
        protected override void Draw(DemoTime time)
        {
            base.Draw(time);

            // Draw the TextLayout
            RenderTarget2D.DrawBitmap(_bitmap, 1.0f, BitmapInterpolationMode.Linear);
        }
Пример #5
0
        protected override void Draw(DemoTime time)
        {
            base.Draw(time);

            // Draw the TextLayout
            RenderTarget2D.DrawTextLayout(new Vector2(0, 0), TextLayout, SceneColorBrush, DrawTextOptions.None);
        }
Пример #6
0
        protected override void Draw(DemoTime time)
        {
            base.Draw(time);

            // Draw the TextLayout
            RenderTarget2D.DrawGeometry(TesselatedGeometry, SceneColorBrush, 1, null);
        }
Пример #7
0
        protected override void Draw(DemoTime time)
        {
            var tickStart = CurrentTimeMillis();

            base.Draw(time);

            // Draw the TextLayout
            //RenderTarget2D.DrawBitmap(_bitmap, 1.0f, Direct2D1.BitmapInterpolationMode.Linear);

            if (GameSparker == null)
            {
                GameSparker = GameSparker.Create();
            }

            GameSparker.GameTick();

            var delay = FrameDelay - (int)(CurrentTimeMillis() - tickStart);

            if (delay > 0)
            {
//                Console.WriteLine(delay);
                Thread.Sleep(delay);
            }

            //RenderTarget2D.FillEllipse(new D2D.Ellipse(new Vector2(250, 525), 100, 100), new D2D.SolidColorBrush(RenderTarget2D, new RawColor4(0,1,0,1)));
        }
Пример #8
0
        protected override void Draw(DemoTime time)
        {
            base.Draw(time);

            RenderTarget2D.Clear(Color.White);

            RenderTarget2D.DrawText("Hello World using DirectWrite!", TextFormat, ClientRectangle, SceneColorBrush);
        }
Пример #9
0
 public override void Update(DemoTime time)
 {
     base.Update(time);
     if (_isArrive || TimeOfDeath(time))
     {
         this.Destroy();
     }
 }
Пример #10
0
 public override void Update(DemoTime time)
 {
     base.Update(time);
     if (_isArrive)
     {
         var rand = new Random();
         MoveTo(new Vector2(rand.Next(0, 1200), rand.Next(0, 900)));
     }
 }
Пример #11
0
        public override void Draw(DemoTime time)
        {
            base.Draw(time);

            foreach (var mob in _mobs)
            {
                mob.Draw(time);
            }
        }
Пример #12
0
        public void Draw(DemoTime time)
        {
            base.Draw(time);

            _towers.ForEach(delegate(CommonTower Tower)
            {
                Tower.Draw(time);
            });
        }
Пример #13
0
        public override void Update(DemoTime time)
        {
            base.Update(time);

            _bullets.ForEach(delegate(CommonBullet Bullet)
            {
                Bullet.Update(time);
            });
        }
Пример #14
0
 public void Draw(DemoTime time)
 {
     _chat.Draw(time);
     _infoTower.Draw(time);
     _infoHero.Draw(time);
     if (_infoStats != null)
     {
         _infoStats.Draw(time);
     }
 }
Пример #15
0
 public void Update(DemoTime time)
 {
     _chat.Update(time);
     _infoTower.Update(time);
     _infoHero.Update(time);
     if (_infoStats != null)
     {
         _infoStats.Update(time);
     }
 }
Пример #16
0
        protected override void Draw(DemoTime time)
        {
            base.Draw(time);

            if (firstDraw)
            {
                firstDraw = false;
                _calendar.Start();
            }

            Thread.Sleep(100);
        }
Пример #17
0
 public void Update(DemoTime time)
 {
     if (time.ElapseTime - _lastUpdateMoney > _timeUpMoney)
     {
         _lastUpdateMoney = time.ElapseTime;
         _money++;
     }
     if (time.ElapseTime - _lastUpdateWood > _timeUpWood)
     {
         _lastUpdateWood = time.ElapseTime;
         _woods++;
     }
 }
Пример #18
0
        public void Update(DemoTime time, Vector2 position)
        {
            base.Update(time);

            _towers.ForEach(delegate(CommonTower Tower)
            {
                Tower.Update(time);
            });

            _towers.ForEach(delegate(CommonTower Tower)
            {
                Tower.Fire(time, position);
            });
        }
Пример #19
0
        public virtual void Draw(DemoTime time)
        {
            if (!_enabled)
            {
                return;
            }

            if (RenderTarget2D != null)
            {
                RenderTarget2D.Transform = _resultMatrix;
                RenderTarget2D.DrawBitmap(_bitmap, _target, 1.0f, BitmapInterpolationMode.Linear);
                RenderTarget2D.Transform = Matrix.Identity;
            }
        }
Пример #20
0
        public override void Draw(DemoTime time)
        {
            base.Draw(time);

            if (_drawRange && _bitmapRange != null)
            {
                RenderTarget2D.DrawBitmap(_bitmapRange, new RectangleF(_position.X - _range / 2, Position.Y - _range / 2, _range, _range), 1.0f, BitmapInterpolationMode.Linear);
            }

            _bullets.ForEach(delegate(CommonBullet Bullet)
            {
                Bullet.Draw(time);
            });
        }
Пример #21
0
        public override void Draw(DemoTime time)
        {
            if (!_visible)
            {
                return;
            }

            base.Draw(time);

            // Максимальная ширина блока для текста с учетом отступов
            float width = _size.Width - _margin.Y - _margin.W;

            int step = 0;

            if (_isEnterMessage)
            {
                var message = "Сообщение: " + _enterMessage;
                step += lineInMessage(message, width);
                RenderTarget2D.DrawText(message, _textFormat, new RectangleF(
                                            _position.X - _size.Width / 2 + _margin.W,
                                            _position.Y + _size.Height / 2 - _lineHeight * step - _margin.Z,
                                            width,
                                            _lineHeight), _brush);
            }

            // Если включен ввод текста, шаг уже есть
            for (int i = _messages.Count - 1; i >= 0; i--)
            {
                var message   = _messages[i].Item1 + ": " + _messages[i].Item2;
                var lineCount = lineInMessage(message, width);

                // Условие выхода. Если весь текст не влазиет, то и не показываем
                // TODO Сделать чтобы показывалась та часть. которая еще влазиет
                if ((step + lineCount) * _lineHeight + _margin.X + _margin.Z > _size.Height)
                {
                    break;
                }

                var outRectangle = new RectangleF(_position.X - _size.Width / 2 + _margin.W,
                                                  _position.Y - _size.Height / 2 - _margin.Z + _size.Height - _lineHeight * (step + lineCount),
                                                  width,
                                                  _lineHeight * lineCount);

                RenderTarget2D.DrawText(message, _textFormat, outRectangle, _brush);

                step += lineCount;
            }
        }
Пример #22
0
        public override void Update(DemoTime time)
        {
            base.Update(time);

            if (time.ElapseTime - _lastCreate > 1)
            {
                var newMob = new CommonMob(RenderTarget2D);
                var rand   = new Random();
                newMob.MoveTo(new Vector2(rand.Next(0, 1200), rand.Next(0, 900)));
                _mobs.Add(newMob);
                _lastCreate = time.ElapseTime;
            }

            foreach (var mob in _mobs)
            {
                mob.Update(time);
            }
        }
Пример #23
0
        public override void Update(DemoTime time)
        {
            base.Update(time);

            if (_setRedBrush)
            {
                _isRedBrush   = true;
                _setRedBrush  = false;
                _timeRedBrush = time.ElapseTime;
            }

            if (_isRedBrush)
            {
                if (time.ElapseTime - _timeRedBrush > 2)
                {
                    _isRedBrush = false;
                }
            }
        }
Пример #24
0
        protected override void Draw(DemoTime time)
        {
            var now = DateTime.Now;

            // Don't over-render, it costs CPU and that's energy
            var delta = (int)(now - lastFrame).TotalMilliseconds;

            if (delta < msPerFrame)
            {
                System.Threading.Thread.Sleep(msPerFrame - delta);
            }
            lastFrame = now;

            base.Draw(time);

            // Update WorldViewProj Matrix
            var viewProj      = Matrix.Multiply(view, proj);
            var worldViewProj = Matrix.Translation(new Vector3(0, (float)(instruments.pitch * 0.5 / Math.PI), 0)) * Matrix.RotationZ(instruments.roll) * viewProj;

            // Matrix.RotationX(time) * Matrix.RotationY(time * 2) * Matrix.RotationZ(time * .7f)
            worldViewProj.Transpose();
            context.UpdateSubresource(ref worldViewProj, contantBuffer);

//            var attitude = adhrs.RawRead();
            if (attitude.Count() > 0)
            {
                lastRead = now;
                instruments.SetFromAhrs(attitude);
            }

            if ((now - lastRead).TotalSeconds > 1.2)
            {
                RenderTarget2D.DrawLine(new Vector2(0, 0), new Vector2(Stock.ClientRectangle.Width, Stock.ClientRectangle.Height), errorBrush, 3.0f);
                RenderTarget2D.DrawLine(new Vector2(Stock.ClientRectangle.Width, 0), new Vector2(0, Stock.ClientRectangle.Height), errorBrush, 3.0f);
            }

            context.Draw(36, 0);

            instruments.Draw(RenderTarget2D, instrumentColorBrush);
        }
Пример #25
0
        public override void Draw(DemoTime time)
        {
            if (!_visible)
            {
                return;
            }

            base.Draw(time);

            var start = getPosition(Vector2.Zero);
            var size  = getSize();

            RenderTarget2D.DrawText("ID героя: " + 0, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight));
            RenderTarget2D.DrawText("Имя героя: " + _playerName, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight * 2));
            RenderTarget2D.DrawText("Тип героя: " + 0, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight * 3));
            RenderTarget2D.DrawText("Позиция: " + _playerPosition, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight * 4));
            RenderTarget2D.DrawText("Скорость перемещения: " + _playerSpeed, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
        }
Пример #26
0
        public override void Draw(DemoTime time)
        {
            if (!_visible || GameStats == null)
            {
                return;
            }

            base.Draw(time);

            var drawBrush = _brush;

            if (_isRedBrush)
            {
                drawBrush = _brushRed;
            }
            var start = getPosition(Vector2.Zero);
            var size  = getSize();

            RenderTarget2D.DrawText("Деньги: " + GameStats.Money, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), drawBrush);
            start = getPosition(new Vector2(0, _lineHeight));
            RenderTarget2D.DrawText("Дерево: " + GameStats.Woods, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), drawBrush);
        }
Пример #27
0
 public virtual void Fire(DemoTime time, Vector2 position)
 {
     // TODO _range / 2 - magic!?
     if (Math.Abs(time.ElapseTime - _lastFire) > 1.0f / _speedFire && Helpers.InRange(_position, position, _range / 2))
     {
         CommonBullet bullet = null;
         if (_bulletType == EBullet.FastBullet)
         {
             bullet = new FastBullet(RenderTarget2D, _position, time);
         }
         else
         {
             bullet = new CommonBullet(RenderTarget2D, _position, time);
         }
         if (bullet != null)
         {
             bullet.MoveTo(position);
             _bullets.Add(bullet);
         }
         _lastFire = time.ElapseTime;
     }
 }
Пример #28
0
        public override void Draw(DemoTime time)
        {
            if (!_visible)
            {
                return;
            }

            base.Draw(time);

            var start = getPosition(Vector2.Zero);
            var size  = getSize();

            RenderTarget2D.DrawText("ID башни: " + _towerId, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight));
            RenderTarget2D.DrawText("Тип башни: " + _towerType, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight * 2));
            RenderTarget2D.DrawText("Позиция: " + _towerPosition, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight * 3));
            RenderTarget2D.DrawText("Радиус: " + _towerRange, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
            start = getPosition(new Vector2(0, _lineHeight * 4));
            RenderTarget2D.DrawText("Скорость: " + _towerFireRate, _textFormat, new RectangleF(start.X, start.Y, size.Width, size.Height), _brush);
        }
Пример #29
0
        protected override void Update(DemoTime time)
        {
            base.Update(time);

            if (gameState.State == EGameState.MainMenu)
            {
                mainMenu.Update(time);
                return;
            }

            if (gameState.State == EGameState.Game)
            {
                BuildingsFactory.Update(time, _myCharacter.Position);
                _myCharacter.Update(time);
                _timeLastUpdate = time.ElapseTime;

                GameInterface.Update(time);
                GameStats.Update(time);
                MobsFactory.Update(time);

                return;
            }
        }
Пример #30
0
        public override void Update(DemoTime demoTime, KeyboardState key)
        {
            var player_01 = Tanks.Where(row => row.Name == "P_01").FirstOrDefault();

            if (key.IsPressed(Key.Left))
            {
                player_01.Move(-GlobalSpeed * player_01.Speed, 0, FormBoxRange);
            }

            if (key.IsPressed(Key.Up))
            {
                player_01.Move(0, -GlobalSpeed * player_01.Speed, FormBoxRange);
            }

            if (key.IsPressed(Key.Right))
            {
                player_01.Move(GlobalSpeed * player_01.Speed, 0, FormBoxRange);
            }

            if (key.IsPressed(Key.Down))
            {
                player_01.Move(0, GlobalSpeed * player_01.Speed, FormBoxRange);
            }
        }