void Awake()
 {
     instance = this;
     PopulatePlatformArray();
     navGraph = new Dictionary <Platform, ArrayList> ();
     StartCoroutine(MaintainNavGraph());
 }
Exemple #2
0
        public void MapNavigate_Navigate_Returns_Number_Of_Trees_Encountered(int x, int y, int expectedResult)
        {
            // Act
            var actualResult = MapNavigator.Navigate(_map, x, y);

            // Assert
            Assert.AreEqual(expectedResult, actualResult);
        }
 void Start()
 {
     playerController = GetComponent <PlayerController> ();
     mapNavigator     = MapNavigator.instance;
     dead             = false;
     destination      = transform.position;
     StartCoroutine(MoveToSafePlatform());
     StartCoroutine(RandomMovement());
 }
Exemple #4
0
 void Start()
 {
     playerController = GetComponent <PlayerController> ();
     mapNavigator     = MapNavigator.instance;
     destination      = transform.position;
     StartCoroutine(MoveToSafePlatform());
     StartCoroutine(RandomMovement());
     StartCoroutine(TrackClosestPlayer());
     StartCoroutine(AlternateTargeting());
     StartCoroutine(AttackTarget());
 }
Exemple #5
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     if (instance != this)
     {
         Destroy(this);
     }
 }
Exemple #6
0
        private void GetMatchingPositionsOnDirection(BoardCellType cellType, MapPosition position, MapNavigator directionNavigator, IList <MapPosition> matchingPositions)
        {
            MapPosition currentPosition = position;

            do
            {
                currentPosition = directionNavigator.Next(currentPosition);
                if (!this.GameBoard.IsPositionOnMap(currentPosition))
                {
                    break;
                }

                if (this.GameBoard[currentPosition].CellType != cellType)
                {
                    break;
                }

                matchingPositions.Add(currentPosition);
            } while (true);
        }
Exemple #7
0
        private bool TryGetWinPositionsOnDirections(BoardCellType value, MapPosition position, MapNavigator direction, MapNavigator oppositeDirection, out IEnumerable <MapPosition> winPositions)
        {
            IList <MapPosition> potentialWinPositions = new List <MapPosition>();

            potentialWinPositions.Add(position);

            GetMatchingPositionsOnDirection(value, position, direction, potentialWinPositions);
            GetMatchingPositionsOnDirection(value, position, oppositeDirection, potentialWinPositions);

            if (potentialWinPositions.Count >= this.WinSequenceSize)
            {
                winPositions = potentialWinPositions;
                return(true);
            }

            winPositions = null;
            return(false);
        }
Exemple #8
0
 void Awake()
 {
     instance = this;
     PopulatePlatformArray();
     navGraph = new Dictionary <Platform, ArrayList> ();
 }