1
1
import { IConnection , IRoomHandlerListener } from '../../../api' ;
2
2
import { RoomSessionPollEvent , RoomSessionVoteEvent } from '../../../events' ;
3
- import { PollContentsEvent , PollErrorEvent , PollOfferEvent , StartRoomPollEvent } from '../../communication' ;
3
+ import { PollContentsEvent , PollErrorEvent , PollOfferEvent , StartRoomPollEvent , RoomPollResultEvent } from '../../communication' ;
4
4
import { BaseHandler } from './BaseHandler' ;
5
5
6
6
export class PollHandler extends BaseHandler
@@ -13,6 +13,7 @@ export class PollHandler extends BaseHandler
13
13
connection . addMessageEvent ( new PollOfferEvent ( this . onPollOfferEvent . bind ( this ) ) ) ;
14
14
connection . addMessageEvent ( new PollErrorEvent ( this . onPollErrorEvent . bind ( this ) ) ) ;
15
15
connection . addMessageEvent ( new StartRoomPollEvent ( this . onStartRoomPollEvent . bind ( this ) ) ) ;
16
+ connection . addMessageEvent ( new RoomPollResultEvent ( this . onRoomPollResultEvent . bind ( this ) ) ) ;
16
17
}
17
18
18
19
private onPollContentsEvent ( event : PollContentsEvent ) : void
@@ -93,4 +94,21 @@ export class PollHandler extends BaseHandler
93
94
94
95
this . listener . events . dispatchEvent ( pollEvent ) ;
95
96
}
97
+
98
+ private onRoomPollResultEvent ( event : RoomPollResultEvent ) : void
99
+ {
100
+ if ( ! this . listener ) return ;
101
+
102
+ const session = this . listener . getSession ( this . roomId ) ;
103
+
104
+ if ( ! session ) return ;
105
+
106
+ const parser = event . getParser ( ) ;
107
+
108
+ if ( ! parser ) return ;
109
+
110
+ const pollEvent = new RoomSessionVoteEvent ( RoomSessionVoteEvent . VOTE_RESULT , session , parser . question , parser . choices , parser . SafeStr_7651 , parser . SafeStr_7654 ) ;
111
+
112
+ this . listener . events . dispatchEvent ( pollEvent ) ;
113
+ }
96
114
}
0 commit comments