예제 #1
0
 public DeathSystem(ILogger <DeathSystem> logger, IOptions <WorldConfiguration> worldConfiguration, IGameResources gameResources, IMapManager mapManager, ITeleportSystem teleportSystem, IPlayerPacketFactory playerPacketFactory, IMoverPacketFactory moverPacketFactory)
 {
     _logger              = logger;
     _worldConfiguration  = worldConfiguration.Value;
     _gameResources       = gameResources;
     _mapManager          = mapManager;
     _teleportSystem      = teleportSystem;
     _playerPacketFactory = playerPacketFactory;
     _moverPacketFactory  = moverPacketFactory;
 }
예제 #2
0
 /// <summary>
 /// Creates a new <see cref="InventoryItemUsage"/> instance.
 /// </summary>
 public InventoryItemUsage(ILogger <InventoryItemUsage> logger, IInventoryPacketFactory inventoryPacketFactory, IMapManager mapManager, ISpecialEffectSystem specialEffectSystem, ITeleportSystem teleportSystem, IMoverPacketFactory moverPacketFactory, ITextPacketFactory textPacketFactory, IPlayerDataSystem playerDataSystem, IOptions <WorldConfiguration> worldServerConfiguration)
 {
     _logger = logger;
     _inventoryPacketFactory   = inventoryPacketFactory;
     _mapManager               = mapManager;
     _specialEffectSystem      = specialEffectSystem;
     _teleportSystem           = teleportSystem;
     _moverPacketFactory       = moverPacketFactory;
     _textPacketFactory        = textPacketFactory;
     _playerDataSystem         = playerDataSystem;
     _worldServerConfiguration = worldServerConfiguration.Value;
 }
예제 #3
0
        public void Initialize(IInputSystem inputSystem, MapCoordinates mapCoordinates)
        {
            currentLives = maxLives;
            _inputSystem = inputSystem;

            _mapCoordinates = mapCoordinates;
            void PlayerInitialization(IPlayer player) => player.Initialize(_inputSystem);

            _playerManager = _playerManager ?? new PoolManager <IPlayer>(playerPrefab, PlayerInitialization, 1);
            SpawnPlayer();

            void BulletInitialization(IBullet bullet) => bullet.Initialize(_mapCoordinates, _currentPlayer);

            _bulletManager  = _bulletManager ?? new PoolManager <IBullet>(bulletPrefab, BulletInitialization, startBulletCount);
            _teleportSystem = new TeleportSystem(_mapCoordinates, _currentPlayerTransform, teleportOffset, cornerTolerance);
        }
예제 #4
0
 /// <summary>
 /// Creates a new <see cref="RegionTriggerSystem"/> instance.
 /// </summary>
 /// <param name="teleportSystem">Teleport system.</param>
 public RegionTriggerSystem(ITeleportSystem teleportSystem)
 {
     _teleportSystem = teleportSystem;
 }
예제 #5
0
 /// <summary>
 /// Creates a new <see cref="TeleportationCommand"/> instance.
 /// </summary>
 /// <param name="logger">Logger.</param>
 /// <param name="teleportSystem">Teleport system.</param>
 public TeleportationCommand(ILogger <TeleportationCommand> logger, ITeleportSystem teleportSystem)
 {
     _logger         = logger;
     _teleportSystem = teleportSystem;
 }
예제 #6
0
 /// <summary>
 /// Creates a new <see cref="SummonCommand"/> instance.
 /// </summary>
 /// <param name="logger">logger system.</param>
 /// <param name="teleportSystem">Teleport system.</param>
 /// <param name="worldServer">World server.</param>
 public SummonCommand(ILogger <SummonCommand> logger, ITeleportSystem teleportSystem, IWorldServer worldServer)
 {
     _logger         = logger;
     _teleportSystem = teleportSystem;
     _worldServer    = worldServer;
 }