forked from PGR/ascnet
premature chat command + hardcoded stage for chat on any state
This commit is contained in:
parent
897a457584
commit
6976803f97
|
@ -132,7 +132,7 @@ namespace AscNet.GameServer.Handlers
|
|||
BaseEquipLoginData = new(),
|
||||
FubenData = new()
|
||||
{
|
||||
StageData = session.stage.Stages.ToDictionary(x => x.Key, x => x.Value),
|
||||
StageData = session.stage.Stages,
|
||||
FubenBaseData = new()
|
||||
},
|
||||
FubenMainLineData = new(),
|
||||
|
@ -147,6 +147,26 @@ namespace AscNet.GameServer.Handlers
|
|||
|
||||
#if DEBUG
|
||||
notifyLogin.PlayerData.GuideData = GuideGroupTableReader.Instance.All.Select(x => (long)x.Id).ToList();
|
||||
|
||||
StageDatum stageForChat = new()
|
||||
{
|
||||
StageId = 10030201,
|
||||
StarsMark = 7,
|
||||
Passed = true,
|
||||
PassTimesToday = 0,
|
||||
PassTimesTotal = 1,
|
||||
BuyCount = 0,
|
||||
Score = 0,
|
||||
LastPassTime = DateTimeOffset.Now.ToUnixTimeSeconds(),
|
||||
RefreshTime = DateTimeOffset.Now.ToUnixTimeSeconds(),
|
||||
CreateTime = DateTimeOffset.Now.ToUnixTimeSeconds(),
|
||||
BestRecordTime = 0,
|
||||
LastRecordTime = 0,
|
||||
BestCardIds = new List<long> { 1021001 },
|
||||
LastCardIds = new List<long> { 1021001 }
|
||||
};
|
||||
if (!notifyLogin.FubenData.StageData.ContainsKey(stageForChat.StageId))
|
||||
notifyLogin.FubenData.StageData = notifyLogin.FubenData.StageData.Append(new(stageForChat.StageId, stageForChat)).ToDictionary(x => x.Key, x => x.Value);
|
||||
#endif
|
||||
|
||||
NotifyCharacterDataList notifyCharacterData = new();
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using AscNet.Common.MsgPack;
|
||||
using AscNet.GameServer.Commands;
|
||||
using AscNet.Table.share.chat;
|
||||
using MessagePack;
|
||||
|
||||
|
@ -152,6 +153,26 @@ internal class ChatModule
|
|||
request.ChatData.Icon = (int)session.player.PlayerData.CurrHeadPortraitId;
|
||||
request.ChatData.NickName = session.player.PlayerData.Name;
|
||||
|
||||
if (request.ChatData.Content is not null && request.ChatData.Content.StartsWith('/'))
|
||||
{
|
||||
var cmdStrings = request.ChatData.Content.Split(" ");
|
||||
|
||||
try
|
||||
{
|
||||
Command? cmd = CommandFactory.CreateCommand(cmdStrings.First().Split('/').Last(), session, cmdStrings[1..]);
|
||||
if (cmd is null)
|
||||
{
|
||||
// Invalid command
|
||||
}
|
||||
|
||||
cmd?.Execute();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// Failed to execute command
|
||||
}
|
||||
}
|
||||
|
||||
NotifyWorldChat notifyWorldChat = new();
|
||||
notifyWorldChat.ChatMessages.Add(request.ChatData);
|
||||
|
||||
|
|
Loading…
Reference in New Issue