// Use this for initialization void Start() { TopologicalOrder = new List <HashSet <Node> >(); TrapNodeDict = new Dictionary <Trapezoid, TrapezoidNode>(); NodeLines = new List <GameObject>(); generator = GameObject.Find("EdgeGenerator").GetComponent <EdgeGenerator>(); }
public void GivenServiceOneDependsOnNonExistingService_NewServiceModelIsAdded() { var serviceOne = new ServiceModel { Name = "one", Dependencies = new[] { new DependencyStatus { IsHealthy = true, Name = "some other service" } } }; var serviceTwo = new ServiceModel { Name = "two", Id = 2 }; var services = new[] { serviceOne, serviceTwo }; var result = EdgeGenerator.For(services); result .CreatedServices .Should() .Contain(edge => edge.Name == "some other service"); }
public void GivenServiceOneDependsOnNonExistingService_OneEdgeIsGenerated() { var serviceOne = new ServiceModel { Name = "one", Dependencies = new[] { new DependencyStatus { IsHealthy = true, Name = "some other service" } } }; var serviceTwo = new ServiceModel { Name = "two", Id = 2 }; var services = new[] { serviceOne, serviceTwo }; var result = EdgeGenerator.For(services); result .Edges .Should() .HaveCount(1) .And .Contain(edge => edge.From == serviceOne.Id && edge.To == 3); }
public IActionResult Index(string environmentName) { if (environmentName == null) { environmentName = _defaultEnvironmentName; } var applicationStatuses = _store.GetFor(environmentName); var serviceModels = ServiceModel.FromStatuses(applicationStatuses); var result = EdgeGenerator.For(serviceModels); var services = serviceModels.Concat(result.CreatedServices).ToArray(); var model = new EnvironmentStatusModel { Environment = environmentName, Services = services, Edges = result.Edges.ToArray(), AvailableEnvironments = _store.GetAvailableEnvironments() }; return(View(model)); }
// Função chamada quando este elemento colidir com outro private void OnCollisionEnter2D(Collision2D collision) { Vector2 normal = collision.contacts[0].normal; EdgeGenerator edgeGenerator = collision.transform.GetComponent <EdgeGenerator>(); if (edgeGenerator != null && normal == Vector2.up) { MyGameManager.instancia.GameOver(); } direction = Vector2.Reflect(direction, normal); direction.Normalize(); }
void OnCollisionEnter2D(Collision2D collision) { bool invalidCollision = false; Vector2 normal = collision.contacts[0].normal; Platform platform = collision.transform.GetComponent <Platform>(); EdgeGenerator edgeGen = collision.transform.GetComponent <EdgeGenerator>(); if (platform != null) { if (normal != Vector2.up) { invalidCollision = true; } else { GameObject particles = (GameObject)Instantiate(leafParticle, new Vector3(transform.position.x, transform.position.y - 1.1f, transform.position.z), Quaternion.identity); ParticleSystem particleComponent = particles.GetComponent <ParticleSystem>(); Destroy(particles, particleComponent.main.duration + particleComponent.main.startLifetimeMultiplier); } } else if (edgeGen != null) { if (normal == Vector2.up) { invalidCollision = true; } } else //block collision { invalidCollision = false; Bounds colliderBounds = collision.transform.GetComponent <SpriteRenderer>().bounds; Vector3 newPosition = new Vector3(collision.transform.position.x + colliderBounds.extents.x, collision.transform.position.y - colliderBounds.extents.y, collision.transform.position.z); GameObject particles = (GameObject)Instantiate(blockParticle, newPosition, Quaternion.identity); ParticleSystem particleComponent = particles.GetComponent <ParticleSystem>(); Destroy(particles, particleComponent.main.duration + particleComponent.main.startLifetimeMultiplier); Destroy(collision.gameObject); GameController.totalDestroyedBlocks++; } if (!invalidCollision) { Debug.Log($"apple object normal: {normal}"); direction = Vector2.Reflect(direction, normal); Debug.Log($"apple object normal after reflection: {direction}"); direction.Normalize(); Debug.Log($"apple object normal after reflection with normalize: {direction}"); } else { GameController.instance.GameOver(); } }
public void GivenTwoServicesWithoutDependencies_NoEdgesAreGenerated() { var services = new[] { new ServiceModel { Name = "one" }, new ServiceModel { Name = "two" } }; var result = EdgeGenerator.For(services); result .Edges .Should() .BeEmpty(); }
public void GivenServiceOneAndTwoDependOnNonExistingService_TwoEdgesAreCreatedToNewService() { var serviceOne = new ServiceModel { Name = "one", Dependencies = new[] { new DependencyStatus { IsHealthy = true, Name = "some other service" } }, Id = 1 }; var serviceTwo = new ServiceModel { Name = "two", Dependencies = new[] { new DependencyStatus { IsHealthy = true, Name = "some other service" } }, Id = 2 }; var services = new[] { serviceOne, serviceTwo }; var result = EdgeGenerator.For(services); result .Edges .Should() .ContainSingle(edge => edge.From == 1 && edge.To == 3) .And .ContainSingle(edge => edge.From == 2 && edge.To == 3); }