48 lines
No EOL
1.4 KiB
C#
48 lines
No EOL
1.4 KiB
C#
// WingsEmu
|
|
//
|
|
// Developed by NosWings Team
|
|
|
|
using System;
|
|
using System.Threading.Tasks;
|
|
using WingsAPI.Data.Families;
|
|
using WingsEmu.Game.Families.Enum;
|
|
using WingsEmu.Game.Families.Event;
|
|
using WingsEmu.Game.Networking;
|
|
using WingsEmu.Packets.Enums.Families;
|
|
|
|
namespace WingsAPI.Game.Extensions.Families
|
|
{
|
|
public static class FamilyEventExtensions
|
|
{
|
|
public static async Task FamilyAddLogAsync(this IClientSession session, FamilyLogType familyLogType, string actor, string firstArg = null, string secondArg = null, string thirdArg = null)
|
|
{
|
|
if (!session.PlayerEntity.IsInFamily())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var familyLog = new FamilyLogDto
|
|
{
|
|
FamilyId = session.PlayerEntity.Family.Id,
|
|
FamilyLogType = familyLogType,
|
|
Actor = actor,
|
|
Argument1 = firstArg,
|
|
Argument2 = secondArg,
|
|
Argument3 = thirdArg,
|
|
Timestamp = DateTime.UtcNow
|
|
};
|
|
|
|
await session.EmitEventAsync(new FamilyAddLogEvent(familyLog));
|
|
}
|
|
|
|
public static async Task FamilyAddExperience(this IClientSession session, int experience, FamXpObtainedFromType type)
|
|
{
|
|
if (!session.PlayerEntity.IsInFamily())
|
|
{
|
|
return;
|
|
}
|
|
|
|
await session.EmitEventAsync(new FamilyAddExperienceEvent(experience, type));
|
|
}
|
|
}
|
|
} |