source: 2014/26/OtsoR/Projekti/Projekti/Projekti/Enemies/Carrier.cs @ 5115

Revision 5115, 1.7 KB checked in by otelretu, 6 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9class Carrier : Enemy
10{
11    RandomMoverBrain wander = new RandomMoverBrain();
12
13    List<FlankingEnemy> flankingEnemys;
14    IntMeter flankingMeter;
15    Label flankingDisplay;
16
17    /// <summary>
18    ///
19    /// </summary>
20    /// <param name="width">width of the object</param>
21    /// <param name="height">height of the object</param>
22    /// <param name="shape">shape of the object</param>
23    /// <param name="barwidth">healthbar width</param>
24    /// <param name="barheight">healthbar heigh</param>
25    /// <param name="barx">healthbar x-cordinate relative to object</param>
26    /// <param name="flankingsMax">Maximum number of flanking objects created</param>
27    public Carrier(double width, double height, Shape shape, double barwidth, double barheight, double barx, int flankingsMax)
28        : base(width, height, shape, barwidth, barheight, barx)
29    {
30        wander.ChangeMovementSeconds = 5;
31        wander.WanderRadius = 600;
32        wander.WanderPosition = new Vector(0, 0);
33
34        flankingEnemys = new List<FlankingEnemy>();
35        flankingMeter = new IntMeter(0, 0, flankingsMax);
36        flankingDisplay = new Label(flankingMeter);
37        Add(flankingDisplay);
38        // TODO: Lisää näyttö aluksen päälle
39    }
40
41    public void AddFlanking(FlankingEnemy fe)
42    {
43        flankingEnemys.Add(fe);
44        flankingMeter.Value++;
45        fe.Destroyed += delegate { RemoveFlanking(fe); };
46    }
47
48    public void RemoveFlanking(FlankingEnemy fe)
49    {
50        flankingEnemys.Remove(fe);
51        flankingMeter.Value--;
52    }
53}
Note: See TracBrowser for help on using the repository browser.