Esempio n. 1
0
        public Character(ILogger <Character> logger,
                         IGameWorld gameWorld,
                         ICharacterConfiguration characterConfig,
                         IBackgroundTaskQueue taskQueue,
                         IDatabasePreloader databasePreloader,
                         IChatManager chatManager,
                         ILinkingManager linkinManager,
                         IDyeingManager dyeingManager) : base(databasePreloader)
        {
            _logger          = logger;
            _gameWorld       = gameWorld;
            _characterConfig = characterConfig;
            _taskQueue       = taskQueue;
            _chatManager     = chatManager;
            _linkingManager  = linkinManager;
            _dyeingManager   = dyeingManager;
            _packetsHelper   = new PacketsHelper();

            _castTimer.Elapsed          += CastTimer_Elapsed;
            _summonVehicleTimer.Elapsed += SummonVehicleTimer_Elapsed;

            OnMaxHPChanged += Character_OnMaxHPChanged;
            OnMaxMPChanged += Character_OnMaxMPChanged;
            OnMaxSPChanged += Character_OnMaxSPChanged;

            OnDead += Character_OnDead;

            Bless.Instance.OnDarkBlessChanged  += OnDarkBlessChanged;
            Bless.Instance.OnLightBlessChanged += OnLightBlessChanged;
        }
Esempio n. 2
0
 public EnteredMapHandler(IGamePacketFactory packetFactory, IGameSession gameSession, IGameWorld gameWorld, ITeleportationManager teleportationManager, IMapProvider mapProvider, IWarehouseManager warehouseManager) : base(packetFactory, gameSession)
 {
     _gameWorld            = gameWorld;
     _teleportationManager = teleportationManager;
     _mapProvider          = mapProvider;
     _warehouseManager     = warehouseManager;
 }
Esempio n. 3
0
 public void HandleEvent(IGameObject gameObject, IGameWorld gameWorld, object gameEvent)
 {
     if (gameEvent is EnemyDestructionStart)
     {
         _currentChar = _displayCharDestructionState;
     }
 }
 public SearchPartyHandler(IGamePacketFactory packetFactory, IGameSession gameSession, IGameWorld gameWorld, IPartyManager partyManager, IMapProvider mapProvider, ICountryProvider countryProvider) : base(packetFactory, gameSession)
 {
     _gameWorld       = gameWorld;
     _partyManager    = partyManager;
     _mapProvider     = mapProvider;
     _countryProvider = countryProvider;
 }
Esempio n. 5
0
 public void HandleEvent(IGameWorld gameWorld, object gameEvent)
 {
     _inputComponent?.HandleEvent(this, gameWorld, gameEvent);
     _physicComponent?.HandleEvent(this, gameWorld, gameEvent);
     _logicComponent?.HandleEvent(this, gameWorld, gameEvent);
     _graphicComponent?.HandleEvent(this, gameWorld, gameEvent);
 }
        public IEnemyLogicState HandleEvent(IGameObject gameObject, IGameWorld gameWorld, object gameEvent)
        {
            if (gameEvent is ShellHitEvent)
            {
                var destructionState = new EnemyLogicDestructionState(_enemyData);
                destructionState.Init(gameObject, gameWorld);
                return(destructionState);
            }

            if (gameEvent is FireEvent)
            {
                if (_currentUpdatesForReload == 0)
                {
                    var fireEvent = gameEvent as FireEvent;

                    _currentUpdatesForReload = _updatesForReload;

                    var(fireX, fireY) = _geometryMathService
                                        .PointOnBoundary(gameObject, fireEvent.Direction);

                    var fireCommandOptions =
                        new FireCommandOptions(fireX, fireY, fireEvent.Direction);
                    _fireCommand.Do(gameObject, gameWorld, fireCommandOptions);
                }
            }

            return(this);
        }
Esempio n. 7
0
 public void Init(IGameWorld gameWorld)
 {
     _inputComponent?.Init(this, gameWorld);
     _physicComponent?.Init(this, gameWorld);
     _logicComponent?.Init(this, gameWorld);
     _graphicComponent?.Init(this, gameWorld);
 }
Esempio n. 8
0
 public void Destroy(IGameWorld gameWorld)
 {
     _inputComponent?.Destroy(this, gameWorld);
     _physicComponent?.Destroy(this, gameWorld);
     _logicComponent?.Destroy(this, gameWorld);
     _graphicComponent?.Destroy(this, gameWorld);
 }
        public IEnemyInputState Update(IGameObject gameObject, IGameWorld gameWorld)
        {
            var player = _gameObjectLocator.GetPlayer();

            var distanceToPlayer = gameWorld.GetDistance(gameObject, player);

            if (distanceToPlayer > _playerLoseDistance ||
                !gameWorld.IsObjectsVisibleToEachOther(gameObject, player))
            {
                return(new EnemyInputIdleState(_gameObjectLocator,
                                               _geometryMathService, _enemyData));
            }

            if (distanceToPlayer > _approachingDistance)
            {
                var moveAzimuth = _geometryMathService.Azimuth(
                    gameObject.X, gameObject.Y, player.X, player.Y);
                gameObject.HandleEvent(gameWorld, new MoveEvent(moveAzimuth));
            }

            var fireAzimuth = _geometryMathService.Azimuth(
                gameObject.X, gameObject.Y, player.X, player.Y);

            gameObject.HandleEvent(gameWorld, new FireEvent(fireAzimuth));

            return(this);
        }
