Jypeli  5
The simple game programming library
PhoneBackButton.cs
Siirry tämän tiedoston dokumentaatioon.
1 using System;
2 using System.Collections.Generic;
3 using Microsoft.Xna.Framework;
4 
5 
6 using XnaGamepad = Microsoft.Xna.Framework.Input.GamePad;
7 
8 namespace Jypeli.Controls
9 {
13  public class PhoneBackButton : Controller
14  {
15  internal override bool IsBufferEmpty()
16  {
17  return true;
18  }
19 
20  internal override string GetControlText(Listener listener)
21  {
22  return "Phone's back button";
23  }
24 
25  internal override void Update()
26  {
27  if (XnaGamepad.GetState(PlayerIndex.One).Buttons.Back == Microsoft.Xna.Framework.Input.ButtonState.Pressed)
28  {
29  bool listenerInvoked = false;
30 
31  foreach (Listener listener in listeners)
32  {
33  if ( listener.Context.Active )
34  {
35  listener.Invoke();
36  listenerInvoked = true;
37  }
38  }
39 
40  if ( !listenerInvoked && Game.Instance != null )
41  {
42  // This is the main game context, and there are no listeners.
43  // Let's be good hosts and give our player an exit anyway.
45  }
46  }
47 
48  base.Update();
49  }
50 
57  public Listener Listen(Handler handler, string helpText)
58  {
59  Listener l = new SimpleListener(this, ListeningType.PhoneButton, helpText, handler);
60  //l.Button = button;
61  //l.State = state;
62  Add(l);
63  return l;
64  }
65 
74  public Listener Listen<T1>(Handler handler, string helpText, T1 p1)
75  {
76  Listener l = new SimpleListener(this, ListeningType.PhoneButton, helpText, handler);
77  Add(l);
78  return l;
79  }
80 
91  public Listener Listen<T1, T2>(Handler handler, string helpText, T1 p1, T2 p2)
92  {
93  Listener l = new SimpleListener(this, ListeningType.PhoneButton, helpText, handler);
94  Add(l);
95  return l;
96  }
97 
110  public Listener Listen<T1, T2, T3>(Handler handler, string helpText, T1 p1, T2 p2, T3 p3)
111  {
112  Listener l = new SimpleListener(this, ListeningType.PhoneButton, helpText, handler);
113  Add(l);
114  return l;
115  }
116 
131  public Listener Listen<T1, T2, T3, T4>(Handler handler, string helpText, T1 p1, T2 p2, T3 p3, T4 p4)
132  {
133  Listener l = new SimpleListener(this, ListeningType.PhoneButton, helpText, handler);
134  Add(l);
135  return l;
136  }
137  }
138 }
static Game Instance
Definition: Game.cs:149
Peliluokka reaaliaikaisille peleille.
Definition: DebugScreen.cs:10
Listener Listen(Handler handler, string helpText)
Kuuntelee Windows Phonen Back-nappia.
void ConfirmExit()
Kysyy haluaako lopettaa pelin ja lopettaa jos vastataan kyllä.
Definition: Game.cs:1457
delegate void Handler()
Ohjaintapahtumankäsittelijä ilman parametreja.
Windows Phonen Back-nappi
Yleinen peliohjainluokka.
Definition: Controller.cs:40