Esempio n. 1
0
        public void GetNeighborNodes_NodeFromTopLeftCorner_NodesFromFourSegments()
        {
            // ARRANGE
            const int segmentSize = 4;

            var map        = new LazyHexMap(segmentSize);
            var zeroOffset = new OffsetCoords(0, 0);
            var zeroNode   = map.Nodes.Single(x => x.Offset.Equals(zeroOffset));


            // ACT
            var nodes     = map.GetNeighborNodes(zeroNode);
            var nodeArray = nodes.ToArray();


            // ASSERT
            nodeArray[0].Offset.Should().Be(new OffsetCoords(-1, 0));

            nodeArray[1].Offset.Should().Be(new OffsetCoords(-1, 1));
            nodeArray[2].Offset.Should().Be(new OffsetCoords(0, 1));

            nodeArray[3].Offset.Should().Be(new OffsetCoords(1, 0));

            nodeArray[4].Offset.Should().Be(new OffsetCoords(0, -1));
            nodeArray[5].Offset.Should().Be(new OffsetCoords(-1, -1));
        }
Esempio n. 2
0
    public void Start()
    {
        var map = new LazyHexMap(100);

        foreach (var node in map.Nodes)
        {
            var hexObject = Instantiate(HexPrefab, Parent);

            var position = HexHelper.ConvertToWorld(node.Offset.X, node.Offset.Y);

            hexObject.transform.position = new Vector3(position[0], position[1] / 2, 0);

            var clientModel = hexObject.GetComponent <GlobalTerrainNode>();
            clientModel.Init(node);

            _nodeModels.Add(clientModel);

            clientModel.Clicked += ClientModel_Clicked;
        }

        var army       = new Army(map.Nodes.First());
        var armyObject = Instantiate(ArmyPrefab, Parent);

        armyObject.Init(army);
        armyObject.Clicked += ArmyObject_Clicked;

        _armyModels.Add(armyObject);
    }