source: 2013/27/ArttuY/trunk/RampageRebellion/RampageRebellion/RampageRebellion/RRProjectile.cs @ 4451

Revision 4451, 1.6 KB checked in by eearyla, 7 years ago (diff)

Backup

RevLine 
[4451]1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Jypeli;
6using Jypeli.Assets;
7using Jypeli.Controls;
8using Jypeli.Effects;
9using Jypeli.Widgets;
10
11/// <summary>
12/// Base class for projectiles.
13/// </summary>
14public class RRProjectile : Projectile
15{
16    public double Damage;
17    public bool explosionUponDestruction = false;
18    public double explosionRadius = 1;
19
20    public Action<RRProjectile> customDestroy;
21
22    public RRProjectile(double width, double height, double mass, Color color)
23        : base(width, height, mass, color)
24    {
25
26        this.Tag = "T";
27    }
28
29     public override void  Destroy()
30    {
31
32        try
33        {
34            if (customDestroy != null)
35            {
36                customDestroy(this);
37            }
38
39            if (explosionUponDestruction)
40            {
41                Explosion expl = new Explosion(explosionRadius);
42                expl.Position = this.Position;
43                RampageRebellion.getGame().Add(expl);
44            }
45        }
46        finally
47        {
48            base.Destroy();
49        }
50    }
51
52    public RRProjectile(double width, double height, double mass, String imageName)
53        : base(width, height, mass, imageName)
54    {
55        this.Tag = "T";
56    }
57
58    public RRProjectile(double radius, double mass, String imageName)
59        : base(radius, mass, imageName)
60    {
61        this.Tag = "T";
62    }
63
64    public RRProjectile(double radius, double mass, Color color)
65        : base(radius, mass, color)
66    {
67        this.Tag = "T";
68    }
69
70}
Note: See TracBrowser for help on using the repository browser.