Пример #1
0
        public TestScene()
        {
            _random = new DotNetRandom();

            MapBuilder builder = new ForestBuilder(64, 64, 0, _random.Next());

            builder.Build();
            _map = builder.Map;
            _fov = new FieldOfView(_map);

            Race playerRace = Engine.Assets.GetAsset <Race>("player");

            _player = new Player(playerRace);
            _map.Add(_player, 32, 32);

            for (int i = 0; i < 10; i++)
            {
                Creature frog = CreatureGenerator.NewCreature("frog");
                _map.Add(frog, _map.RandomEmptyPoint(_random));
            }

            for (int i = 0; i < 10; i++)
            {
                Creature rat = CreatureGenerator.NewCreature("rat");
                _map.Add(rat, _map.RandomEmptyPoint(_random));
            }

            _turnManager = new TurnManager <Creature>(_map.Creatures);

            _tileSelection = Engine.Assets.GetAsset <Sprite>("tile_selection");

            _soundEffectManager.LoadSoundEffect("rain_looped");
            _soundEffectManager.LoadSoundEffect("thunder_01");

            _soundEffectManager.Play("rain_looped", 0.4f, loop: true);

            _camera      = new Camera();
            _camera.Zoom = 1f;

            int w = Engine.Width / 8;
            int h = Engine.Height / 8;

            _camera.Origin = new Vector2(Engine.Width / 2, Engine.Height / 2);
            _camera.X      = _player.RenderX;
            _camera.Y      = _player.RenderY;


            _mapRenderer       = new MapRenderer(_map, _lightingManager, _camera);
            _creatureRenderer  = new CreatureRenderer(_map.Creatures, _map, _lightingManager, _camera);
            _effectsRenderer   = new EffectsRenderer(_map, _lightingManager, _camera);
            _interfaceRenderer = new InterfaceRenderer(_map, _camera);
        }
Пример #2
0
 private void Happen()
 {
     // iterate through interfaces from the item and load them
     if (_item.GetInterfaces().Count > 0)
     {
         foreach (FunctionalInterface f in _item.GetInterfaces())
         {
             InterfaceRenderer.Render(f, _entity.GetCamera());
         }
         return;
     }
     // lets fail here if the code makes it to this point.
     throw new InterfaceRenderException("No interfaces to render!");
 }
Пример #3
0
        public override void Update(float dtime)
        {
            if (InputHandler != null)
            {
                InputHandler.ProcessMessage(MessageType.Update, new UpdateEventArgs {
                    Dtime = dtime
                });
            }

            if (Direct3DVersion == Direct3DVersion.Direct3D10)
            {
                Device10.ClearRenderTargetView(GraphicsDevice.RenderView, clearColor);
            }
            else
            {
                Device9.Clear(SlimDX.Direct3D9.ClearFlags.Target | SlimDX.Direct3D9.ClearFlags.ZBuffer,
                              clearColor, 1.0f, 0);

                Device9.BeginScene();
            }

            InterfaceRenderer.Render(dtime);
            if (pb != null)
            {
                pb.Value += dtime * 10;
                if (pb.Value > 100)
                {
                    pb.Value = 0;
                }

                tt.SetToolTip(pb, "This is a progress bar\n" + (int)(pb.Value) + "/" + pb.MaxValue);
            }

            //if (cb != null && cb.Checked)
            //{
            //    bvr.Begin(InterfaceScene.Camera);
            //    foreach (var v in Manager.Clickables.All)
            //        bvr.Draw(v.CombinedWorldMatrix, v.PickingLocalBounding, Color.Red);
            //    bvr.End();
            //}

            if (Direct3DVersion == Direct3DVersion.Direct3D9)
            {
                Device9.EndScene();
            }

            Application.MainWindow.Text = "Using " + Direct3DVersion + ", " + FPS.ToString() + " fps";
            System.Console.WriteLine(x++ + " : " + x * 2 + " * " + x * 3 + " - " + x * 4 + " s " + x * 5);
        }
Пример #4
0
        public override void Update(float dtime)
        {
            windowsCursor.Position = new Vector2(LocalMousePosition.X, LocalMousePosition.Y);

            Device9.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.FromArgb(1, (int)(0.6 * 255), (int)(0.8 * 255), 255), 1.0f, 0);

            Device9.BeginScene();

            InterfaceRenderer.Render(dtime);
            Application.MainWindow.Text = FPS.ToString();

            Device9.EndScene();

            System.Threading.Thread.Sleep(1000 / 30);
        }
Пример #5
0
 public override void Release()
 {
     InterfaceRenderer.Release(Content);
     base.Release();
 }
Пример #6
0
 protected override void OnResetDevice()
 {
     base.OnResetDevice();
     InterfaceRenderer.OnResetDevice(this);
     System.Windows.Forms.MessageBox.Show("Device reset");
 }
Пример #7
0
 protected override void OnLostDevice()
 {
     base.OnLostDevice();
     InterfaceRenderer.OnLostDevice(Content);
     System.Windows.Forms.MessageBox.Show("Device lost");
 }