예제 #1
0
    public void AddAvailableRocks()
    {
        HexSpace hs = currentHex.GetComponent <HexSpace>();

        foreach (GameObject i in hs.HexConnections)
        {
            if (i.GetComponent <HexSpace>().onHex == 2)
            {
                availableMoves.Add(i);
            }
        }
    }
예제 #2
0
        public void AddToEmptySpace()
        {
            // Given
            var space = new HexSpace <Item>();

            // When
            var payload = new Item();
            var h       = space.Add(payload);

            // Then
            space.Contains(h).Should().BeTrue();
            space.GetPayload(h).Should().Be(payload);
            space.Count.Should().Be(1);
        }
예제 #3
0
        public void NearestHexes_from_center()
        {
            // Given
            var space = new HexSpace <Item>();

            var payloads = Enumerable.Range(0, 7).Select(i => new Item());
            var hexes    = new List <Hex>();

            foreach (var payload in payloads)
            {
                space.Add(payload);
            }

            // When
            var nearestHexes = space.GetNearestHexes(new Hex(0, 0));

            // Then
            nearestHexes.Should().NotBeEmpty();
            nearestHexes.Should().HaveCount(6);
        }
예제 #4
0
        public void FillUpFirstTwoRings()
        {
            // Given
            var space = new HexSpace <Item>();

            // When
            var payloads = Enumerable.Range(0, 7).Select(i => new Item());
            var hexes    = new List <Hex>();

            foreach (var payload in payloads)
            {
                space.Add(payload);
            }

            // Then
            space.Count.Should().Be(payloads.Count());
            hexes.ForEach(h =>
            {
                var p = space.GetPayload(h);
                payloads.Should().Contain(p);
            });
        }