1
1
import { IConnection , IRoomHandlerListener } from '../../../api' ;
2
- import { RoomSessionPollEvent } from '../../../events' ;
3
- import { PollContentsEvent , PollErrorEvent , PollOfferEvent } from '../../communication' ;
2
+ import { RoomSessionPollEvent , RoomSessionVoteEvent } from '../../../events' ;
3
+ import { PollContentsEvent , PollErrorEvent , PollOfferEvent , RoomPollResultEvent } from '../../communication' ;
4
4
import { BaseHandler } from './BaseHandler' ;
5
5
6
6
export class PollHandler extends BaseHandler
@@ -12,6 +12,7 @@ export class PollHandler extends BaseHandler
12
12
connection . addMessageEvent ( new PollContentsEvent ( this . onPollContentsEvent . bind ( this ) ) ) ;
13
13
connection . addMessageEvent ( new PollOfferEvent ( this . onPollOfferEvent . bind ( this ) ) ) ;
14
14
connection . addMessageEvent ( new PollErrorEvent ( this . onPollErrorEvent . bind ( this ) ) ) ;
15
+ connection . addMessageEvent ( new RoomPollResultEvent ( this . onRoomPollResultEvent . bind ( this ) ) ) ;
15
16
}
16
17
17
18
private onPollContentsEvent ( event : PollContentsEvent ) : void
@@ -75,4 +76,21 @@ export class PollHandler extends BaseHandler
75
76
76
77
this . listener . events . dispatchEvent ( pollEvent ) ;
77
78
}
79
+
80
+ private onRoomPollResultEvent ( event : RoomPollResultEvent ) : void
81
+ {
82
+ if ( ! this . listener ) return ;
83
+
84
+ const session = this . listener . getSession ( this . roomId ) ;
85
+
86
+ if ( ! session ) return ;
87
+
88
+ const parser = event . getParser ( ) ;
89
+
90
+ if ( ! parser ) return ;
91
+
92
+ const pollEvent = new RoomSessionVoteEvent ( RoomSessionVoteEvent . VOTE_RESULT , session , parser . question , parser . choices , parser . SafeStr_7651 , parser . SafeStr_7654 ) ;
93
+
94
+ this . listener . events . dispatchEvent ( pollEvent ) ;
95
+ }
78
96
}
0 commit comments