source: 2014/30/MitjaK/Attack to Agora/Attack to Agora/Attack to Agora/Attack to Agora/Elava.cs @ 6402

Revision 6402, 1.4 KB checked in by mikrkana, 4 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Jypeli;
6
7/// <summary>
8/// PlatformCharacter, jolla on elämälaskuri.
9/// </summary>
10public class Elava : PlatformCharacter
11{
12    public DoubleMeter Elamat { get; private set; }
13
14    public event Action Kuoli;
15
16    public Elava(double width, double height, double elamat)
17        :base(width, height)
18    {
19        Elamat = new DoubleMeter(elamat, 0, elamat);
20        Elamat.LowerLimit += delegate 
21        {
22            if (Kuoli != null) Kuoli();
23        };
24    }
25
26    public Elava(Image kuva, double elamat)
27        :this(kuva.Width, kuva.Height, elamat)
28    {
29        this.Image = kuva;
30    }
31
32    /// <summary>
33    /// Vähennetään elämiä. Vain vähentämiseen (ts. maara > 0)
34    /// </summary>
35    /// <param name="maara"></param>
36    public void Damagea(double maara)
37    {
38        if (maara < 0) return;
39
40        this.Elamat.Value -= maara;
41    }
42
43    /// <summary>
44    /// Palautetaan elämiä. Vain palauttamiseen (ts. maara > 0)
45    /// </summary>
46    /// <param name="maara"></param>
47    public void Paranna(double maara)
48    {
49        if (maara < 0) return;
50
51        this.Elamat.Value += maara;
52    }
53
54    /// <summary>
55    /// Täyttää pelaajan elämät.
56    /// </summary>
57    public void ElamatTayteen()
58    {
59        this.Elamat.Value = this.Elamat.MaxValue;
60    }
61}
Note: See TracBrowser for help on using the repository browser.