public void AddEventListener(RoomEvent forEvent) { switch (forEvent.Type) { case EventType.TryGo: if ((forEvent as TryGoEvent).MoveSource() == this) { forEvent.AddResponder(new ResponderWrapper(RespondToOwnTryGo), forEvent.TickDuration()); } break; } Client currentClient = Client; if (currentClient != null) { forEvent.AddResponder(new ResponderWrapper <Body>(this.Body, AttemptToObserve, AttemptToObserve), forEvent.TickDuration()); } }
public override void AddEventListener(RoomEvent forEvent) { switch (forEvent.Type) { case EventType.TryGo: if (forEvent.EventSource() == this) { forEvent.AddResponder(new ResponderWrapper(RespondToOwnTryGo), 0); } break; case EventType.Movement: if (forEvent.EventSource() == this) { forEvent.AddResponder(new ResponderWrapper(RespondToOwnMove, CancelOwnMove), forEvent.TickDuration()); } break; } }