Jypeli  5
The simple game programming library
Control.cs
Siirry tämän tiedoston dokumentaatioon.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using Jypeli.Controls;
6 
7 namespace Jypeli
8 {
9  public partial class Widget
10  {
11  private ListenContext _context = new ListenContext();
12  internal List<Listener> associatedListeners = new List<Listener>();
13 
14  public ListenContext ControlContext { get { return _context; } }
15 
20  public bool IsModal { get; set; }
21 
22  public void InitControl()
23  {
24  if ( ControlContext == null || ControlContext.IsDestroyed )
25  _context = new Controls.ListenContext();
26 
27  Objects.ItemAdded += InitChildContext;
28  Objects.ItemRemoved += ResetChildContext;
29  }
30 
31  private void InitChildContext( GameObject child )
32  {
33  ControlContexted ctxChild = child as ControlContexted;
34  if ( ctxChild == null ) return;
35  ctxChild.ControlContext.dynamicParent = true;
36  ctxChild.ControlContext.parentObject = this;
37  }
38 
39  private void ResetChildContext( GameObject child )
40  {
41  ControlContexted ctxChild = child as ControlContexted;
42  if ( ctxChild == null ) return;
43  ctxChild.ControlContext.parentObject = null;
44  ctxChild.ControlContext.parentContext = null;
45  }
46  }
47 }
ListenContext ControlContext
Definition: Control.cs:14
Sisältää ohjaimet.
Definition: Controls.cs:146
IEnumerable< IGameObject > Objects
Olion lapsioliot. Ei voi muokata.
Definition: __GameObject.cs:84
bool IsModal
Jos true, pelin sekä ikkunan alla olevien widgettien ohjaimet eivät ole käytössä kun ikkuna on näkyvissä. ...
Definition: Control.cs:20
void InitControl()
Definition: Control.cs:22
Pelialueella liikkuva olio. Käytä fysiikkapeleissä PhysicsObject-olioita.
Definition: __GameObject.cs:54