protected override void OnUpdate() { Entity hitEntity; Entities .WithoutBurst() .WithStructuralChanges() .ForEach(( Entity entity, int entityInQueryIndex, ref MouseInput mouseInput ) => { if (mouseInput.primaryAction == 0) { return; } hitEntity = RaycastUtils.Raycast( mouseInput.mousePosition, out RaycastHit hit, buildPhysicsWorldSystem ); if (hitEntity == Entity.Null) { return; } if (EntityManager.HasComponent <SettlerTag>(hitEntity)) { SelectUnit.Create(hitEntity); // EntityManager.AddComponentData<Selected>(hitEntity, new Selected {}); mouseInput.primaryAction = 0; return; } HexCoordinates coordinates = CoordinatesService.GetCoordinatesFromPosition(hit.Position); Entity selectedEntity = HexCellService.FindBy(coordinates); if (EntityManager.HasComponent <Selected>(selectedEntity)) { SelectCommand.Remove(coordinates); } else { SelectCommand.Create(coordinates); } mouseInput.primaryAction = 0; }) .Run(); }
public void GetCoordinates_required_parameters_not_supplied_throws_CoordinateNotFoundException(string type, string name, string version) { // Arrange var classUnderTest = new CoordinatesService(); var coordinatePartsModel = new CoordinatePartsModel() { Type = type, Name = name, Version = version }; // Act // Assert Assert.Throws <CoordinateNotFoundException>(() => classUnderTest.GetCoordinates(coordinatePartsModel)); }
public void CreateCells(int width, int height) { int cellsCount = width * height; NativeArray <Entity> cellsArray = new NativeArray <Entity>(cellsCount, Allocator.Temp); EntityArchetype archetype = HexCellArchetype.GetArchetype(); entityManager.CreateEntity(archetype, cellsArray); for (int z = 0, i = 0; z < height; z++) { for (int x = 0; x < width; x++) { int elevation = UnityEngine.Random.Range(0, 6); entityManager.SetComponentData( cellsArray[i], CoordinatesService.CreateFromOffset(x, z) ); var pos = GetCellPosition(x, elevation, z); entityManager.SetComponentData( cellsArray[i], new Translation { Value = pos } ); entityManager.SetComponentData( cellsArray[i], new ColorComponent { Value = HexColor.GetRandomColor() } ); entityManager.SetComponentData( cellsArray[i], new Elevation { Value = elevation } ); i++; } } }
public void GetCoordinates_only_required_parameters_supplied_returns_valid_package_url() { // Arrange var classUnderTest = new CoordinatesService(); var expected = "pkg:nuget/[email protected]"; var coordinatePartsModel = new CoordinatePartsModel() { Type = "nuget", Name = "System.Net.Http", Version = "4.3.1" }; // Act var actual = classUnderTest.GetCoordinates(coordinatePartsModel); // Assert Assert.AreEqual(expected, actual); }
void AddTextCoordinatesOnGrid(int width, int height) { for (int z = 0, i = 0; z < height; z++) { for (int x = 0; x < width; x++) { Text label = Instantiate <Text>(cellLabelPrefab); label.rectTransform.SetParent(gridCanvas.transform, false); label.rectTransform.anchoredPosition = new Vector2( PositionCalculator.GetPositionX(x, z), PositionCalculator.GetPositionZ(z) ); HexCoordinates coordinates = CoordinatesService.CreateFromOffset(x, z); label.text = "" + coordinates.Value.x + ", " + coordinates.Value.y + ", " + coordinates.Value.z + ""; } } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddSession(options => { options.IdleTimeout = TimeSpan.FromMinutes(15); }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddDbContext <EntityFrameWorkMagicContext>(options => options.UseSqlServer(Configuration.GetConnectionString("EntityFrameWorkMagicContext"))); // DI var connectionString = Environment.GetEnvironmentVariable("SQL_CONNECTION") ?? Configuration.GetConnectionString("ConnMsSQL"); var projectRepository = new ProjectRepository(connectionString); var componentRepository = new ComponentRepository(connectionString); var ossIndexRepository = new OssIndexRepository(connectionString); var ossIndexVulnerabilitiesRepository = new OssIndexVulnerabilitiesRepository(connectionString); var reportRepository = new ReportRepository(connectionString); var reportLinesRepository = new ReportLinesRepository(connectionString); var packageTypeRepository = new PackageTypeRepository(); var httpWebRequestFactory = new HttpWebRequestFactory(); var coordinatesService = new CoordinatesService(); var jsonConvertService = new JsonConvertService(); var ossReportService = new OssReportService( reportRepository, componentRepository, ossIndexRepository, reportLinesRepository, coordinatesService, httpWebRequestFactory, jsonConvertService, ossIndexVulnerabilitiesRepository); services.AddTransient <IProjectRepository>(s => projectRepository); services.AddTransient <IComponentRepository>(s => componentRepository); services.AddTransient <IOssIndexRepository>(s => ossIndexRepository); services.AddTransient <IOssIndexVulnerabilitiesRepository>(s => ossIndexVulnerabilitiesRepository); services.AddTransient <IReportRepository>(s => reportRepository); services.AddTransient <IReportLinesRepository>(s => reportLinesRepository); services.AddTransient <IPackageTypeRepository>(s => packageTypeRepository); services.AddSingleton <IJsonConvertService>(jsonConvertService); services.AddSingleton <ICoordinatesService>(coordinatesService); services.AddSingleton <ISelectListItemService>(new SelectListItemService(projectRepository, packageTypeRepository)); services.AddSingleton <IScoreService>(new ScoreService(reportRepository, reportLinesRepository, ossIndexRepository, ossIndexVulnerabilitiesRepository)); services.AddSingleton <IScoreClassService>(new ScoreClassService()); services.AddSingleton <IBreadcrumbReportService>(new BreadcrumbReportService()); services.AddSingleton <IOssReportService>(ossReportService); services.AddSingleton <IOssIndexStatusService>(new OssIndexStatusService( reportRepository, reportLinesRepository, ossIndexRepository)); services.AddSingleton <IApiCallerService>(new ApiCallerService( ossIndexRepository, ossReportService)); services.AddSingleton <ICoordinatePartsFactory>(new CoordinatePartsFactory()); services.AddSingleton <IHttpWebRequestFactory>(httpWebRequestFactory); }