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(),
|
BaseEquipLoginData = new(),
|
||||||
FubenData = new()
|
FubenData = new()
|
||||||
{
|
{
|
||||||
StageData = session.stage.Stages.ToDictionary(x => x.Key, x => x.Value),
|
StageData = session.stage.Stages,
|
||||||
FubenBaseData = new()
|
FubenBaseData = new()
|
||||||
},
|
},
|
||||||
FubenMainLineData = new(),
|
FubenMainLineData = new(),
|
||||||
|
@ -147,6 +147,26 @@ namespace AscNet.GameServer.Handlers
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
notifyLogin.PlayerData.GuideData = GuideGroupTableReader.Instance.All.Select(x => (long)x.Id).ToList();
|
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
|
#endif
|
||||||
|
|
||||||
NotifyCharacterDataList notifyCharacterData = new();
|
NotifyCharacterDataList notifyCharacterData = new();
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using AscNet.Common.MsgPack;
|
using AscNet.Common.MsgPack;
|
||||||
|
using AscNet.GameServer.Commands;
|
||||||
using AscNet.Table.share.chat;
|
using AscNet.Table.share.chat;
|
||||||
using MessagePack;
|
using MessagePack;
|
||||||
|
|
||||||
|
@ -152,6 +153,26 @@ internal class ChatModule
|
||||||
request.ChatData.Icon = (int)session.player.PlayerData.CurrHeadPortraitId;
|
request.ChatData.Icon = (int)session.player.PlayerData.CurrHeadPortraitId;
|
||||||
request.ChatData.NickName = session.player.PlayerData.Name;
|
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 notifyWorldChat = new();
|
||||||
notifyWorldChat.ChatMessages.Add(request.ChatData);
|
notifyWorldChat.ChatMessages.Add(request.ChatData);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue