示例#1
0
 protected override void InitializeObjects(Loader loader, SharpAudioDevice audioDevice)
 {
     _audioDevice = audioDevice;
     CreatePlayerLoader(loader);
     CreateLevel(loader);
     _wolfCounter.Text = _currentEnemyCount.ToString();
 }
示例#2
0
 public AnimationService(DrawableObject targetObject, SharpAudioDevice audioDevice)
 {
     this.targetObject  = (Character)targetObject;
     slideAnimation     = new SlideAnimation(targetObject);
     backSlideAnimation = new SlideAnimation(targetObject);
     rotationAnimation  = new RotationAnimation(targetObject, "yawRotation");
 }
示例#3
0
 public LevelService(Queue <string> configFiles, ICharacterService characterService, Loader loader, Material stub, InputController controller, SharpAudioDevice device)
 {
     this.configFiles      = configFiles;
     this.characterService = characterService;
     this.loader           = loader;
     this.stub             = stub;
     this.controller       = controller;
     this.device           = device;
     mapServices           = new LinkedList <MapService>();
     mapServices.AddLast(new MapService(characterService, configFiles.Peek(), loader, stub, controller, device));
 }
示例#4
0
        public Game(Scene scene)
        {
            _scene = scene;

            _renderForm              = new RenderForm();
            _renderForm.UserResized += RenderFormResizedCallback;

            _renderForm.MouseDown += (sender, args) =>
            {
                _ui.Press(_inputController.MousePositionX, _inputController.MousePositionY);
            };
            _renderForm.MouseUp += (sender, args) =>
            {
                if (!_ui.Release(_inputController.MousePositionX, _inputController.MousePositionY))
                {
                    Ray ray = Ray.GetPickRay(
                        (int)_inputController.MousePositionX,
                        (int)_inputController.MousePositionY,
                        new ViewportF(
                            _renderForm.ClientRectangle.X,
                            _renderForm.ClientRectangle.Y,
                            _renderForm.ClientRectangle.Width,
                            _renderForm.ClientRectangle.Height,
                            0, 1),
                        _camera.GetViewMatrix() * _camera.GetPojectionMatrix());

                    _inputController.CursorRay = new RayCollision(ray);
                }
            };


            _directX3DGraphics = DirectX3DGraphics.GetInstance(_renderForm);
            _directX2DGraphics = new DirectX2DGraphics(this, _directX3DGraphics);
            _renderer          = new Renderer(_directX3DGraphics, _directX2DGraphics);
            _renderer.CreateConstantBuffers();

            _audioDevice = new SharpAudioDevice();
            _loader      = new Loader(_directX3DGraphics, _renderer.LinearSampler);

            _timeHelper      = new TimeHelper();
            _inputController = InputController.GetInstance(_renderForm);

            _renderForm.GotFocus += (sender, args) =>
            {
                _inputController.ResetAcquired();
            };

            InitializeScene();
        }
        /// <summary>
        /// Constructor. Initialize all objects.
        /// </summary>
        public GameProcess()
        {
            audioDevice           = new SharpAudioDevice();
            renderForm            = new RenderForm("SharpDX");
            renderForm.ClientSize = new Size(1500, 800);

            renderForm.UserResized += RenderFormResizedCallback;
            renderForm.Activated   += RenderFormActivatedCallback;
            renderForm.Deactivate  += RenderFormDeactivateCallback;
            directX3DGraphics       = new DirectX3DGraphics(renderForm);
            renderer = new Renderer(directX3DGraphics);
            renderer.CreateConstantBuffers();
            directX2DGraphics = new DirectX2DGraphics(directX3DGraphics);
            Loader loader = new Loader(directX3DGraphics, directX2DGraphics, renderer, directX2DGraphics.ImagingFactory);

            samplerStates = new SamplerStates(directX3DGraphics);
            timeHelper    = new TimeHelper();

            InitializeTextures(loader);
            renderer.SetWhiteTexture(textures["white.bmp"]);
            loader.StubTexture = textures["white.bmp"];
            materials          = loader.LoadMaterials("Resources\\materials.txt", textures);

            Vector3 initial = new Vector3(105f, 0, -105f);
            Vector4 pos     = new Vector4(0, 0, 0, 0);

            InitHUDResources();
            InitializeLight();

            inputController = new InputController(renderForm);

            mainCharacterService = new MainCharacterService("some", inputController, loader, materials[3], audioDevice);
            Queue <string> files = new Queue <string>();

            files.Enqueue("Resources\\Description\\map1.txt");
            files.Enqueue("Resources\\Description\\map1.txt");
            levelService = new LevelService(files, mainCharacterService, loader, materials[2], inputController, audioDevice);

            cameraService = new CameraService(new Camera(new Vector4(-119.0f, 144.0f, 129.0f, 1.0f)), inputController);

            Vector4 initialPosition = new Vector4(20.5f, 1f, 20.5f, 1);
            Vector4 position        = initialPosition;

            loader = null;
        }
        protected override void InitializeObjects(Loader loader, SharpAudioDevice audioDevice)
        {
            string file = @"Models\T_Rex.fbx";

            _go = loader.LoadGameObjectFromFile(file, Vector3.Zero, new Vector3(0, MathUtil.PiOverTwo, 0));
            Game3DObject g1 = loader.LoadGameObjectFromFile(file, new Vector3(1, 1, 0), Vector3.Zero);
            Game3DObject g2 = loader.LoadGameObjectFromFile(file, new Vector3(-1, 1, 0), Vector3.Zero);
            Game3DObject g3 = loader.LoadGameObjectFromFile(file, Vector3.UnitZ * 2, Vector3.Zero);

            _go.AddChild(g1);
            _go.AddChild(g2);
            _go.AddChild(g3);
            _go.AddScript(new DinoMovementScript());
            AddGameObject(_go);
            AddGameObject(loader.LoadGameObjectFromFile(@"Models\dsa.fbx", Vector3.UnitX * 5, Vector3.Zero));

            _voice  = new SharpAudioVoice(audioDevice, @"Sounds\again.wav");
            _voice2 = new SharpAudioVoice(audioDevice, @"Sounds\again.wav");
        }
