초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,119 @@
using Google.Protobuf;
using Google.Protobuf.WellKnownTypes;
using ServerCore;
using ServerBase;
using ServerCommon;
using ServerCommon.BusinessLogDomain;
using MetaAssets;
namespace GameServer;
public static class PartyBusinessLogHelper
{
public static PartyLogData toPartyLogData(string partyGuid, bool isCreate)
{
var global_party = GameServerApp.getServerLogic().findGlobalEntity<GlobalParty>();
ArgumentNullException.ThrowIfNull(global_party);
var party = global_party.getParty(partyGuid);
if (null == party) return new PartyLogData { PartyGuid = partyGuid };
var party_attribute = party.getEntityAttribute<PartyAttribute>();
var party_member_action = party.getEntityAction<GlobalPartyDetailMemberAction>();
ArgumentNullException.ThrowIfNull(party_attribute);
ArgumentNullException.ThrowIfNull(party_member_action);
var party_log_data = new PartyLogData();
party_log_data.PartyGuid = party.PartyGuid;
party_log_data.PartyName = party_attribute.PartyName;
party_log_data.PartyLeaderCharGuid = party_attribute.PartyLeaderCharGuid;
party_log_data.PartyMemberCount = (isCreate) ? 1 : party_member_action.getMemberCount();
party_log_data.CreatePartyTime = party_attribute.CreatePartyTime;
return party_log_data;
}
public static PartyMemberLogData toPartyMemberLogData(string partyGuid, string userGuid, PartyMemberActionType actionType)
{
var log_data = new PartyMemberLogData();
log_data.PartyGuid = partyGuid;
log_data.UserGuid = userGuid;
log_data.PartyMemberActionType = actionType;
log_data.PartyMemberActionTime = DateTimeHelper.Current;
return log_data;
}
public static PartyVoteLogData toPartyVoteLogData(string partyGuid, bool isStart)
{
var global_party = GameServerApp.getServerLogic().findGlobalEntity<GlobalParty>();
ArgumentNullException.ThrowIfNull(global_party);
var party = global_party.getParty(partyGuid);
if (null == party) return new PartyVoteLogData { PartyGuid = partyGuid };
var party_detail_action = party.getEntityAction<GlobalPartyDetailInfoAction>();
ArgumentNullException.ThrowIfNull(party_detail_action);
var party_vote = party_detail_action.getPartyVoteInfo();
if(null == party_vote) return new PartyVoteLogData { PartyGuid = partyGuid };
var log_data = new PartyVoteLogData();
log_data.PartyGuid = partyGuid;
log_data.VoteTitle = party_vote.VoteTitle;
log_data.StartVoteTime = party_vote.StartVoteTime.ToDateTime();
if (isStart) return log_data;
log_data.EndVoteTime = DateTimeHelper.Current;
var vote_result = new VoteResult();
foreach (var vote in party_vote.Votes)
{
switch (vote.Value)
{
case VoteType.Agreement:
vote_result.Agree += 1;
break;
case VoteType.DisAgreement:
vote_result.DisAgree += 1;
break;
default:
vote_result.Abstain += 1;
break;
}
}
log_data.VoteResult = vote_result;
return log_data;
}
public static PartyInstanceLogData toPartyInstanceLogData(string partyGuid, bool isCreate)
{
var global_party = GameServerApp.getServerLogic().findGlobalEntity<GlobalParty>();
ArgumentNullException.ThrowIfNull(global_party);
var party = global_party.getParty(partyGuid);
if (null == party) return new PartyInstanceLogData { PartyGuid = partyGuid };
var party_instance_attribute = party.getEntityAttribute<PartyInstanceAttribute>();
ArgumentNullException.ThrowIfNull(party_instance_attribute);
var log_data = new PartyInstanceLogData();
log_data.PartyGuid = partyGuid;
log_data.InstanceId = party_instance_attribute.InstanceId;
log_data.InstanceRoomId = party_instance_attribute.RoomId;
log_data.JoinMemberCount = party_instance_attribute.JoinMemberCount;
log_data.CreateTime = DateTimeHelper.Current;
log_data.StartTime = party_instance_attribute.StartTime.ToDateTime();
if (false == isCreate)
{
log_data.EndTime = party_instance_attribute.EndTime.ToDateTime();
}
return log_data;
}
}