Files
ft/Client/Assets/Scripts/UI/PartnerGather/EventPartnerGatherModel.cs
2026-06-29 21:18:33 +08:00

186 lines
5.2 KiB
C#

using System.Collections.Generic;
namespace EventPartnerGatherRequests
{
public class EventPartnerGatherDetail
{
public List<PlayerInfo> Partners { get; set; }
public List<PlayerInfo> InvitePartners { get; set; }
public List<PlayerInfo> RequestPartners { get; set; }
public List<Dictionary<string, int>> Scores { get; set; }
public List<PlayerInfo> RecommendInfoList { get; set; }
}
public class EventPartnerGatherDetailRequest
{
public int EventId { get; set; }
}
public class EventPartnerGatherDetailResp
{
public EEventBuildState State { get; set; }
public string Message { get; set; }
public EventPartnerGatherDetail Detail { get; set; }
}
public class EventPartnerGatherOperationResp
{
public EEventBuildState State { get; set; }
public int? SlotId { get; set; }
public string ErrorMessage { get; set; }
}
public class EventPartnerGatherRecommendPlayerRequest
{
public List<string> Exclude { get; set; }
public int? MaxLevel { get; set; }
public int? MinLevel { get; set; }
public int Count = 10;
}
public class EventPartnerGatherRecommendPlayerResp
{
public EEventBuildState State { get; set; }
public string ErrorMessage { get; set; }
public IList<PlayerInfo> Players { get; set; }
}
public class EventPartnerGatherChangeScoreRequest
{
public string PartnerId { get; set; }
public int SlotId { get; set; }
public int Score { get; set; }
public int EventId { get; set; }
}
public class EventPartnerGatherPartnerRequest
{
public string PartnerId { get; set; }
public int EventId { get; set; }
}
public class EventPartnerGatherPartnerEvt
{
// 0 = invite 1 = accept -1 = reject
public int EvtType { get; set; }
public PlayerInfo PartnerInfo { get; set; }
public int SlotId { get; set; }
}
public class EventPartnerGatherScoreEvt
{
public string PartnerId { get; set; }
public int Score { get; set; }
}
public class EventPartnerGatherRecentPlayerInfoRequest
{
public IEnumerable<string> playerPrefabs { get; set; }
}
public class EventPartnerGatherRecentPlayerInfoResponse
{
public EEventBuildState State { get; set; }
public string Message { get; set; }
public List<PlayerInfo> playerInfos { get; set; }
public IEnumerable<string> leftOvers { get; set; }
}
public class EventPartnerGatherPlayerDisplayInfoRequest
{
public IEnumerable<string> PlayfabIds { get; set; }
}
public class EventPartnerGatherPlayerDisplayInfoResp
{
public EEventBuildState State { get; set; }
public string Message { get; set; }
public IList<PlayerInfo> PlayerInfos { get; set; }
}
public class EventPartnerGatherBuildRequest
{
public string PartnerId { get; set; }
public int NewScore { get; set; }
public int EventId { get; set; }
}
public class EventPartnerGatherBuildResponse
{
public EEventBuildBuildState State { get; set; }
public string Message { get; set; }
}
// Accept 返回
public class EventPartnerGatherAcceptResponse
{
public EEventBuildState State { get; set; }
public List<PlayerInfo> PartnerList { get; set; }
public string Message { get; set; }
}
public enum EEventBuildState : byte
{
Success = 0,
Failed = 1,
InviteNotFound = 2,
AlreadyExist = 3,
NoActiveEvent = 4,
Full = 5
}
public enum EEventBuildBuildState
{
Success = 0,
ScoreError = 2,
PlayerInfoNotFound = 3,
Failed = 4
}
// 自动匹配控制请求
public class AutoMatchToggleRequest
{
public int EventId { get; set; }
public bool Enabled { get; set; }
}
// 自动匹配控制响应
public class AutoMatchToggleResponse
{
public EEventBuildState State { get; set; }
public string Message { get; set; }
public bool IsInMatching { get; set; }
}
// 自动匹配结果请求
public class AutoMatchStatusRequest
{
public int EventId { get; set; }
}
// 自动匹配结果响应
// public class AutoMatchResultResponse
// {
// public AutoMatchStatus Status { get; set; } // Pending/Success/Timeout/Failed
// public PlayerInfo MatchedPartner { get; set; }
// public string Message { get; set; }
// }
public class AutoMatchStatusResponse
{
public EEventBuildState State { get; set; }
public string Message { get; set; }
public bool IsInMatching { get; set; }
public int CurrentPartnerCount { get; set; }
public int MaxPartnerCount { get; set; }
public int RemainingSlots { get; set; }
public List<PlayerInfo> Partners { get; set; }
}
// // 自动匹配状态枚举
// public enum AutoMatchStatus
// {
// Pending, // 匹配中
// Success, // 匹配成功
// Timeout, // 超时
// Failed // 失败
// }
}