/// <summary> /// Create and load the tax collector (IO) /// </summary> public TaxCollectorNpc(WorldMapTaxCollectorRecord record, int contextId) { m_record = record; m_contextId = contextId; Bag = new TaxCollectorBag(this); if (record.MapId == null) { throw new Exception("TaxCollector's map not found"); } Position = new ObjectPosition( record.Map, record.Map.Cells[m_record.Cell], (DirectionsEnum)m_record.Direction); Guild = GuildManager.Instance.TryGetGuild(Record.GuildId); LoadRecord(); }
/// <summary> /// Create a new tax collector with a new record (no IO) /// </summary> public TaxCollectorNpc(int globalId, int contextId, ObjectPosition position, Guild guild, Character caller) { m_contextId = contextId; Position = position; Guild = guild; Bag = new TaxCollectorBag(this); m_record = new WorldMapTaxCollectorRecord { Id = globalId, Map = Position.Map, Cell = Position.Cell.Id, Direction = (int)Position.Direction, FirstNameId = (short)TaxCollectorManager.Instance.GetRandomTaxCollectorFirstname(), LastNameId = (short)TaxCollectorManager.Instance.GetRandomTaxCollectorName(), GuildId = guild.Id, CallerName = caller.Name, CallerId = caller.Id, Date = DateTime.Now }; IsRecordDirty = true; }