server-master/srcs/WingsAPI.Game/Families/IFamilyManager.cs
2026-02-10 18:21:30 +01:00

26 lines
No EOL
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using WingsAPI.Data.Families;
namespace WingsEmu.Game.Families;
public interface IFamilyManager
{
void AddFamily(FamilyDTO family, IReadOnlyCollection<FamilyMembershipDto> members);
void RemoveFamily(long familyId);
IFamily GetFamilyByFamilyName(string familyName);
Family GetFamilyByFamilyId(long familyId);
Family GetFamilyByFamilyIdCache(long familyId);
void AddOrReplaceMember(FamilyMembershipDto membership);
void AddOrReplaceMember(FamilyMembershipDto membership, IFamily family);
void RemoveMember(long characterId, long familyId);
void MemberDisconnectionUpdate(long characterId, DateTime disconnectionTime);
FamilyMembership GetFamilyMembershipByCharacterId(long characterId);
void AddToFamilyLogs(IReadOnlyDictionary<long, List<FamilyLogDto>> logs);
void SendLogToFamilyServer(FamilyLogDto log);
IEnumerable<long> AddToFamilyExperiences(Dictionary<long, long> exps);
void SendExperienceToFamilyServer(ExperienceGainedSubMessage experienceGainedSubMessage);
Task<bool> CanJoinNewFamilyAsync(int playerEntityId);
Task<bool> RemovePlayerJoinCooldownAsync(int playerEntityId);
}