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)); }
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); }