Esempio n. 10
0
        public GameScreen(IGameWorld gameWorld, INetworkManager networkManager) : base("GameScreen")
        {
            GameWorld      = gameWorld;
            NetworkManager = networkManager;

            PacketManager.Initialize(networkManager);

            var gameScreenUserInterface = new GameScreenUserInterface();

            _interfaceController = new GameScreenUserInterfaceController(gameScreenUserInterface);
            UserInterface        = new MyraUserInterface(gameScreenUserInterface);

            _bluePrintManager = new BluePrintManager(this);

            var updateResolver = new CameraBoundsUpdateResolver(_camera);

            _gameRenderer = new GameRenderer(
                new PlayerRenderer(),
                new WorldRenderer(),
                new LightMapRenderer(),
                updateResolver);

            _playerCreator = new PlayerCreator(
                GameWorld,
                _interfaceController,
                _camera,
                updateResolver);
        }
        public void HandleEvent(IGameObject gameObject,
                                IGameWorld gameWorld, object gameEvent)
        {
            if (gameEvent is FireEvent)
            {
                var fireEvent = gameEvent as FireEvent;

                var(fireX, fireY) = _geometryMathService
                                    .PointOnBoundary(gameObject, fireEvent.Direction);

                var fireCommandOptions =
                    new FireCommandOptions(fireX, fireY, fireEvent.Direction);
                _fireCommand.Do(gameObject, gameWorld, fireCommandOptions);
            }

            if (gameEvent is ShellHitEvent)
            {
                gameWorld.SendEvent(new PlayerKilled());
            }

            if (gameEvent is MovedEvent)
            {
                var movedEvent = gameEvent as MovedEvent;
                _consoleWriter.SetCameraCenter(movedEvent.NewX, movedEvent.NewY);
            }
        }
Esempio n. 12
0
        private void PrintGameWorldInfo(IGameWorld world)
        {
            var enemies = world.Enemies;

            PrintByType("Алкаш", enemies);
            PrintByType("Эксгибиционист", enemies);
            PrintByType("Гопник", enemies);
        }
Esempio n. 13
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FightGameAIMain" /> class.
        /// </summary>
        public FightGameAIMain()
        {
            InitializeComponent();

            gw = new GameWorld();

            lstOutPut.DataSource = gw.ListOfEvents;
        }
Esempio n. 14
0
 public WorldServer(ILogger <WorldServer> logger, IOptions <ImgeneusServerOptions> tcpConfiguration, IServiceProvider serviceProvider, IOptions <WorldConfiguration> worldConfiguration, IInterServerClient interClient, IGameWorld gameWorld)
     : base(tcpConfiguration.Value, serviceProvider)
 {
     _logger             = logger;
     _worldConfiguration = worldConfiguration.Value;
     _interClient        = interClient;
     _gameWorld          = gameWorld;
 }
 public SelectionScreenManager(WorldClient client, IGameWorld gameWorld, ICharacterConfiguration characterConfiguration, IDatabase database)
 {
     _client    = client;
     _gameWorld = gameWorld;
     _characterConfiguration = characterConfiguration;
     _database = database;
     _client.OnPacketArrived += Client_OnPacketArrived;
 }
Esempio n. 16
0
        private void PrintGameWorldInfo(IGameWorld world)
        {
            var enemies = world.Enemies;

            PrintByType("Alkash", enemies);
            PrintByType("Eksibicionist", enemies);
            PrintByType("Gopnik", enemies);
        }
Esempio n. 17
0
 public UseSkillHandlers(IGamePacketFactory packetFactory, IGameSession gameSession, IGameWorld gameWorld, ISkillsManager skillsManager, IAttackManager attackManager, IMapProvider mapProvider, ISkillCastingManager skillCastingManager) : base(packetFactory, gameSession)
 {
     _gameWorld           = gameWorld;
     _skillsManager       = skillsManager;
     _attackManager       = attackManager;
     _mapProvider         = mapProvider;
     _skillCastingManager = skillCastingManager;
 }
Esempio n. 18
0
 public GMCreateNpcHandler(IGamePacketFactory packetFactory, IGameSession gameSession, IGameDefinitionsPreloder definitionsPreloder, IMovementManager movementManager, IMapProvider mapProvider, IGameWorld gameWorld, INpcFactory npcFactory) : base(packetFactory, gameSession)
 {
     _definitionsPreloder = definitionsPreloder;
     _movementManager     = movementManager;
     _mapProvider         = mapProvider;
     _gameWorld           = gameWorld;
     _npcFactory          = npcFactory;
 }
