source: 2010/23/hniemi/ShootEmUp/ShootEmUp/Weapons.cs @ 823

Revision 823, 2.5 KB checked in by hniemi, 10 years ago (diff)

Ohjus lisätty aseeksi. Törmäyksentunnistus pitää korjata
Sädepyssy otettu hetkeksi pois käytöstä.

Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Jypeli;
6using Jypeli.ScreenObjects;
7using Jypeli.Assets;
8
9namespace ShootEmUp
10{
11    class Beam : Weapon
12    {
13
14        public int Level { get; private set; }
15        public CollisionHandler BeamCollision { get; set; }
16
17        public Beam(double width, double height)
18            : base(width, height)
19        {
20            Level = 1;
21            Color = Color.Blue;
22            this.AddedToGame += LisaaAani;         
23        }
24
25        private void LisaaAani()
26        {
27            AttackSound = Game.LoadSoundEffect("pum");
28        }
29
30
31
32        protected override void OnUse()
33        {
34            OnShoot();
35        }
36
37        protected override PhysicsObject OnShoot()
38        {
39
40            PhysicsObject projectile = new PhysicsObject(Level * 10, Level * 20);
41            projectile.Position = this.Position;
42            projectile.Color = this.Color;
43            SetCollisionHandler(projectile, BeamCollision);
44            ShootProjectile(projectile, 1000);
45
46            return projectile;
47        }
48    }
49
50    /// <summary>
51    /// Ohjus-ase
52    /// Räjähtää
53    /// </summary>
54    class Missile : Weapon
55    {
56        private Image ammus;
57        public int Level { get; private set; }
58        public CollisionHandler MissileCollision { get; set; }
59
60        public Missile(double width, double height)
61            : base(width, height)
62        {
63            Level = 1;
64            Color = Color.Blue;
65            this.AddedToGame += LisaaAani;         
66        }
67
68        /// <summary>
69        /// Lisää äänen
70        /// </summary>
71        private void LisaaAani()
72        {
73            AttackSound = Game.LoadSoundEffect("pum");
74            ammus = Game.LoadImage("ohjus");
75        }
76
77        protected override void OnUse()
78        {
79            OnShoot();
80        }
81
82        protected override PhysicsObject OnShoot()
83        {
84            if (IsAddedToGame) Game.MessageDisplay.Add("Pelissä on");
85            PhysicsObject projectile = new PhysicsObject(Level * 80, Level * 40);
86            projectile.Shape = Shapes.Triangle;
87            projectile.Position = this.Position;
88            projectile.Color = this.Color;
89            projectile.Image = ammus;
90            SetCollisionHandler(projectile, MissileCollision);
91            ShootProjectile(projectile, 1000);
92            Game.Add(projectile);
93            return projectile;
94        }
95    }
96}
Note: See TracBrowser for help on using the repository browser.