Пример #1
0
        static void Main(string[] args)
        {
            IConsoleOperation  IO     = new ConsOperations();
            TriangleController sorter = new TriangleController(IO);

            sorter.Start(args);
        }
Пример #2
0
        public void FlipNormalByTriangle(Triangle triangle)
        {
            int triangleIndex = triangle.index;
            int a_index       = triangles[triangleIndex];
            int b_index       = triangles[triangleIndex + 1];
            int c_index       = triangles[triangleIndex + 2];

            triangles[triangleIndex]     = c_index;
            triangles[triangleIndex + 1] = b_index;
            triangles[triangleIndex + 2] = a_index;

            trianglesChanged = true;
            mesh.persistence.changedSinceLastSave = true;

            if (triangle.instance != null)
            {
                Vertex a = mesh.vertices.vertices[a_index];
                Vertex b = mesh.vertices.vertices[b_index];
                Vertex c = mesh.vertices.vertices[c_index];

                Vector3            center             = mesh.Center(a.position, b.position, c.position);
                TriangleController triangleController = triangle.instance.GetComponent <TriangleController>();
                triangleController.Populate(c, b, a, center);
            }
        }
Пример #3
0
        public void MoveTriangleIndexFromToVertexIndex(int triangleIndex, int triangleOffset, int vertexIndex, Vertex fromVertex, Vertex toVertex)
        {
            triangles[triangleIndex + triangleOffset] = vertexIndex;

            Triangle triangle = TriangleByIndex(triangleIndex);

            if (triangle == null)
            {
                Debug.Log("MoveTriangleIndexFromToVertexIndex no triangle at triangleIndex=" + triangleIndex + ",triangleOffset=" + triangleOffset + ",triangleInstancesCreated =" + triangleInstancesCreated);
                return;
            }
            triangle.index = vertexIndex;
            TriangleController triangleController = triangle.instance.GetComponent <TriangleController>();

            Vertex[] vertices = triangleController.GetTriangle();
            Vertex   a        = vertices[0];
            Vertex   b        = vertices[1];
            Vertex   c        = vertices[2];

            if (a.ID == fromVertex.ID)
            {
                triangleController.SetA(toVertex.position);
            }
            if (b.ID == fromVertex.ID)
            {
                triangleController.SetB(toVertex.position);
            }
            if (c.ID == fromVertex.ID)
            {
                triangleController.SetC(toVertex.position);
            }
        }
Пример #4
0
        public void GetCoordinate_for_rowA_and_column1()
        {
            // Arrange
            var mockRepository = new Mock <ITriangleService>();

            mockRepository.Setup(x => x.GetCoordinate('A', 1))
            .Returns(new List <Coordinate> {
                new Coordinate {
                    X = 0, Y = 0
                },
                new Coordinate {
                    X = 0, Y = 10
                },
                new Coordinate {
                    X = 10, Y = 10
                },
            });

            var controller = new TriangleController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.GetCoordinate('A', 1);
            var contentResult = actionResult as OkNegotiatedContentResult <IList <Coordinate> >;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(3, contentResult.Content.Count);
        }
 private void Cache()
 {
     app = App.Instance;
     triangleController = app.controller.triangle;
     circleController   = app.controller.circle;
     bulletController   = app.controller.bullet;
     barrierController  = app.controller.barrier;
     uiController       = app.controller.ui;
 }
Пример #6
0
 public void UpdateAllTriangleInstancesSelectable()
 {
     foreach (Triangle triangle in triangleInstances)
     {
         GameObject         triangleInstance   = triangle.instance;
         TriangleController triangleController = triangleInstance.GetComponent <TriangleController>();
         triangleController.SetSelectable(triangleInstancesSelectable);
     }
 }
Пример #7
0
        public void TestController()
        {
            TriangleController c = new TriangleController();
            int rv = c.Post(new Triangle()
            {
                Segment1 = 4, Segment2 = 4, Segment3 = 4
            });

            Assert.True(rv == (int)TriangleTypes.EQUILATERAL);
        }
Пример #8
0
        public void GetTriangleByCoords_GivenValidCoords_ReturnsTriangleName()
        {
            // Arrange
            var controller = new TriangleController(new Logger <TriangleController>(new LoggerFactory()));

            // Act
            var response = controller.GetTriangleByCoordinates(X1forT1, Y1forT1, X2forT1, Y2forT1, X3forT1, Y3forT1);

            // Assert
            Assert.IsTrue(response.ShapeName == Triangle1Name);
        }
Пример #9
0
        public void UpdatePx_GivenPixels_UpdatesGridSize()
        {
            // Arrange
            var controller = new TriangleController(new Logger <TriangleController>(new LoggerFactory()));

            // Act
            controller.UpdatePxLength(PixelLength);
            var responseGridPxLength = Grid.SideLengthInPx;

            // Assert
            Assert.AreEqual(PixelLength, responseGridPxLength);
        }
