1+ using CounterStrikeSharp . API ;
2+ using CounterStrikeSharp . API . Core ;
3+ using CustomCommands . Model ;
4+
5+ namespace CustomCommands ;
6+ public partial class CustomCommands
7+ {
8+ private void PrintToCenterClient ( CCSPlayerController player , Commands cmd )
9+ {
10+ var CenterClientElement = new CenterClientElement
11+ {
12+ ClientId = player . UserId ! . Value ,
13+ Message = cmd . CenterMessage . Message
14+ } ;
15+ centerClientOn . Add ( CenterClientElement ) ;
16+ AddTimer ( cmd . CenterMessage . Time , ( ) => centerClientOn . Remove ( CenterClientElement ) ) ;
17+ }
18+ private void PrintToAllCenter ( Commands cmd )
19+ {
20+ centerServerOn . Message = cmd . CenterMessage . Message ;
21+ centerServerOn . IsRunning = true ;
22+ AddTimer ( cmd . CenterMessage . Time , ( ) =>
23+ {
24+ centerServerOn . IsRunning = false ;
25+ } ) ;
26+ }
27+
28+ private void PrintToChatAndCenter ( Receiver receiver , CCSPlayerController player , Commands cmd )
29+ {
30+ PrintToChat ( receiver , player , cmd . Message ) ;
31+ PrintToCenterClient ( player , cmd ) ;
32+ }
33+
34+ private void PrintToChatAndAllCenter ( Receiver receiver , CCSPlayerController player , Commands cmd )
35+ {
36+ PrintToChat ( receiver , player , cmd . Message ) ;
37+ PrintToAllCenter ( cmd ) ;
38+ }
39+
40+ private void PrintToChat ( Receiver printToChat , CCSPlayerController player , string message )
41+ {
42+ string [ ] msg = ReplaceTags ( message ) . Split ( '\n ' ) ;
43+
44+ switch ( printToChat )
45+ {
46+ case Receiver . Client :
47+ PrintToChatClient ( player , msg ) ;
48+ break ;
49+ case Receiver . Server :
50+ PrintToChatServer ( msg ) ;
51+ break ;
52+ default :
53+ break ;
54+ }
55+ }
56+
57+ private void PrintToChatClient ( CCSPlayerController player , string [ ] msg )
58+ {
59+ foreach ( var line in msg )
60+ player . PrintToChat ( line ) ;
61+ }
62+
63+ private void PrintToChatServer ( string [ ] msg )
64+ {
65+ foreach ( var line in msg )
66+ Server . PrintToChatAll ( line ) ;
67+ }
68+ }
0 commit comments