public void Test1() { var worldRepository = new WorldRepositoryClientSide(); var newInstanceFactory = new NewInstanceFactoryClientSide(worldRepository); var processorsProvider = new ProcessorsProvider(newInstanceFactory); var world = new WorldClientSideEntity(); var city = new CityClientSideEntity(); world.Cities.Add(city); var livingHouse = new LivingHouseClientSideEntity(); livingHouse.Cargos.Add(new FreshWaterClientSideEntity { Count = 1m }); livingHouse.Cargos.Add(new SaltClientSideEntity { Count = 1m }); city.Buildings.Add(livingHouse); var saltEvaporationFactory = new SaltEvaporationFactoryClientSideEntity(); saltEvaporationFactory.Cargos.Add(new SaltWaterClientSideEntity { Count = 1 }); processorsProvider.Process(world); }
protected virtual void ProcessCargos(ICargoContainer entity) { foreach (var cargo in entity.Cargos.Collection) { ProcessorsProvider.Process(cargo); } }
public IProcessWorldResponse ProcessWorld(IProcessWorldRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (request.Player == null) { throw new Exception("Player is null"); } var world = WorldRepository.GetWorld(request.WorldGuid); if (world == null) { throw new Exception($"World with guid='{request.WorldGuid}' not found"); } var player = world.Players.Collection.FirstOrDefault(c => c.Guid == request.Player.Guid); if (player == null) { throw new Exception($"Player with guid='{request.Player.Guid}' not found"); } player.X = request.Player.X; player.Y = request.Player.Y; if (request.ClientCommands != null && request.ClientCommands.Any()) { foreach (var clientCommand in request.ClientCommands) { ProcessorsProvider.ProcessClientCommand(clientCommand, world, player); } } ProcessorsProvider.Process(world); foreach (var worldCity in world.Cities.Collection) { if (!player.VisibleCities.Contains(worldCity.Guid)) { if (CoordinateHelper.GetDistance(player.X, player.Y, worldCity.X, worldCity.Y) < worldCity.Size * 2) { player.VisibleCities = player.VisibleCities.Union(new[] { worldCity.Guid }).ToArray(); } } } ProcessorsProvider.Process(player); var result = new ProcessWorldResponseClientSideEntity(); result.Player = player; result.World = world; return(result); }
public CaravanServerConnectorClientSide() { var worldRepository = new WorldRepositoryClientSide(); var newInstanceFactory = new NewInstanceFactoryClientSide(worldRepository); var processorsProvider = new ProcessorsProvider(newInstanceFactory); var newWorldGenerator = new NewWorldGenerator(newInstanceFactory, worldRepository); CaravanServer = new CaravanServerClientSide(processorsProvider, newInstanceFactory, newWorldGenerator, worldRepository); }
public override void Process(object c) { var casted = H.Cast <ICity>(c); base.Process(casted); foreach (var building in casted.Buildings.Collection) { ProcessorsProvider.Process(building); } }
public override void Process(object c) { var casted = H.Cast <IWorld>(c); base.Process(casted); // ReSharper disable once ReturnValueOfPureMethodIsNotUsed casted.WorldDate = casted.WorldDate.AddSeconds(1); foreach (var city in casted.Cities.Collection) { ProcessorsProvider.Process(city); } }
public Instances(ICrvServiceContext context, INewInstanceFactory newInstanceFactory) { WorldRepository = new WorldRepositoryEntity(context); ProcessorsProvider = new ProcessorsProvider(newInstanceFactory); NewWorldGenerator = new NewWorldGenerator(newInstanceFactory, WorldRepository); }