Ejemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="actor">Projectile that need to be checked</param>
 /// <returns>null if no actor been impacted or actor itself</returns>
 public Actor CheckProjectileCollision(Ammo_Projectile actor)
 {
     if (world.World_Actors.Count > 0)
     {
         for (int i = 0; i < world.World_Actors.Count; i++)
         {
             if (world.World_Actors.ElementAt(i).HasCollision == true)
             {
                 if (world.World_Actors.ElementAt(i).Layer == actor.Layer)
                 {
                     if (actor.Collision.IntersectsWith(world.World_Actors.ElementAt(i).Collision))
                     {
                         actor.OnImpact(world.World_Actors.ElementAt(i));
                         if (actor.DestroyOnImpact == true)
                         {
                         }
                         return(world.World_Actors.ElementAt(i));
                     }
                 }
             }
         }
         return(null);
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 2
0
 public void AddProjectile(Ammo_Projectile e, float RotationDegree, PointF point)
 {
     if (!e.IsThreadAlive())
     {
         e.RotationDegree = RotationDegree;
         e.StartThread(point);
         Projectiles.Add(e);
     }
 }
Ejemplo n.º 3
0
        public Form1()
        {
            InitializeComponent();
            //DoubleBuffered = true;
            //SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            bullet = Image.FromFile("assets\\models\\gunshot.png");
            game   = new Game(new Player(new AnimatedSprite(true, true, 20, Image.FromFile("assets\\models\\player_idle.gif"), 0, true, new RectangleF(0, 0, 50, 50), true), 0, new RectangleF(0, 0, 50, 50)), new World(), 500);
            game.LoadWorldFromFile("assets\\maps\\test.mf");
            ap = new Ammo_Projectile(true, 2, 1000, Image.FromFile("assets\\models\\gunshot.png"), 0, true, new PointF(0, 0), true);
            game.player.AddPointSocket("Weapon", new PointF(34.5f, 30.6f));
            game.player.AddPointSocket("projectile", new PointF(34.5f, 30.6f));
            if ((game.player.GetSocketByName("Weapon") != null) && (game.player.GetSocketByName("projectile") != null))
            {
                game.Weapons.Add(new Weapon_Moveable(10, 100, Image.FromFile("assets\\models\\weapon_pistol.gif"), "Pistol", false, game.player.GetSocketByName("Weapon"), game.player.GetSocketByName("Projectile"), 0.6f, 0.6f));
            }
            //game.world.World_Actors.Add(new Actor(Image.FromFile("assets\\models\\floor_checkboard_texture.png"), 0, true, new PointF(50, 50), true));
            //game.world.World_Actors.Add(new Actor(Image.FromFile("assets\\models\\floor_checkboard_texture.png"), 1, true, new PointF(100, 50), true));
            ////game.world.World_Actors.Add(new Func_View_Layer(1, new RectangleF(90, 40, 100, 100), Image.FromFile("assets\\models\\ground_texture.png"), 0, false, new PointF(100,50), true));
            //game.world.World_Actors.Add(new Trigger_Change_Layer(TriggerType.Once, MoveDirection.NONE, 1, Image.FromFile("assets\\models\\ground_texture.png"), 0, true, new PointF(200, 200), true));
            game.SetPlayerWeapon(0);

            //Sound Work
            game.Sound_System.getLowLevelSystem(out system);

            //system.createReverb3D(out hall);
            REVERB_PROPERTIES Hall_Props = PRESET.HALLWAY();
            //hall.setProperties(ref Hall_Props);
            //VECTOR v = new VECTOR();
            //v = Vector.ToVECTOR(50, 0, 0);
            //hall.set3DAttributes(ref v, 0, 100);

            //game.AddActorToWorld(new Reverb_Area(system, new Reverb_Attributes(Vector.ToVECTOR(100, 100, 0), 0, 100), ref Hall_Props, Image.FromFile("assets\\models\\gunshot.bmp"), 0, false,new PointF(100,100), true));

            SoundData data = new SoundData();

            system.createSound("assets\\sounds\\pistol_shot.wav", MODE._3D, out data.sound);
            game.sounds.Add(data);
            game.AddActorToWorld(new Ambient_Sound(data, Image.FromFile("assets\\models\\gunshot.bmp"), 0, false, new RectangleF(0, 0, 50, 50), true));
            data = new SoundData();
            system.createSound("assets\\sounds\\sound_test_0.wav", MODE._3D, out data.sound);
            game.sounds.Add(data);
            game.Sound_System.update();
        }