Esempio n. 19
0
 public NpcBuyItemHandler(ILogger <NpcBuyItemHandler> logger, IGamePacketFactory packetFactory, IGameSession gameSession, IMapProvider mapProvider, IGameWorld gameWorld, IInventoryManager inventoryManager, IGuildManager guildManager) : base(packetFactory, gameSession)
 {
     _logger           = logger;
     _mapProvider      = mapProvider;
     _gameWorld        = gameWorld;
     _inventoryManager = inventoryManager;
     _guildManager     = guildManager;
 }
        public IEnemyLogicState Update(IGameObject gameObject, IGameWorld gameWorld)
        {
            if (_currentUpdatesForReload > 0)
            {
                _currentUpdatesForReload--;
            }

            return(this);
        }
Esempio n. 21
0
        public TradeManager(ILogger <TradeManager> logger, IGameWorld gameWorld, IInventoryManager inventoryManager)
        {
            _logger           = logger;
            _gameWorld        = gameWorld;
            _inventoryManager = inventoryManager;
#if DEBUG
            _logger.LogDebug("TradeManager {hashcode} created", GetHashCode());
#endif
        }
Esempio n. 22
0
        public FriendsManager(ILogger <FriendsManager> logger, IDatabase database, IGameWorld gameWorld)
        {
            _logger    = logger;
            _database  = database;
            _gameWorld = gameWorld;
#if DEBUG
            _logger.LogDebug("FriendsManager {hashcode} created", GetHashCode());
#endif
        }
Esempio n. 23
0
 public WorldServer(ILogger <WorldServer> logger, WorldConfiguration configuration, IGameWorld gameWorld)
     : base(new ServerConfiguration(configuration.Host, configuration.Port, configuration.MaximumNumberOfConnections))
 {
     _logger                      = logger;
     _worldConfiguration          = configuration;
     _gameWorld                   = gameWorld;
     InterClient                  = new ISClient(configuration);
     InterClient.OnPacketArrived += InterClient_OnPacketArrived;;
 }
Esempio n. 24
0
 public WorldServer(ILogger <WorldServer> logger, IOptions <WorldConfiguration> configuration, IGameWorld gameWorld, IInterServerClient interClient, ISelectionScreenFactory selectionScreenFactory)
     : base(new ServerConfiguration(configuration.Value.Host, configuration.Value.Port, configuration.Value.MaximumNumberOfConnections), logger)
 {
     _logger                 = logger;
     _worldConfiguration     = configuration.Value;
     _gameWorld              = gameWorld;
     _interClient            = interClient;
     _selectionScreenFactory = selectionScreenFactory;
 }
Esempio n. 25
0
        public IEnemyLogicState HandleEvent(IGameObject gameObject, IGameWorld gameWorld, object gameEvent)
        {
            if (gameEvent is EnemyDestructionEnd)
            {
                gameWorld.Destroy(gameObject);
            }

            return(this);
        }
        public IEnemyInputState HandleEvent(IGameObject gameObject,
                                            IGameWorld gameWorld, object gameEvent)
        {
            if (gameEvent is EnemyDestructionStart)
            {
                return(new EnemyInputDestructionState());
            }

            return(this);
        }
Esempio n. 27
0
 public GMTeleportHandler(IGamePacketFactory packetFactory, IGameSession gameSession, IGameWorld gameWorld, IMapsLoader mapLoader, ICountryProvider countryProvider, ITeleportationManager teleportationManager, IMovementManager movementManager, IPartyManager partyManager, IGuildManager guildManager) : base(packetFactory, gameSession)
 {
     _gameWorld            = gameWorld;
     _mapLoader            = mapLoader;
     _countryProvider      = countryProvider;
     _teleportationManager = teleportationManager;
     _movementManager      = movementManager;
     _partyManager         = partyManager;
     _guildManager         = guildManager;
 }
Esempio n. 28
0
        public Player(IGameWorld gameWorld)
        {
            this.GameWorld = gameWorld;

            this.GameWorld.DynamicObjects.Add(new CircleShape(100)
            {
                Origin    = new Vector2f(100, 100),
                FillColor = Color.Red
            });
        }
Esempio n. 29
0
        public GuildManager(ILogger <IGuildManager> logger, IGuildConfiguration config, IGuildHouseConfiguration houseConfig, IDatabase database, IGameWorld gameWorld, ITimeService timeService)
        {
            _logger      = logger;
            _database    = database;
            _gameWorld   = gameWorld;
            _timeService = timeService;

            _config      = config;
            _houseConfig = houseConfig;
        }
Esempio n. 30
0
 public PlayerCreator(
     IGameWorld gameWorld,
     GameScreenUserInterfaceController interfaceController,
     Camera camera,
     IUpdateResolver <IEntity> updateResolver)
 {
     _gameWorld           = gameWorld;
     _interfaceController = interfaceController;
     _camera         = camera;
     _updateResolver = updateResolver;
 }