mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-03 04:36:03 +08:00
49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using EggLink.DanhengServer.GameServer.Game.MatchThree.Member;
|
|
using EggLink.DanhengServer.GameServer.Server.Packet.Send.FightMatch3;
|
|
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Multiplayer;
|
|
using EggLink.DanhengServer.Proto;
|
|
|
|
namespace EggLink.DanhengServer.GameServer.Game.MatchThree;
|
|
|
|
public class MatchThreeGameInstance(FightGameMode mode)
|
|
{
|
|
public List<MatchThreeMemberInstance> Members { get; set; } = [];
|
|
public FightGameMode GameMode { get; set; } = mode;
|
|
public Match3State State { get; set; } = Match3State.Game;
|
|
|
|
public async ValueTask SyncMatchedResult()
|
|
{
|
|
foreach (var member in Members)
|
|
{
|
|
await member.Player.SendPacket(new PacketMultiplayerFightGameStartScNotify(this));
|
|
}
|
|
}
|
|
|
|
public async ValueTask TurnStart()
|
|
{
|
|
foreach (var member in Members)
|
|
{
|
|
member.Opponent = member;
|
|
await member.Player.SendPacket(new PacketFightMatch3TurnStartScNotify(this, member.Player.Uid));
|
|
}
|
|
}
|
|
|
|
public MultiplayerFightGameInfo ToBasicInfo()
|
|
{
|
|
return new MultiplayerFightGameInfo
|
|
{
|
|
GameMode = FightGameMode.Match3
|
|
};
|
|
}
|
|
|
|
public FightMatch3Data ToProto(int uid)
|
|
{
|
|
return new FightMatch3Data
|
|
{
|
|
Match3State = State,
|
|
PPJLNEDNDAH = 1,
|
|
PlayerInfoList = { Members.Select(x => x.ToPlayerInfo()) },
|
|
Match3CurInfo = Members.Find(x => x.Player.Uid == uid)!.ToCurPlayerInfo()
|
|
};
|
|
}
|
|
} |