source: 2009/aapo_p/FysiikkaPeli2/Peli.cs @ 2757

Revision 171, 23.3 KB checked in by aaalalpe, 12 years ago (diff)
Line 
1#region Usings
2using System;
3using System.Collections.Generic;
4using System.Linq;
5using Microsoft.Xna.Framework;
6using Microsoft.Xna.Framework.Audio;
7using Microsoft.Xna.Framework.Content;
8using Microsoft.Xna.Framework.Graphics;
9using Microsoft.Xna.Framework.Input;
10using Microsoft.Xna.Framework.Media;
11using Jypeli;
12using Jypeli.ScreenObjects;
13using Jypeli.Assets;
14using AdvanceMath;
15using Physics2DDotNet;
16using Physics2DDotNet.Shapes;
17using Physics2DDotNet.Ignorers;
18#endregion
19
20namespace Defendyourhouse
21{
22    //keskeneräiset:
23
24
25   
26    //tornit, ja ampuminen kaikille
27    //päivien vaihtuminen ja vihollisten määrän kasvaminen ja ulkomuodon muuttuminen
28    //mahdollisesti myös pistelaskuri
29    //keksi ammukset
30
31
32
33    public class Peli : PhysicsGame
34    {
35        ValueDisplay rahaNaytto;
36        ValueDisplay ElamaNaytto;
37
38        int tykinHinta = 100;
39
40        PhysicsObject waypoint;
41        PhysicsObject waypoint2;
42        PhysicsObject waypoint3;
43        PhysicsObject waypoint4;
44        PhysicsObject waypoint5;
45        PhysicsObject waypoint6;
46        PhysicsObject waypoint7;
47        PhysicsObject maali;
48       
49
50        PhysicsObject hahmo1;
51
52        List<ProjectileWeapon> aseet = new List<ProjectileWeapon>();
53        List<BattleObject> viholliset = new List<BattleObject>();
54
55        Meter<int> rahaLaskuri;
56        Meter<int> ElamaLaskuri;
57
58        ListSelectionWindow menu;
59        ListSelectionWindow menu2;
60
61        protected override void LoadContent()
62        {           
63            Menu();
64            Level.BackgroundColor = Color.Aquamarine;
65        }
66
67        void AsetaOhjaimet()
68        {
69            Controls.Listen(Keys.M, ButtonPosition.Down, menua, "menu");
70            Controls.Listen(Keys.W, ButtonPosition.Down, ylös, "ylöspäin", hahmo1);
71            Controls.Listen(Keys.S, ButtonPosition.Down, alas, "alaspäin", hahmo1);
72            Controls.Listen(Keys.A, ButtonPosition.Down, vasemmalle, "vasemmalle", hahmo1);
73            Controls.Listen(Keys.D, ButtonPosition.Down, oikealle, "oikealle", hahmo1);
74            Controls.Listen(Keys.B, ButtonPosition.Down, ostovalikko, "osta");
75            Controls.Listen(Keys.P, ButtonPosition.Down, koordinaatti, "näytä hahmon koordinaatti");
76            ShowMouseCursor(true);
77        }
78        bool koordinaatti(ControlEvent e)
79        {
80            MessageDisplay.Add(hahmo1.X.ToString());
81            MessageDisplay.Add(hahmo1.Y.ToString());
82            return false;
83        }
84
85        void addtile(double x, double y)
86        {
87            IShape tiilenmuoto = Shapes.CreateRectangle(100.0, 100.0);
88            PhysicsObject tiili = PhysicsObject.CreateStaticObject(tiilenmuoto);
89            Texture2D tiilikuva = Content.Load<Texture2D>("tiili2");
90            tiili.Texture = tiilikuva;
91            Level.Objects.Add(tiili);
92            tiili.X = x;
93            tiili.Y = y;
94
95        }
96        Boolean ostovalikko(ControlEvent e)
97        {
98            menu2 = new ListSelectionWindow(this);
99            menu2.AddItem("torni1").Clicked += new ScreenObject.ClickEventHandler(Buy);
100            //menu2.AddItem("torni2").Clicked += new ScreenObject.ClickEventHandler(Buy2);
101            ShowWindow(menu2);
102            return false;
103        }
104        void Buy(ScreenObject sender)
105        {
106            menu2.Close();
107            foreach (ScreenObject olio in menu2.Objects)
108            {
109                olio.Controls.Enabled = false;
110            }
111
112            PhysicsObject d = luotorni(0, 0);
113            if (d == null) return;
114
115            Controls.Listen(MouseButtons.Left, ButtonPosition.Irrelevant, 0.1, siirra, "siirtää tornia", d);
116            Controls.Listen(d, MouseButtons.Left, ButtonPosition.Pressed, 0, asetatorni, "siirtää tornia");
117        }
118        //void Buy2(ScreenObject sender)
119        //{
120        //    menu2.Close();
121        //    PhysicsObject f = luotorni2(0, 0);
122        //    Controls.Listen(MouseButtons.Left, ButtonPosition.Irrelevant, 0.1, siirra, "siirtää tornia", f);
123        //    Controls.Listen(f, MouseButtons.Left, ButtonPosition.Pressed, 0, asetatorni, "siirtää tornia");
124
125
126        //}
127        bool siirra(ControlEvent e)
128        {
129            if (e.Parameter0 == null) return false;
130            Vector2D j = Controls.Mouse.GetPositionOnWorld(Camera);
131            PhysicsObject torni = e.Parameter0 as PhysicsObject;
132            torni.Position = j;
133            return false;
134        }
135
136        bool asetatorni(ControlEvent e)
137        {
138            Controls.DisableControls(0, e.GameObject);
139            return false;
140        }
141
142        Boolean Menu()
143        {
144            LuoRahaLaskuri();
145            LuoElamaLaskuri();
146
147            menu = new ListSelectionWindow(this);
148            menu.AddItem("aloita");
149            menu.AddItem("lopeta");
150            menu.ItemSelected += new ListSelectionWindow.ListItemHandler(menu_ItemSelected);
151            Add(menu);
152
153            return false;
154        }
155
156        void menu_ItemSelected(ListSelectionWindow sender, TextDisplay selection)
157        {
158            if (selection.Text == "aloita")
159            {
160                aloita();
161                return;
162            }
163            if (selection.Text == "lopeta")
164            {
165                lopeta();
166                return;
167            }
168
169        }
170
171        bool lopeta()
172        {
173            Exit();
174            return false;
175        }
176
177        bool aloita()
178        {
179            rahaNaytto.Visible = true;
180            ElamaNaytto.Visible = true;
181            menu.Close();
182
183            foreach (ScreenObject olio in menu.Objects)
184            {
185                olio.Controls.Enabled = false;
186            }
187
188            SetFocus(this);
189            addhero();
190            LuoViholliset();
191
192            asetatiilet();
193            AsetaOhjaimet();
194            Level.Background.Image = Content.Load<Texture2D>("tiili1");
195            Level.Background.FitToLevel(Level);
196            MessageDisplay.Add(Level.Width.ToString());
197
198            Timer ajastin = new Timer();
199            ajastin.Interval = 1;
200            ajastin.Trigger += new Timer.TriggerHandler(tarkistaampuminen);
201            AddTimer(ajastin);
202            ajastin.Start();
203
204
205            return false;
206        }
207
208        void tarkistaampuminen(Timer sender)
209        {
210            foreach (var ase in aseet)
211            {
212                foreach (var vihu in viholliset)
213                {
214                    if ((ase.Position - vihu.Position).Magnitude < 250)
215                    {
216                       
217                        ase.Power.Value = 1000;
218                        Angle kulma = Angle.Radians((vihu.Position - ase.Position).Angle);
219                        MessageDisplay.Add("PUM!!");
220                        vihu.TakeDamage(new Damage(20));
221                        ase.Angle = kulma;
222                        ase.Owner.Angle = kulma;
223                        //ase.Shoot(); // FIXME
224                        break;
225                    }
226                }
227            }                       
228        }
229
230        void luoammukset( ProjectileWeapon ase )
231        {
232            CannonBall ammus = new CannonBall();
233            ammus.Shape = Shapes.CreateCircle(50);
234            ammus.Damage = new Damage(200);
235            ase.Clip = new Clip(ammus);
236        }
237
238        private void LuoViholliset()
239        {
240            waypoint = luoWaypoint(Level.Left.ToInt() + 350, 0);
241            waypoint2 = luoWaypoint(Level.Left.ToInt() + 350, 450);
242            waypoint3 = luoWaypoint(Level.Right.ToInt() - 350,  450);
243            waypoint4 = luoWaypoint(230, -550);
244            waypoint5 = luoWaypoint(490, -510);
245            waypoint6 = luoWaypoint(460, 550);
246            waypoint7 = luoWaypoint(Level.Right.ToInt(), Level.Top.ToInt() - 25);
247            maali = luoMaali(625, 475);
248
249            int vihollistenMaara = 20;
250
251
252            for (int i = 0; i < vihollistenMaara; i++)
253            {
254                int a = i * 50;
255                addenemy(a);
256            }
257        }
258        private PhysicsObject luoMaali(int x, int y)
259        {
260            IShape lm = Shapes.CreateRectangle(50.0, 50.0);
261            PhysicsObject luomaali = new PhysicsObject(1, lm);
262            luomaali.IgnoresCollisionResponse = true;
263            luomaali.X = x;
264            luomaali.Y = y;
265            luomaali.Visible = false;
266            Level.Objects.Add(luomaali);
267            return maali;
268        }
269
270        private PhysicsObject luoWaypoint(int x, int y)
271        {
272            IShape wp = Shapes.CreateRectangle(50.0, 50.0);
273            PhysicsObject waypoint = new PhysicsObject(1, wp);
274            waypoint.IgnoresCollisionResponse = true;
275            waypoint.Visible = false;
276
277            waypoint.X = x;
278            waypoint.Y = y;
279            Level.Objects.Add(waypoint);
280            return waypoint;
281        }
282
283        void addenemy(int x)
284        {
285            IShape nelio = Shapes.CreateRectangle(50.0, 50.0);
286            BattleObject vihu = new BattleObject(nelio, 10.0, 100);
287            Texture2D joku = Content.Load<Texture2D>("enemy1");
288            vihu.AnimatedTexture = AnimatedTexture.FromTexture2D(joku, 320, false);
289            vihu.AnimatedTexture.FPS = 2;
290            Level.Objects.Add(vihu);
291            vihu.X = Level.Left - x;
292            vihu.Y = 0;
293            vihu.Restitution = 0.0;
294            vihu.Body.CollisionIgnorer = hahmo1.Body.CollisionIgnorer;
295            Vector2D impulssi2 = new Vector2D(600.0, 0.0);
296            vihu.Hit(impulssi2);
297
298            AddCollisionHandler(vihu, TultiinWaypointille);
299
300            vihu.HitpointsReachedZero += VihuKuoli;
301            viholliset.Add(vihu);
302        }
303       
304
305        void VihuKuoli(object sender, EventArgs e)
306        {
307            BattleObject vihu = sender as BattleObject;
308
309            vihu.Visible = false;
310            vihu.Lifetime.IsExpired = true;
311            Level.Objects.Remove(vihu);
312            viholliset.Remove(vihu);
313            MessageDisplay.Add("DEAD");
314            rahaLaskuri.Value += 10;
315           
316        }
317
318        void TultiinWaypointille(Collision c)
319        {
320            if (c.Other == waypoint)
321            {
322
323
324                c.Obj.Velocity = new Vector2D(0, 0);
325                Vector2D impulssikok = new Vector2D(0, 600);
326                c.Obj.Hit(impulssikok);
327                return;
328            }
329
330            if (c.Other == waypoint2)
331            {
332
333
334
335                c.Obj.Velocity = new Vector2D(0, 0);
336                Vector2D impulssitaas = new Vector2D(600, 0);
337                c.Obj.Hit(impulssitaas);
338                return;
339            }
340            if (c.Other == waypoint3)
341            {
342                MessageDisplay.Add("törmäys");
343               
344                c.Obj.Velocity = new Vector2D(0, 0);
345                Vector2D impulssitaas1 = new Vector2D(0, -600);
346                c.Obj.Hit(impulssitaas1);
347                return;
348            }
349            if (c.Other == waypoint4)
350            {
351                MessageDisplay.Add("uusitörmäys");
352
353                c.Obj.Velocity = new Vector2D(0, 0);
354                Vector2D impulssitaas2 = new Vector2D(600, 0);
355                c.Obj.Hit(impulssitaas2);
356                return;
357            }
358            if (c.Other == waypoint5)
359            {
360                c.Obj.Velocity = new Vector2D(0, 0);
361                Vector2D impulssitaas3 = new Vector2D(0,600);
362                c.Obj.Hit(impulssitaas3);
363                return;
364            }
365            if (c.Other == waypoint6)
366            {
367                c.Obj.Velocity = new Vector2D(0, 0);
368                Vector2D impulssitaas4 = new Vector2D(600, 0);
369                c.Obj.Hit(impulssitaas4);
370                return;
371            }
372           
373            if (c.Other == waypoint7)
374            {
375                ElamaLaskuri.Value -= 1;
376
377                if (ElamaLaskuri.Value == 0)
378                {
379                    MessageDisplay.Add("Game Over");
380                    //aseet.Remove;
381                    //viholliset.RemoveAll();
382                    hahmo1.X = Level.Right - 25;
383                    hahmo1.Y = 0;
384                }
385
386            }
387
388        }
389
390        void addhero()
391        {
392            IShape nelia = Shapes.CreateRectangle(50.0, 50.0);
393            hahmo1 = new PhysicsObject(10.0, nelia);
394            Texture2D hahmo = Content.Load<Texture2D>("hahmo1");
395            hahmo1.Texture = hahmo;
396            Level.Objects.Add(hahmo1);
397            hahmo1.X = Level.Right - 25;
398            hahmo1.Y = 0;
399            //hahmo1.IgnoresCollisionResponse = true;
400            hahmo1.Body.CollisionIgnorer = new ObjectIgnorer();
401        }
402
403        PhysicsObject luotorni(int x, int y)
404        {
405           
406
407            if (rahaLaskuri.Value < tykinHinta)
408            {
409                return null;
410            }
411
412            IShape kuvio = Shapes.CreateRectangle(50.0, 50.0);
413            PhysicsObject tykkitorni = PhysicsObject.CreateStaticObject(kuvio);
414            Texture2D kuviot = Content.Load<Texture2D>("tykkitorni1");
415            tykkitorni.Texture = kuviot;
416            Level.Objects.Add(tykkitorni);
417            tykkitorni.X = x;
418            tykkitorni.Y = y;
419            tykkitorni.IgnoresCollisionResponse = true;
420            rahaLaskuri.Value -= tykinHinta;
421
422            ProjectileWeapon ase = new ProjectileWeapon();
423            Level.Objects.Add(ase);
424            ase.Visible = false;
425            ase.IgnoresCollisionResponse = true;
426            ase.Owner = tykkitorni;
427            luoammukset(ase);
428
429            Level.Objects.Attach(tykkitorni, new Vector2D(0, 0), ase, new Vector2D(0, 0));
430
431            aseet.Add(ase);
432
433            return tykkitorni;
434        }
435
436        bool menua(ControlEvent e)
437        {
438            Menu();
439
440            return false;
441        }
442
443        bool alas(ControlEvent e)
444        {
445            PhysicsObject hahmo = e.Parameter0.ToPhysicsObject();
446            hahmo.Y += -5.0;
447
448            return false;
449        }
450
451        bool ylös(ControlEvent e)
452        {
453            PhysicsObject hahmo = e.Parameter0.ToPhysicsObject();
454            hahmo.Y += 5.0;
455
456            return false;
457        }
458
459        bool oikealle(ControlEvent e)
460        {
461            PhysicsObject hahmo = e.Parameter0.ToPhysicsObject();
462            hahmo.X += 5.0;
463            return false;
464        }
465
466        bool vasemmalle(ControlEvent e)
467        {
468            PhysicsObject hahmo = e.Parameter0.ToPhysicsObject();
469            hahmo.X += -5.0;
470            return false;
471        }
472       
473        void asetatiilet()
474        {
475            addtile(Level.Left, Level.Top);
476            addtile(Level.Left, Level.Top - 100);
477            addtile(Level.Left, Level.Top - 200);
478            addtile(Level.Left, Level.Top - 300);
479            addtile(Level.Left, Level.Top - 400);
480            addtile(Level.Left, Level.Top);
481            addtile(Level.Left, Level.Bottom);
482            addtile(Level.Left, Level.Bottom + 100);
483            addtile(Level.Left, Level.Bottom + 200);
484            addtile(Level.Left, Level.Bottom + 300);
485            addtile(Level.Left, Level.Bottom + 400);
486            addtile(Level.Left + 100, Level.Top);
487            addtile(Level.Left + 100, Level.Top - 100);
488            addtile(Level.Left + 100, Level.Top - 200);
489            addtile(Level.Left + 100, Level.Top - 300);
490            addtile(Level.Left + 100, Level.Top - 400);
491            addtile(Level.Left + 100, Level.Top);
492
493            addtile(Level.Left + 100, Level.Bottom + 100);
494            addtile(Level.Left + 100, Level.Bottom + 200);
495            addtile(Level.Left + 100, Level.Bottom + 300);
496            addtile(Level.Left + 100, Level.Bottom + 400);
497            addtile(Level.Left + 200, Level.Top);
498            addtile(Level.Left + 200, Level.Top - 100);
499            addtile(Level.Left + 200, Level.Top - 200);
500            addtile(Level.Left + 200, Level.Top - 300);
501            addtile(Level.Left + 200, Level.Top - 400);
502            addtile(Level.Left + 200, Level.Top);
503            addtile(Level.Left + 200, Level.Bottom);
504            addtile(Level.Left + 200, Level.Bottom + 100);
505            addtile(Level.Left + 200, Level.Bottom + 200);
506            addtile(Level.Left + 200, Level.Bottom + 300);
507            addtile(Level.Left + 200, Level.Bottom + 400);
508            addtile(Level.Left + 300, Level.Bottom + 100);
509            addtile(Level.Left + 400, Level.Bottom + 100);
510            addtile(Level.Left + 400, Level.Top);
511            addtile(Level.Left + 300, Level.Top);
512            addtile(Level.Left + 400, Level.Top - 200);
513            addtile(Level.Left + 400, Level.Top - 300);
514            addtile(Level.Left + 400, Level.Top - 400);
515            addtile(Level.Left + 400, Level.Top);
516            addtile(Level.Left + 400, Level.Bottom);
517            addtile(Level.Left + 400, Level.Bottom + 100);
518            addtile(Level.Left + 400, Level.Bottom + 200);
519            addtile(Level.Left + 400, Level.Bottom + 300);
520            addtile(Level.Left + 400, Level.Bottom + 400);
521            addtile(Level.Left + 400, Level.Bottom + 500);
522            addtile(Level.Left + 400, Level.Bottom + 600);
523
524            addtile(Level.Left + 300, Level.Bottom + 100);
525            addtile(Level.Left + 300, Level.Bottom + 200);
526            addtile(Level.Left + 300, Level.Bottom + 300);
527            addtile(Level.Left + 300, Level.Bottom + 400);
528
529            addtile(Level.Left + 500, Level.Bottom);
530            addtile(Level.Left + 500, Level.Bottom + 100);
531            addtile(Level.Left + 500, Level.Bottom + 200);
532            addtile(Level.Left + 500, Level.Bottom + 300);
533            addtile(Level.Left + 500, Level.Bottom + 400);
534            addtile(Level.Left + 500, Level.Bottom + 500);
535            addtile(Level.Left + 500, Level.Bottom + 600);
536
537            addtile(Level.Left + 600, Level.Bottom);
538            addtile(Level.Left + 600, Level.Bottom + 100);
539            addtile(Level.Left + 600, Level.Bottom + 200);
540            addtile(Level.Left + 600, Level.Bottom + 300);
541            addtile(Level.Left + 600, Level.Bottom + 400);
542            addtile(Level.Left + 600, Level.Bottom + 500);
543            addtile(Level.Left + 600, Level.Bottom + 600);
544
545            addtile(Level.Left + 700, Level.Bottom);
546            addtile(Level.Left + 700, Level.Bottom + 100);
547            addtile(Level.Left + 700, Level.Bottom + 200);
548            addtile(Level.Left + 700, Level.Bottom + 300);
549            addtile(Level.Left + 700, Level.Bottom + 400);
550            addtile(Level.Left + 700, Level.Bottom + 500);
551            addtile(Level.Left + 700, Level.Bottom + 600);
552
553            addtile(Level.Left + 800, Level.Bottom);
554            addtile(Level.Left + 800, Level.Bottom + 100);
555            addtile(Level.Left + 800, Level.Bottom + 200);
556            addtile(Level.Left + 800, Level.Bottom + 300);
557            addtile(Level.Left + 800, Level.Bottom + 400);
558            addtile(Level.Left + 800, Level.Bottom + 500);
559            addtile(Level.Left + 800, Level.Bottom + 600);
560
561
562            addtile(Level.Left + 1000, Level.Bottom + 100);
563            addtile(Level.Left + 1000, Level.Bottom + 200);
564            addtile(Level.Left + 1000, Level.Bottom + 300);
565            addtile(Level.Left + 1000, Level.Bottom + 400);
566            addtile(Level.Left + 1000, Level.Bottom + 500);
567            addtile(Level.Left + 1000, Level.Bottom + 600);
568            addtile(Level.Left + 1000, Level.Bottom + 700);
569            addtile(Level.Left + 1000, Level.Bottom + 800);
570            addtile(Level.Left + 1000, Level.Bottom + 900);
571            addtile(Level.Left + 1000, Level.Bottom + 1000);
572
573            addtile(Level.Left + 600, Level.Top - 200);
574            addtile(Level.Left + 600, Level.Top - 300);
575            addtile(Level.Left + 600, Level.Top - 400);
576            addtile(Level.Left + 700, Level.Top - 200);
577            addtile(Level.Left + 700, Level.Top - 300);
578            addtile(Level.Left + 700, Level.Top - 400);
579            addtile(Level.Left + 800, Level.Top - 200);
580            addtile(Level.Left + 800, Level.Top - 300);
581            addtile(Level.Left + 800, Level.Top - 400);
582            addtile(Level.Left + 500, Level.Top - 200);
583            addtile(Level.Left + 500, Level.Top - 300);
584            addtile(Level.Left + 500, Level.Top - 400);
585
586            addtile(Level.Left + 600, Level.Top);
587            addtile(Level.Left + 700, Level.Top);
588            addtile(Level.Left + 800, Level.Top);
589            addtile(Level.Left + 900, Level.Top);
590            addtile(Level.Left + 1000, Level.Top);
591
592            addtile(Level.Right, Level.Bottom);
593            addtile(Level.Right, Level.Bottom + 100);
594            addtile(Level.Right, Level.Bottom + 200);
595            addtile(Level.Right, Level.Bottom + 300);
596            addtile(Level.Right, Level.Bottom + 400);
597            addtile(Level.Right, Level.Bottom + 500);
598            addtile(Level.Right, Level.Bottom + 600);
599            addtile(Level.Right, Level.Bottom + 700);
600            addtile(Level.Right, Level.Bottom + 800);
601            addtile(Level.Right, Level.Bottom + 900);
602            addtile(Level.Right, Level.Bottom + 1100);
603            addtile(Level.Right, Level.Bottom + 1200);
604            addtile(Level.Right, Level.Bottom + 1300);
605
606            addtile(Level.Right - 100, Level.Bottom);
607            addtile(Level.Right - 100, Level.Bottom + 100);
608            addtile(Level.Right - 100, Level.Bottom + 200);
609            addtile(Level.Right - 100, Level.Bottom + 300);
610            addtile(Level.Right - 100, Level.Bottom + 400);
611            addtile(Level.Right - 100, Level.Bottom + 500);
612            addtile(Level.Right - 100, Level.Bottom + 600);
613            addtile(Level.Right - 100, Level.Bottom + 700);
614            addtile(Level.Right - 100, Level.Bottom + 800);
615            addtile(Level.Right - 100, Level.Bottom + 900);
616            addtile(Level.Right - 100, Level.Bottom + 1100);
617            addtile(Level.Right - 100, Level.Bottom + 1200);
618            addtile(Level.Right - 100, Level.Bottom + 1300);
619
620
621
622        }
623        void LuoRahaLaskuri()
624        {
625            rahaLaskuri = new Meter<int>(500, 0, int.MaxValue);
626            rahaNaytto = new ValueDisplay(this);
627            rahaNaytto.BindTo(rahaLaskuri);
628            rahaNaytto.X = Level.Left + 100 ;
629            rahaNaytto.Y = Level.Bottom + 40;
630            rahaNaytto.ValueColor = Color.White;
631            rahaNaytto.Visible = false;
632            Add(rahaNaytto);
633        }
634        void LuoElamaLaskuri()
635        {
636            ElamaLaskuri = new Meter<int>(3, 0, int.MaxValue);
637            ElamaNaytto = new ValueDisplay(this);
638            ElamaNaytto.BindTo(ElamaLaskuri);
639            ElamaNaytto.X = -340;
640            ElamaNaytto.Y = -490;
641            ElamaNaytto.ValueColor = Color.White;
642            ElamaNaytto.Visible = false;
643            Add(ElamaNaytto);
644            ElamaLaskuri.UpperLimit += new Meter<int>.OnLimitHandler(ElamaLaskuri_UpperLimit);
645        }
646
647        void ElamaLaskuri_UpperLimit(Meter<int> sender)
648        {
649            //Tähän pitää laittaa menun avaus
650            // viholliset pitää pysäyttää ja piilottaa (tai poistaa..?)
651        }
652    }
653}
654//nelio.Angle = nelio.Angle + Angle.Degrees(50);
655//           base.Update(gameTime);
Note: See TracBrowser for help on using the repository browser.