Пример #10
0
        public void UpdateGridHeight_GivenHeight_UpdatesGridHeight()
        {
            // Arrange
            var controller = new TriangleController(new Logger <TriangleController>(new LoggerFactory()));

            // Act
            controller.UpdateGridHeight(GridHeight);
            var responseGridHeight = Grid.GridHeight;

            // Assert
            Assert.AreEqual(GridHeight, responseGridHeight);
        }
Пример #11
0
        static void Main(string[] args)
        {
            #region Initialize Components
            Validator             validator        = new Validator();
            DisplayTriangles      displayTriangles = new DisplayTriangles();
            TriangleFactory       triangleFactory  = new TriangleFactory();
            TriangleSquareCompare squareCompare    = new TriangleSquareCompare();
            #endregion

            TriangleController triangleController = new TriangleController(validator, displayTriangles, triangleFactory, squareCompare);
            triangleController.StartTriangleAnalizing();
            Console.ReadKey();
        }
Пример #12
0
    void OnTriggerEnter2D(Collider2D other)
    {
        TriangleController player = other.gameObject.GetComponent <TriangleController>();

        //Debug.Log("Ive entered a ball");

        if (player != null)
        {
            Debug.Log("Ive hit a player");
            player.ChangeHealth(-1);
        }
        //Debug.Log("Ball destroyed");
        Destroy(gameObject);
    }
Пример #13
0
    void OnTriggerEnter2D(Collider2D other)
    {
        TriangleController player = other.gameObject.GetComponent <TriangleController>();

        //Debug.Log("Ive entered a ball");

        if (player != null)
        {
            Debug.Log("Ive hit a player");
            player.ChangeHealth(-1);
        }
        Debug.Log("Hit wall/player");
        Explode();
    }
Пример #14
0
        public void Get()
        {
            TriangleController controller = new TriangleController();

            // Act
            Triangle triangle = controller.Get('A', 1);

            // Assert
            Assert.AreNotEqual(null, triangle);
            Assert.AreEqual('A', triangle.Row);
            Assert.AreEqual(1, triangle.Column);
            Assert.AreEqual(new Point(0, 10), triangle.Vertex1);
            Assert.AreEqual(new Point(0, 0), triangle.Vertex2);
            Assert.AreEqual(new Point(10, 10), triangle.Vertex3);
        }
Пример #15
0
        public static UnityEngine.Material FillTriangle(Mesh mesh, Triangle triangle)
        {
            Material mmMaterial = mesh.materials.FillTriangle(triangle);

            UnityEngine.Material material = MaterialToInstance(mmMaterial, true, true, true);
            if (!mesh.materials.materialsChanged)
            {
                return(material);
            }
            TriangleController triangleController = triangle.instance.GetComponent <TriangleController>();

            triangleController.material = material;
            triangleController.SyncMaterials();
            return(material);
        }
Пример #16
0
        public void GetTriangleByName_GivenValidName_ReturnsTriangleCoordinates()
        {
            // Arrange
            var controller = new TriangleController(new Logger <TriangleController>(new LoggerFactory()));

            // Act
            var response = controller.GetTriangleByName(Triangle1Name);

            // Assert
            for (int i = 0; i < response.Vertices.Length; i++)
            {
                Assert.AreEqual(T1Vertices[i].XCoord, response.Vertices[i].XCoord);
                Assert.AreEqual(T1Vertices[i].YCoord, response.Vertices[i].YCoord);
            }
        }
            public PostWithCoordinates()
            {
                this.factory = new Mock <ITriangleFactory>();

                this.factory.Setup(factory =>
                                   factory.ToTriangle(It.Is <Collection <Coordinate> >(val => val.Count == 0)))
                .Throws(new ArgumentException());
                this.factory.Setup(factory =>
                                   factory.ToTriangle(It.Is <Collection <Coordinate> >(val => val.Count == 1)))
                .Throws(new DivideByZeroException());
                this.factory.Setup(factory =>
                                   factory.ToTriangle(It.Is <Collection <Coordinate> >(val => val.Count == 3)))
                .Returns(new Triangle());

                this.controller = new TriangleController(this.factory.Object);
            }
            public GetWithDesignation()
            {
                this.factory = new Mock <ITriangleFactory>();
                this.factory.Setup(factory =>
                                   factory.ToTriangle(It.Is <string>(val => val == "A1")))
                .Returns(new Triangle());
                this.factory.Setup(factory =>
                                   factory.ToTriangle(It.Is <string>(val => val == "")))
                .Throws(new ArgumentException());
                this.factory.Setup(factory =>
                                   factory.ToTriangle("ABC"))
                .Throws(new DivideByZeroException());



                this.controller = new TriangleController(this.factory.Object);
            }
