30 lines
706 B
C#
30 lines
706 B
C#
|
using RPG.GameCore.Level.Objects;
|
|||
|
using RPG.Network.Proto;
|
|||
|
|
|||
|
namespace RPG.Services.Gameserver.Game.Entity.Factory;
|
|||
|
|
|||
|
internal class EntityFactory
|
|||
|
{
|
|||
|
private uint _entityIdSeed;
|
|||
|
|
|||
|
public AvatarEntity CreateAvatarEntity(uint avatarId, AvatarType type, uint uid)
|
|||
|
{
|
|||
|
return new(NextEntityId(), 0, 0, avatarId, type, uid);
|
|||
|
}
|
|||
|
|
|||
|
public NpcMonsterEntity CreateNpcMonsterEntity(LevelMonsterInfo levelMonster, uint groupId)
|
|||
|
{
|
|||
|
return new(NextEntityId(), groupId, levelMonster.ID, levelMonster.NPCMonsterID, levelMonster.EventID);
|
|||
|
}
|
|||
|
|
|||
|
public void Reset()
|
|||
|
{
|
|||
|
_entityIdSeed = 0;
|
|||
|
}
|
|||
|
|
|||
|
private uint NextEntityId()
|
|||
|
{
|
|||
|
return ++_entityIdSeed;
|
|||
|
}
|
|||
|
}
|