示例#7
0
        protected override void InitializeObjects(Loader loader, SharpAudioDevice audioDevice)
        {
            //_camera = new OrthoCamera(new Vector3(0, 20, -20), rotY: MathUtil.Pi / 4f, fovY: 0.1f);
            _camera = new Camera(new Vector3(0, 60, -60), rotY: MathUtil.Pi / 4f);

            _player = CreatePlayer(loader);
            var z1 = CreateZombie(loader);

            //var z2 = CreateZombie(loader);
            //var z3 = CreateZombie(loader);

            z1.MoveTo(Vector3.UnitX * 40);
            //z2.MoveTo(Vector3.UnitX * -40);
            //z3.MoveTo(Vector3.UnitZ * -40);


            AddGameObject(_player);
            //AddGameObject(loader.LoadGameObjectFromFile(@"Models\FirstAidKit.fbx", Vector3.Zero, Vector3.Zero, @"Textures\ammo.tif"));
            AddGameObject(z1);
            //AddGameObject(z2);
            //AddGameObject(z3);

            var ammo = loader.LoadGameObjectFromFile(@"Models\BonusAmmo.fbx", Vector3.UnitX * 20, Vector3.Zero);

            ammo.Collision = new SphereCollision(2);
            ammo.AddScript(new AmmoBonusScript(_player));

            var health = loader.LoadGameObjectFromFile(@"Models\BonusHeart.fbx", Vector3.UnitZ * 20, Vector3.Zero);

            health.Collision = new SphereCollision(2);
            health.AddScript(new HealthBonusScript(_player));

            var invisibility = loader.LoadGameObjectFromFile(@"Models\BonusStels.fbx", Vector3.UnitX * -20, Vector3.Zero);

            invisibility.Collision = new SphereCollision(2);
            invisibility.AddScript(new InvisibilityBonusScript(_player));

            AddGameObject(ammo);
            AddGameObject(health);
            AddGameObject(invisibility);
        }
        private void SetEnemy(string description, Loader loader, Material stub, SharpAudioDevice device)
        {
            string[]          enemyParams = description.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Point             targetPoint = new Point(int.Parse(enemyParams[2]), int.Parse(enemyParams[3]));
            Cell              cell        = map[targetPoint];
            ICharacterService service;

            switch (enemyParams[1])
            {
            case "mile": service = new MileEnemyService(characterService.Character, enemyParams[4], loader, stub, controller, device); break;

            default: service = null; break;
            }
            service.Character.IsActive = false;
            service.Map = map;
            service.Character.Position = cell.Position;
            cell.Unit        = Unit.Enemy;
            cell.UnitObject  = service.Character;
            map[targetPoint] = cell;
            services.Add(service);
        }
        protected override void InitializeObjects(Loader loader, SharpAudioDevice audioDevice)
        {
            //Create sounds
            _egg  = new SharpAudioVoice(audioDevice, @"Sounds\egg.wav");
            _cake = new SharpAudioVoice(audioDevice, @"Sounds\cake.wav");
            _die  = new SharpAudioVoice(audioDevice, @"Sounds\die.wav");
            _duck = new SharpAudioVoice(audioDevice, @"Sounds\duck.wav");
            //Create camera
            camera = new Camera(new Vector3());
            //Create bullet of enemy
            var egg = loader.LoadGameObjectFromFile(@"Models/egg.fbx", new Vector3(0, 0, 0), new Vector3(0));

            egg.Collision = new BoxCollision(0.03f, 0.03f);
            //Create bullet of player
            var cake = loader.LoadGameObjectFromFile(@"Models/cake.fbx", new Vector3(0, 0, 0), new Vector3(0));

            cake.Collision = new BoxCollision(0.03f, 0.03f);
            //Create player
            var player = AddGameObject(loader.LoadGameObjectFromFile(@"Models/player.fbx", new Vector3(0, 1, 0), new Vector3(0)));

            player.Collision = new BoxCollision(0.3f, 0.7f);
            player.AddChild(camera);
            var physics = new PhysicsComponent();

            player.AddComponent(physics);
            player.AddScript(new PhysicsScript(physics));
            player.AddScript(new PlayerMovementScript(camera, physics));
            var cakeBullet = new PlayerGunScript(cake);

            player.AddScript(cakeBullet);
            cakeBullet.OnCakeShoot += () =>
            {
                _cake.Stop();
                _cake.Play();
            };

            var health = new HealthComponent(100);

            health.OnDeath += () =>
            {
                _die.Stop();
                _die.Play();
                player.Scene.Game.ChangeScene(new LoseScene());
            };
            health.OnChanged += (changedHp) => _healthBar.Value = changedHp;
            health.OnDeath   += () => Game.ChangeScene(new LoseScene());
            player.AddComponent(health);

            var platform0 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(-4, 0, 0), new Vector3(0)));

            platform0.Collision = new BoxCollision(2.2f, 0.7f);
            platform0.AddScript(new FinishPlatformScript(player));

            var platform = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(0, 0, 0), new Vector3(0)));

            platform.Collision = new BoxCollision(2.2f, 0.7f);

            var platform1 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(4, 0, 0), new Vector3(0)));

            platform1.Collision = new BoxCollision(2.2f, 0.7f);
            platform1.AddScript(new PlatformsMovementScript(player, 0.01f, 2, 0));

            var platform2 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(8, 4, 0), new Vector3(0)));

            platform2.Collision = new BoxCollision(2.2f, 0.7f);

            var platform3 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(12, 4, 0), new Vector3(0)));

            platform3.Collision = new BoxCollision(2.2f, 0.7f);

            var platform4 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(16, 0, 0), new Vector3(0)));

            platform4.Collision = new BoxCollision(2.2f, 0.7f);
            platform4.AddScript(new PlatformsMovementScript(player, 0.007f, 2, 0));

            var platform5 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(20, 2, 4), new Vector3(0)));

            platform5.Collision = new BoxCollision(2.2f, 0.7f);

            var platform6 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(24, 4, 4), new Vector3(0)));

            platform6.Collision = new BoxCollision(2.3f, 0.7f);

            var platform7 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(28, 4, 0), new Vector3(0)));

            platform7.Collision = new BoxCollision(2.3f, 0.7f);
            platform7.AddScript(new PlatformsMovementScript(player, 0.016f, 8, 0));

            var platform8 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(32, 8, 0), new Vector3(0)));

            platform8.Collision = new BoxCollision(2.3f, 0.7f);
            platform8.AddScript(new PlatformsMovementScript(player, -0.012f, 8, 0));

            var platform9 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(36, 7, 0), new Vector3(0)));

            platform9.Collision = new BoxCollision(2.3f, 0.7f);

            var platform10 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(40, 7, 0), new Vector3(0)));

            platform10.Collision = new BoxCollision(2.3f, 0.7f);
            platform10.AddScript(new PlatformsMovementScript(player, -0.01f, 10, 6));

            var platform11 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(44, 12, 0), new Vector3(0)));

            platform11.Collision = new BoxCollision(2.3f, 0.7f);

            var platform12 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(48, 8, 0), new Vector3(0)));

            platform12.Collision = new BoxCollision(2.3f, 0.7f);

            var platform13 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(52, 4, 0), new Vector3(0)));

            platform13.Collision = new BoxCollision(2.3f, 0.7f);

            var platform14 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(56, 0, 0), new Vector3(0)));

            platform14.Collision = new BoxCollision(2.3f, 0.7f);

            var platform15 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(60, 2, 0), new Vector3(0)));

            platform15.Collision = new BoxCollision(2.3f, 0.7f);

            var platform16 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(64, 4, 0), new Vector3(0)));

            platform16.Collision = new BoxCollision(2.3f, 0.7f);

            var platform18 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(68, 0, 0), new Vector3(0)));

            platform18.Collision = new BoxCollision(2.3f, 0.7f);
            platform18.AddScript(new PlatformsMovementScript(player, 0.01f, 10, 0));

            var platform19 = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(72, 10, 0), new Vector3(0)));

            platform19.Collision = new BoxCollision(2.3f, 0.7f);
            platform19.AddScript(new PlatformsMovementScript(player, -0.01f, 10, 0));

            var platformFinish = AddGameObject(loader.LoadGameObjectFromFile(@"Models/platform.fbx", new Vector3(76, 6, 0), new Vector3(0)));

            platformFinish.Collision = new BoxCollision(2.3f, 0.7f);
            platformFinish.AddScript(new FinishPlatformScript(player));
            //enemy1
            var enemy1       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(0f, 1f, 1), new Vector3(0, 0, 1.8f)));
            var healthEnemy1 = new HealthComponent(3);

            healthEnemy1.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy1.Collision = new BoxCollision(0.3f, 0.3f);
            enemy1.AddComponent(healthEnemy1);
            var enemyBullet1 = new BulletSpawnerScript(player, egg);

            enemy1.AddScript(enemyBullet1);
            enemyBullet1.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy2
            var enemy2       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(4.4f, 3f, -1), new Vector3(0, 0, 4f)));
            var healthEnemy2 = new HealthComponent(3);

            healthEnemy2.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy2.Collision = new BoxCollision(0.3f, 0.3f);
            enemy2.AddComponent(healthEnemy2);
            var enemyBullet2 = new BulletSpawnerScript(player, egg);

            enemy2.AddScript(enemyBullet2);
            enemyBullet2.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy3
            var enemy3       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(9, 5f, 1), new Vector3(0, 0, 1.8f)));
            var healthEnemy3 = new HealthComponent(3);

            healthEnemy3.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy3.Collision = new BoxCollision(0.3f, 0.3f);
            enemy3.AddComponent(healthEnemy3
                                );
            var enemyBullet3 = new BulletSpawnerScript(player, egg);

            enemy3.AddScript(enemyBullet3);
            enemyBullet3.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy4
            var enemy4       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(17, 2.7f, -1f), new Vector3(0, 0, 4)));
            var healthEnemy4 = new HealthComponent(3);

            healthEnemy4.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy4.Collision = new BoxCollision(0.3f, 0.3f);
            enemy4.AddComponent(healthEnemy4
                                );
            var enemyBullet4 = new BulletSpawnerScript(player, egg);

            enemy4.AddScript(enemyBullet4);
            enemyBullet4.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy5
            var enemy5       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(24, 5f, 5), new Vector3(0, 0, 1.8f)));
            var healthEnemy5 = new HealthComponent(3);

            healthEnemy5.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy5.Collision = new BoxCollision(0.3f, 0.3f);
            enemy5.AddComponent(healthEnemy5
                                );
            var enemyBullet5 = new BulletSpawnerScript(player, egg);

            enemy5.AddScript(enemyBullet5);
            enemyBullet5.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy6
            var enemy6       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(37, 8f, -1.5f), new Vector3(0, 0, 4f)));
            var healthEnemy6 = new HealthComponent(3);

            healthEnemy6.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy6.Collision = new BoxCollision(0.3f, 0.3f);
            enemy6.AddComponent(healthEnemy6
                                );
            var enemyBullet6 = new BulletSpawnerScript(player, egg);

            enemy6.AddScript(enemyBullet6);
            enemyBullet6.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy7
            var enemy7       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(45, 13f, 1), new Vector3(0, 0, 1.8f)));
            var healthEnemy7 = new HealthComponent(3);

            healthEnemy7.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy7.Collision = new BoxCollision(0.3f, 0.3f);
            enemy7.AddComponent(healthEnemy7
                                );
            var enemyBullet7 = new BulletSpawnerScript(player, egg);

            enemy7.AddScript(enemyBullet7);
            enemyBullet7.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy8
            var enemy8       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(49, 9f, 1), new Vector3(0, 0, 1.8f)));
            var healthEnemy8 = new HealthComponent(3);

            healthEnemy8.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy8.Collision = new BoxCollision(0.3f, 0.3f);
            enemy8.AddComponent(healthEnemy8
                                );
            var enemyBullet8 = new BulletSpawnerScript(player, egg);

            enemy8.AddScript(enemyBullet8);
            enemyBullet8.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy9
            var enemy9       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(53, 5f, 1), new Vector3(0, 0, 1.8f)));
            var healthEnemy9 = new HealthComponent(3);

            healthEnemy9.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy9.Collision = new BoxCollision(0.3f, 0.3f);
            enemy9.AddComponent(healthEnemy9
                                );
            var enemyBullet9 = new BulletSpawnerScript(player, egg);

            enemy9.AddScript(enemyBullet9);
            enemyBullet9.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            //enemy10
            var enemy10       = AddGameObject(loader.LoadGameObjectFromFile(@"Models/bird.fbx", new Vector3(64, 5.2f, 1), new Vector3(0, 0, 1.8f)));
            var healthEnemy10 = new HealthComponent(3);

            healthEnemy10.OnDeath += () =>
            {
                _duck.Stop();
                _duck.Play();
            };
            enemy10.Collision = new BoxCollision(0.3f, 0.3f);
            enemy10.AddComponent(healthEnemy10);
            var enemyBullet10 = new BulletSpawnerScript(player, egg);

            enemy9.AddScript(enemyBullet10);
            enemyBullet10.OnEggShoot += () =>
            {
                _egg.Stop();
                _egg.Play();
            };

            var heart = AddGameObject(loader.LoadGameObjectFromFile(@"Models/heart.fbx", new Vector3(-0.06f, 0.19f, 0.5f), new Vector3(0, 0, 2)));

            new Animation(new float[] { 0, MathUtil.Pi * 2 }, 2, int.MaxValue).AddProcess((value) =>
            {
                heart.SetRotationZ(value);
            });
            camera.AddChild(heart);
        }
 private void SetEnemies(List <string> descriptors, Loader loader, Material stub, SharpAudioDevice device)
 {
     descriptors.FindAll(d => d.Split(' ')[0] == "enemy")
     .ForEach(d => SetEnemy(d, loader, stub, device));
 }
        public MapService(ICharacterService characterService, string configFile, Loader loader, Material stub, InputController controller, SharpAudioDevice device)
        {
            OnTheDoor       = false;
            this.controller = controller;
            services        = new List <ICharacterService>();
            staticObjects   = new List <StaticObject>();
            pickUps         = new List <PickUp>();


            List <string> descriptors = LoadDescriptors(configFile);

            SetMap(descriptors, loader, stub);
            SetCharacter(descriptors, characterService);
            SetEnemies(descriptors, loader, stub, device);
            SetPickUps(descriptors, loader, stub);
            SetStatics(descriptors, loader, stub);

            //SetScene();
            //sceneAnimation = new AnimationService(Scene, device);
            servicesQueue = new Queue <ICharacterService>();
            UpdateQueue();
        }