protected override void InitializeObjects(Loader loader, SharpAudioDevice audioDevice) { _audioDevice = audioDevice; CreatePlayerLoader(loader); CreateLevel(loader); _wolfCounter.Text = _currentEnemyCount.ToString(); }
public AnimationService(DrawableObject targetObject, SharpAudioDevice audioDevice) { this.targetObject = (Character)targetObject; slideAnimation = new SlideAnimation(targetObject); backSlideAnimation = new SlideAnimation(targetObject); rotationAnimation = new RotationAnimation(targetObject, "yawRotation"); }
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)); }
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"); }
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(); }