Beispiel #1
0
        private static void GetAllListeners(this RoomEvent roomEvent)
        {
            Room        room  = roomEvent.EventSource().Position.ForRoom;
            List <Item> items = room.FindListeningItems(roomEvent);

            foreach (Item item in items)
            {
                item.AddEventListeners(roomEvent);
            }
        }
Beispiel #2
0
        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;
            }
        }