Jypeli 10
The simple game programming library
Control.cs
Siirry tämän tiedoston dokumentaatioon.
1using System.Collections.Generic;
2using Jypeli.Controls;
3
4namespace Jypeli
5{
6 public partial class Widget
7 {
9
14 internal List<Listener> associatedListeners = new List<Listener>();
15
19 public ListenContext ControlContext { get { return _context; } }
20
25 public bool IsModal { get; set; }
26
30 public bool CapturesMouse { get; set; }
31
37 public bool IsCapturingMouse
38 {
39 get
40 {
42 return true;
43
44 foreach (var o in Objects)
45 {
46 if (o is Widget w && w.IsCapturingMouse)
47 return true;
48 }
49
50 return false;
51 }
52 }
53
58 public void InitControl()
59 {
61 _context = new Controls.ListenContext();
62
63 Objects.ItemAdded += InitChildContext;
64 Objects.ItemRemoved += ResetChildContext;
65
67 }
68
69 private void InitChildContext( GameObject child )
70 {
71 ControlContexted ctxChild = child as ControlContexted;
72 if ( ctxChild == null ) return;
73 ctxChild.ControlContext.dynamicParent = true;
74 ctxChild.ControlContext.parentObject = this;
75 }
76
77 private void ResetChildContext( GameObject child )
78 {
79 ControlContexted ctxChild = child as ControlContexted;
80 if ( ctxChild == null ) return;
81 ctxChild.ControlContext.parentObject = null;
82 ctxChild.ControlContext.parentContext = null;
83 }
84
85 private void RemoveListeners()
86 {
87 associatedListeners.ForEach(l => l.Destroy());
88 associatedListeners.Clear();
89 }
90 }
91}
Kuuntelukonteksti ohjaimia varten
bool IsDestroyed
Onko konteksti tuhottu
ListenContext()
Muodostaa uuden ohjainkontekstin
ControlContexted parentObject
Mouse Mouse
Hiiri.
Definition: Controls.cs:49
Pelialueella liikkuva olio. Käytä fysiikkapeleissä PhysicsObject-olioita.
Definition: Appearance.cs:34
SynchronousList< GameObject > Objects
Olion lapsioliot. Saa muuttaa.
Definition: ChildObjects.cs:46
Action Removed
Tapahtuu, kun olio poistetaan pelistä (tuhotaan tai ei).
static bool IsCursorOn(ScreenView screen, MouseState state, GameObject obj)
Onko hiiren kursori annetun olion päällä.
Definition: Mouse.cs:320
Käyttöliittymän komponentti.
Definition: Appearance.cs:6
bool IsModal
Jos true, pelin sekä ikkunan alla olevien widgettien ohjaimet eivät ole käytössä kun ikkuna on n...
Definition: Control.cs:25
List< Listener > associatedListeners
Tähän listaan lisätyt kuuntelijat tuhotaan automaattisesti kun Widget poistetaan pelistä.
Definition: Control.cs:14
void InitControl()
Alustaa Widgetin ohjaimet käyttöön. Sinun ei tarvitse kutsua tätä
Definition: Control.cs:58
bool IsCapturingMouse
Kaappaako hiirtä tällä hetkellä, eli: CapturesMouse on true ja hiiri on tämän olion päällä,...
Definition: Control.cs:38
bool CapturesMouse
Kaappaako hiiren, eli meneekö hiiren tapahtumat tämän alla sijaitsevalle oliolle
Definition: Control.cs:30
void RemoveListeners()
Definition: Control.cs:85
void InitChildContext(GameObject child)
Definition: Control.cs:69
ListenContext _context
Definition: Control.cs:8
void ResetChildContext(GameObject child)
Definition: Control.cs:77
ListenContext ControlContext
Tämän Widgetin ohjainkuuntelijoiden konteksti
Definition: Control.cs:19