31 using System.Collections.Generic;
96 get {
return _nullListener; }
100 [Save]
internal String HelpText;
104 private bool dynamicContext =
false;
110 get {
return ( dynamicContext ? contextedObject.
ControlContext : context ); }
119 internal double AnalogTrigger;
124 internal int AccelerometerGestureCount;
125 internal double AccelerometerLastGesture;
126 internal double AccelerometerGestureSamplingStartTime;
130 internal double MovementTrigger;
135 private bool disassociated =
false;
140 get {
return _gameObject; }
143 if ( !disassociated && _gameObject != null )
148 disassociated =
false;
156 this.Controller = controller;
159 this.HelpText = helpText;
168 public bool IsDestroyed {
get;
private set; }
172 if ( Controller != null ) Controller.Remove(
this );
182 private void OnDestroyed()
184 if ( Destroyed != null )
190 internal void Disassociate()
192 if ( _gameObject != null )
194 disassociated =
true;
197 internal void Associate()
199 if ( !disassociated )
return;
201 if ( _gameObject != null )
204 disassociated =
false;
207 internal abstract Delegate
Handler {
get; }
209 internal static void Invoke(
Listener l )
215 internal virtual void Invoke()
217 throw new NotImplementedException();
220 internal virtual void Invoke( List<Key> keys )
222 throw new NotImplementedException();
227 throw new NotImplementedException();
230 internal virtual void Invoke(
int channel )
232 throw new NotImplementedException();
241 this.dynamicContext =
false;
242 this.context = context;
254 this.dynamicContext =
true;
255 this.contextedObject = obj;
273 internal override Delegate
Handler {
get {
return null; } }
280 internal override void Invoke()
288 internal override void Invoke( List<Key> keys )
292 internal override void Invoke(
int channel )
301 internal override Delegate
Handler {
get {
return handler; } }
304 : base( controller, type, helpText )
306 this.handler = handler;
309 internal override void Invoke()
314 internal override void Invoke(
int channel )
325 internal override Delegate
Handler {
get {
return handler; } }
328 : base( controller, type, helpText )
330 this.handler = handler;
334 internal override void Invoke()
339 internal override void Invoke(
int channel )
351 internal override Delegate
Handler {
get {
return handler; } }
354 : base( controller, type, helpText )
356 this.handler = handler;
361 internal override void Invoke()
366 internal override void Invoke(
int channel )
379 internal override Delegate
Handler {
get {
return handler; } }
382 : base( controller, type, helpText )
384 this.handler = handler;
390 internal override void Invoke()
392 handler( p1, p2, p3 );
395 internal override void Invoke(
int channel )
397 handler( p1, p2, p3 );
409 internal override Delegate
Handler {
get {
return handler; } }
411 internal SimpleListener(
Controller controller,
ListeningType type,
string helpText,
Handler<T1, T2, T3, T4> handler, T1 p1, T2 p2, T3 p3, T4 p4 )
412 : base( controller, type, helpText )
414 this.handler = handler;
421 internal override void Invoke()
423 handler( p1, p2, p3, p4 );
426 internal override void Invoke(
int channel )
428 handler( p1, p2, p3, p4 );
437 internal override Delegate
Handler {
get {
return handler; } }
442 this.handler = handler;
445 if ( keyboard == null )
throw new InvalidOperationException(
"MultiKeyListener not bound to a keyboard" );
448 internal override void Invoke()
450 handler( keyboard.KeysTriggered(
this.State ) );
459 internal override Delegate
Handler {
get {
return handler; } }
464 this.handler = handler;
468 internal override void Invoke( List<Key> keys )
480 internal override Delegate
Handler {
get {
return handler; } }
485 this.handler = handler;
490 internal override void Invoke( List<Key> keys )
492 handler( keys, p1, p2 );
503 internal override Delegate
Handler {
get {
return handler; } }
508 this.handler = handler;
514 internal override void Invoke( List<Key> keys )
516 handler( keys, p1, p2, p3 );
528 internal override Delegate
Handler {
get {
return handler; } }
533 this.handler = handler;
540 internal override void Invoke( List<Key> keys )
542 handler( keys, p1, p2, p3, p4 );
554 internal override Delegate
Handler {
get {
return handler; } }
557 : base( controller, type, helpText )
559 this.handler = handler;
573 internal override Delegate
Handler {
get {
return handler; } }
576 : base( controller, type, helpText )
578 this.handler = handler;
584 handler( state, p1 );
594 internal override Delegate
Handler {
get {
return handler; } }
597 : base( controller, type, helpText )
599 this.handler = handler;
606 handler( state, p1, p2 );
617 internal override Delegate
Handler {
get {
return handler; } }
620 : base( controller, type, helpText )
622 this.handler = handler;
630 handler( state, p1, p2, p3 );
642 internal override Delegate
Handler {
get {
return handler; } }
644 internal AnalogListener(
Controller controller,
ListeningType type,
string helpText,
AnalogHandler<T1, T2, T3, T4> handler, T1 p1, T2 p2, T3 p3, T4 p4 )
645 : base( controller, type, helpText )
647 this.handler = handler;
656 handler( state, p1, p2, p3, p4 );
664 internal override Delegate
Handler {
get {
return handler; } }
667 : base( controller, type, helpText )
669 this.handler = handler;
672 internal override void Invoke(
int channel )
676 if ( touchController != null )
677 handler( touchController.newState.GetObjectByChannel( channel ) );
679 throw new InvalidOperationException(
"TouchListener.Invoke(ch): Controller is not a TouchPanel" );
688 internal override Delegate
Handler {
get {
return handler; } }
691 : base( controller, type, helpText )
693 this.handler = handler;
697 internal override void Invoke(
int channel )
701 if ( touchController != null )
702 handler( touchController.newState.GetObjectByChannel( channel ), p1 );
704 throw new InvalidOperationException(
"TouchListener.Invoke(ch): Controller is not a TouchPanel" );
714 internal override Delegate
Handler {
get {
return handler; } }
717 : base( controller, type, helpText )
719 this.handler = handler;
724 internal override void Invoke(
int channel )
728 if ( touchController != null )
729 handler( touchController.newState.GetObjectByChannel( channel ), p1, p2 );
731 throw new InvalidOperationException(
"TouchListener.Invoke(ch): Controller is not a TouchPanel" );
742 internal override Delegate
Handler {
get {
return handler; } }
745 : base( controller, type, helpText )
747 this.handler = handler;
753 internal override void Invoke(
int channel )
757 if ( touchController != null )
758 handler( touchController.newState.GetObjectByChannel( channel ), p1, p2, p3 );
760 throw new InvalidOperationException(
"TouchListener.Invoke(ch): Controller is not a TouchPanel" );
772 internal override Delegate
Handler {
get {
return handler; } }
774 internal TouchListener(
Controller controller,
ListeningType type,
string helpText,
TouchHandler<T1, T2, T3, T4> handler, T1 p1, T2 p2, T3 p3, T4 p4 )
775 : base( controller, type, helpText )
777 this.handler = handler;
784 internal override void Invoke(
int channel )
788 if ( touchController != null )
789 handler( touchController.newState.GetObjectByChannel( channel ), p1, p2, p3, p4 );
791 throw new InvalidOperationException(
"TouchListener.Invoke(ch): Controller is not a TouchPanel" );
Jypelin sisäiset metodit ja propertyt joihin käyttäjän ei tarvitse päästä käsiksi kuuluvat tähän luokkaan...
AccelerometerDirection
Suunta/ele joka tunnistetaan.
delegate void TouchHandler< T1, T2, T3 >(Touch touch, T1 p1, T2 p2, T3 p3)
Ohjaintapahtumankäsittelijä kolmella parametrilla.
delegate void MultiKeyHandler< T1 >(List< Key > keys, T1 p1)
Ohjaintapahtumankäsittelijä yhdellä parametrilla.
delegate void MultiKeyHandler< T1, T2, T3, T4 >(List< Key > keys, T1 p1, T2 p2, T3 p3, T4 p4)
Ohjaintapahtumankäsittelijä neljällä parametrilla.
Kosketuspaneelin kosketus.
delegate void AnalogHandler< T1, T2 >(AnalogState analogState, T1 p1, T2 p2)
Ohjaintapahtumankäsittelijä kahdella parametrilla.
delegate void TouchHandler< T1 >(Touch touch, T1 p1)
Ohjaintapahtumankäsittelijä yhdellä parametrilla.
Ohjaimen tavallisemmin käytettävä analogitikku. Padissa, jossa on kaksi tikkua, käytetään vasenta...
ButtonState
Napin (minkä tahansa) asento.
delegate void MultiKeyHandler< T1, T2 >(List< Key > keys, T1 p1, T2 p2)
Ohjaintapahtumankäsittelijä kahdella parametrilla.
ListenContext ControlContext
Puhelimen kiihtyvyysanturi.
Näppäimistö peliohjaimena.
delegate void Handler< T1, T2, T3 >(T1 p1, T2 p2, T3 p3)
Ohjaintapahtumankäsittelijä kolmella parametrilla.
Peliluokka reaaliaikaisille peleille.
Listener InContext(ControlContexted obj)
Kuuntelee tapahtumaa vain tietyssä kontekstissa. Esim. Keyboard.Listen(parametrit).InContext(omaIkkuna) kuuntelee haluttua näppäimistötapahtumaa ainoastaan kun ikkuna on näkyvissä ja päällimmäisenä.
delegate void TouchHandler< T1, T2 >(Touch touch, T1 p1, T2 p2)
Ohjaintapahtumankäsittelijä kahdella parametrilla.
delegate void AnalogHandler(AnalogState analogState)
Ohjaintapahtumankäsittelijä ilman parametreja.
delegate void Handler< T1 >(T1 p1)
Ohjaintapahtumankäsittelijä yhdellä parametrilla.
Listener InContext(ListenContext context)
Kuuntelee tapahtumaa vain tietyssä kontekstissa.
Parametrit analogisen ohjauksen (hiiren tai ohjaustikun) tapahtumalle.
GestureType
Kosketuseleen tyyppi.
ListenContext ControlContext
Pelin pääohjainkonteksti.
AccelerometerSensitivity
Herkkyys jolla kallistus/ele halutaan tunnistaa.
delegate void TouchHandler(Touch touch)
Ohjaintapahtumankäsittelijä ilman parametreja.
delegate void MultiKeyHandler(List< Key > keys)
Ohjaintapahtumankäsittelijä ilman parametreja.
delegate void MultiKeyHandler< T1, T2, T3 >(List< Key > keys, T1 p1, T2 p2, T3 p3)
Ohjaintapahtumankäsittelijä kolmella parametrilla.
delegate void Handler()
Ohjaintapahtumankäsittelijä ilman parametreja.
Listener OnObject(GameObject obj)
Kuuntelee tapahtumaa tietyn olion päällä.
Yhteinen rajapinta kaikille peliolioille.
delegate void Handler< T1, T2 >(T1 p1, T2 p2)
Ohjaintapahtumankäsittelijä kahdella parametrilla.
delegate void AnalogHandler< T1, T2, T3 >(AnalogState analogState, T1 p1, T2 p2, T3 p3)
Ohjaintapahtumankäsittelijä kolmella parametrilla.
bool IsDestroyed
Onko olio tuhottu.
List< Listener > AssociatedListeners
Action Destroyed
Tapahtuu, kun olio tuhotaan.
delegate void Handler< T1, T2, T3, T4 >(T1 p1, T2 p2, T3 p3, T4 p4)
Ohjaintapahtumankäsittelijä neljällä parametrilla.
delegate void AnalogHandler< T1 >(AnalogState analogState, T1 p1)
Ohjaintapahtumankäsittelijä yhdellä parametrilla.
AnalogControl
Analoginen ohjain. Tämä voi olla joko painike, jota voi painaa eri voimakkuuksilla (padiohjaimen liip...
delegate void TouchHandler< T1, T2, T3, T4 >(Touch touch, T1 p1, T2 p2, T3 p3, T4 p4)
Ohjaintapahtumankäsittelijä neljällä parametrilla.
Pelialueella liikkuva olio. Käytä fysiikkapeleissä PhysicsObject-olioita.
delegate void AnalogHandler< T1, T2, T3, T4 >(AnalogState analogState, T1 p1, T2 p2, T3 p3, T4 p4)
Ohjaintapahtumankäsittelijä neljällä parametrilla.
Yleinen peliohjainluokka.
Rajapinta olioille, jotka ovat tuhottavissa.