Пример #1
0
 public GMGetItemHandler(IGamePacketFactory packetFactory, IGameSession gameSession, IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, IInventoryManager inventoryManager) : base(packetFactory, gameSession)
 {
     _databasePreloader = databasePreloader;
     _enchantConfig     = enchantConfig;
     _itemCreateConfig  = itemCreateConfig;
     _inventoryManager  = inventoryManager;
 }
Пример #2
0
        public BankManager(ILogger<BankManager> logger, IDatabase database, IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, IInventoryManager inventoryManager)
        {
            _logger = logger;
            _database = database;
            _databasePreloader = databasePreloader;
            _enchantConfig = enchantConfig;
            _itemCreateConfig = itemCreateConfig;
            _inventoryManager = inventoryManager;
#if DEBUG
            _logger.LogDebug("BankManager {hashcode} created", GetHashCode());
#endif
        }
Пример #3
0
        public Item(IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, byte type, byte typeId, byte count = 1)
        {
            _databasePreloader = databasePreloader;
            _enchantConfig     = enchantConfig;
            _itemCreateConfig  = itemCreateConfig;
            Type         = type;
            TypeId       = typeId;
            Count        = count;
            CreationTime = DateTime.UtcNow;

            if (Type != 0 && TypeId != 0 && Type != MONEY_ITEM_TYPE)
            {
                _dbItem = _databasePreloader.Items[(Type, TypeId)];
Пример #4
0
        public Mob(ushort mobId,
                   bool shouldRebirth,
                   MoveArea moveArea,
                   ILogger <Mob> logger,
                   IDatabasePreloader databasePreloader,
                   IAIManager aiManager,
                   IItemEnchantConfiguration enchantConfig,
                   IItemCreateConfiguration itemCreateConfig,
                   ICountryProvider countryProvider,
                   IStatsManager statsManager,
                   IHealthManager healthManager,
                   ILevelProvider levelProvider,
                   ISpeedManager speedManager,
                   IAttackManager attackManager,
                   ISkillsManager skillsManager,
                   IBuffsManager buffsManager,
                   IElementProvider elementProvider,
                   IMovementManager movementManager,
                   IUntouchableManager untouchableManager,
                   IMapProvider mapProvider) : base(databasePreloader, countryProvider, statsManager, healthManager, levelProvider, buffsManager, elementProvider, movementManager, untouchableManager, mapProvider)
        {
            _logger           = logger;
            _enchantConfig    = enchantConfig;
            _itemCreateConfig = itemCreateConfig;
            _dbMob            = databasePreloader.Mobs[mobId];
            _moveArea         = moveArea;

            AIManager = aiManager;

            Exp           = _dbMob.Exp;
            ShouldRebirth = shouldRebirth;

            SpeedManager  = speedManager;
            AttackManager = attackManager;
            SkillsManager = skillsManager;

            ElementProvider.ConstAttackElement  = _dbMob.Element;
            ElementProvider.ConstDefenceElement = _dbMob.Element;

            if (ShouldRebirth)
            {
                _rebirthTimer.Interval = RespawnTimeInMilliseconds;
                _rebirthTimer.Elapsed += RebirthTimer_Elapsed;

                HealthManager.OnDead += MobRebirth_OnDead;
            }

            HealthManager.OnGotDamage += OnDecreaseHP;
            AIManager.OnStateChanged  += AIManager_OnStateChanged;
        }
Пример #5
0
        public WarehouseManager(ILogger <WarehouseManager> logger, IDatabase database, IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, IGameWorld gameWorld, IGamePacketFactory packetFactory)
        {
            _logger            = logger;
            _database          = database;
            _databasePreloader = databasePreloader;
            _enchantConfig     = enchantConfig;
            _itemCreateConfig  = itemCreateConfig;
            _gameWorld         = gameWorld;
            _packetFactory     = packetFactory;
            Items = new(_items);

#if DEBUG
            _logger.LogDebug("WarehouseManager {hashcode} created", GetHashCode());
#endif
        }
Пример #6
0
        public QuestsManager(ILogger <QuestsManager> logger, IGameDefinitionsPreloder definitionsPreloader, IMapProvider mapProvider, IGameWorld gameWorld, IDatabase database, IPartyManager partyManager, IInventoryManager inventoryManager, IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, ILevelingManager levelingManager)
        {
            _logger = logger;
            _definitionsPreloader = definitionsPreloader;
            _mapProvider          = mapProvider;
            _gameWorld            = gameWorld;
            _database             = database;
            _partyManager         = partyManager;
            _inventoryManager     = inventoryManager;
            _databasePreloader    = databasePreloader;
            _enchantConfig        = enchantConfig;
            _itemCreateConfig     = itemCreateConfig;
            _levelingManager      = levelingManager;
#if DEBUG
            _logger.LogDebug("QuestsManager {hashcode} created", GetHashCode());
#endif
        }
Пример #7
0
        public LinkingManager(ILogger <LinkingManager> logger, IDatabasePreloader databasePreloader, IInventoryManager inventoryManager, IStatsManager statsManager, IHealthManager healthManager, ISpeedManager speedManager, IGuildManager guildManager, IMapProvider mapProvider, IItemEnchantConfiguration itemEnchantConfig, IItemCreateConfiguration itemCreateConfig)
        {
            _logger            = logger;
            _databasePreloader = databasePreloader;
            _inventoryManager  = inventoryManager;
            _statsManager      = statsManager;
            _healthManager     = healthManager;
            _speedManager      = speedManager;
            _guildManager      = guildManager;
            _mapProvider       = mapProvider;
            _itemEnchantConfig = itemEnchantConfig;
            _itemCreateConfig  = itemCreateConfig;

#if DEBUG
            _logger.LogDebug("LinkingManager {hashcode} created", GetHashCode());
#endif
        }
Пример #8
0
        public Item(IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, DbWarehouseItem dbWarehouseItem) : this(databasePreloader, enchantConfig, itemCreateConfig, dbWarehouseItem.Type, dbWarehouseItem.TypeId, dbWarehouseItem.Count)
        {
            Bag     = WarehouseManager.WAREHOUSE_BAG;
            Slot    = dbWarehouseItem.Slot;
            Quality = dbWarehouseItem.Quality;

            CreationTime   = dbWarehouseItem.CreationTime;
            ExpirationTime = dbWarehouseItem.ExpirationTime;

            if (!string.IsNullOrWhiteSpace(dbWarehouseItem.Craftname))
            {
                ParseCraftname(dbWarehouseItem.Craftname);
            }

            if (dbWarehouseItem.HasDyeColor)
            {
                DyeColor = new DyeColor(dbWarehouseItem.DyeColorAlpha, dbWarehouseItem.DyeColorSaturation, dbWarehouseItem.DyeColorR, dbWarehouseItem.DyeColorG, dbWarehouseItem.DyeColorB);
            }

            if (dbWarehouseItem.GemTypeId1 != 0)
            {
                Gem1 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId1, 0);
            }
            if (dbWarehouseItem.GemTypeId2 != 0)
            {
                Gem2 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId2, 1);
            }
            if (dbWarehouseItem.GemTypeId3 != 0)
            {
                Gem3 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId3, 2);
            }
            if (dbWarehouseItem.GemTypeId4 != 0)
            {
                Gem4 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId4, 3);
            }
            if (dbWarehouseItem.GemTypeId5 != 0)
            {
                Gem5 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId5, 4);
            }
            if (dbWarehouseItem.GemTypeId6 != 0)
            {
                Gem6 = new Gem(databasePreloader, dbWarehouseItem.GemTypeId6, 5);
            }
        }
Пример #9
0
 public Item(IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, BankItem bankItem) : this(databasePreloader, enchantConfig, itemCreateConfig, bankItem.Type, bankItem.TypeId, bankItem.Count)
 {
 }