Skip to content

Commit c5ad5c4

Browse files
committed
Split Print function to new file
1 parent 49d18e4 commit c5ad5c4

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

CustomCommands/PrintFunctions.cs

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
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

Comments
 (0)