Пример #19
0
        public void Post()
        {
            TriangleController controller = new TriangleController();

            // Act
            string json = "{\"Vertex1\": \"0,10\",\"Vertex2\": \"0,0\",\"Vertex3\": \"10,10\"}";

            TriangleVertices vertices = Newtonsoft.Json.JsonConvert.DeserializeObject <TriangleVertices>(json);
            Triangle         triangle = controller.Post(vertices);

            // Assert
            Assert.AreNotEqual(null, triangle);
            Assert.AreEqual('A', triangle.Row);
            Assert.AreEqual(1, triangle.Column);
            Assert.AreEqual(new Point(0, 10), triangle.Vertex1);
            Assert.AreEqual(new Point(0, 0), triangle.Vertex2);
            Assert.AreEqual(new Point(10, 10), triangle.Vertex3);
        }
Пример #20
0
        public void CreateTriangleInstance(int triangleIndex)
        {
            Vertex  a      = mesh.vertices.vertices[triangles[triangleIndex]];
            Vertex  b      = mesh.vertices.vertices[triangles[triangleIndex + 1]];
            Vertex  c      = mesh.vertices.vertices[triangles[triangleIndex + 2]];
            Vector3 center = mesh.Center(a.position, b.position, c.position);

            GameObject triangleInstance = InstantiateOrGetFromPool(center, mesh.transform.rotation);

            triangleInstance.transform.parent        = mesh.transform;
            triangleInstance.transform.localPosition = center;
            TriangleController triangleController = triangleInstance.GetComponent <TriangleController>();

            triangleController.mesh = mesh;
            triangleController.Initialize();

            //Debug.Log("Creating triangle a=" + a + ",b=" + b + ",c=" + c);
            triangleController.Populate(a, b, c, center);

            Triangle triangle = new Triangle();

            triangle.index    = triangleIndex;
            triangle.instance = triangleInstance;
            Material mmMaterial = mesh.materials.MaterialByTriangleIndex(triangleIndex);

            triangle.material = MaterialUtils.MaterialToInstance(mmMaterial, true, true, true);
            //Debug.Log("CreateTriangleInstance fillColor=" + ColorUtility.ToHtmlStringRGBA(meshController.settingsPanelController.GetComponent<SettingsController>().fillColor) + ",mmMaterial.color=" + ColorUtility.ToHtmlStringRGBA(mmMaterial.color) + ",triangle.material.color="+ ColorUtility.ToHtmlStringRGBA(triangle.material.color));

            triangleController.material = triangle.material;
            triangleController.SyncMaterials();

            Selectable selectable = triangleInstance.GetComponent <Selectable>();

            selectable.Initialize();
            selectable.renderMesh      = true;
            selectable.renderWireframe = true;
            selectable.renderNormals   = true;
            triangleController.SetSelectable(triangleInstancesSelectable);
            triangleController.SetStickySelected(false);
            triangleInstance.SetActive(!hideTriangles);
            triangleInstances.Add(triangle);
            //if (log) Debug.Log("CreateTriangleInstance triangle.index=" + triangle.index+ ", triangleInstances.Count - 1="+ (triangleInstances.Count - 1)+", triangle.instance.ID=" + triangle.instance.GetInstanceID());
            triangleInstanceIndexByTriangleIndex.Add(triangle.index, triangleInstances.Count - 1);
        }
Пример #21
0
    void OnTriggerEnter2D(Collider2D other)
    {
        TriangleController player = other.gameObject.GetComponent <TriangleController>();

        if (player != null)//check if we hit player
        {
            Debug.Log("Ive hit a player");
            player.ChangeHealth(-1);
        }

        if (transform.parent != null) //if ball has a parent, destroy parent
        {
            Destroy(transform.parent.gameObject);
        }
        else
        {
            Destroy(gameObject);
        }
    }
Пример #22
0
        public void GetTriangleVerticesA1()
        {
            var values = new TriangleController().GetTriangleVertices("A1");

            Assert.Equal(new[] { new Vertex(0, 10), new Vertex(10, 10), new Vertex(0, 0) }, values);
        }
Пример #23
0
        public void GetTriangleVerticesC2()
        {
            var values = new TriangleController().GetTriangleVertices("C2");

            Assert.Equal(new[] { new Vertex(10, 20), new Vertex(0, 20), new Vertex(10, 30) }, values);
        }
Пример #24
0
        public void GetTriangleCoordsA1()
        {
            var coords = new TriangleController().GetTriangleCoords(new[] { new Vertex(0, 0), new Vertex(0, 10), new Vertex(10, 10) });

            Assert.Equal("A1", coords);
        }
Пример #25
0
        public void GetTriangleCoordsC2()
        {
            var coords = new TriangleController().GetTriangleCoords(new[] { new Vertex(10, 20), new Vertex(0, 20), new Vertex(10, 30) });

            Assert.Equal("C2", coords);
        }