public void RemoveTaxCollector(GuildMember member, TaxCollectorEntity taxCollector)
{
if (taxCollector.Guild != this)
{
member.SendHasNotEnoughRights();
return;
}
if (!member.HasRight(GuildRightEnum.COLLECT_TAXCOLLECTOR))
{
member.SendHasNotEnoughRights();
return;
}
taxCollector.AddMessage(() =>
{
if (!taxCollector.HasGameAction(GameActionTypeEnum.MAP))
{
member.Dispatch(WorldMessage.BASIC_NO_OPERATION());
return;
}
taxCollector.Map.SubArea.TaxCollector = null;
taxCollector.StopAction(GameActionTypeEnum.MAP);
AddMessage(() =>
{
RemoveTaxCollector(taxCollector);
SafeDispatch(WorldMessage.GUILD_TAXCOLLECTOR_REMOVED(taxCollector, member.Name));
});
});
}