Example #1
0
        public IEnumerator FollowPath(IList <Vector3> path, MapDimensions dimensions)
        {
            var pathIndex     = 0;
            var previousPoint = MathUtils.Round(transform.position);

            _view.State = CombatantState.Running;
            while (pathIndex < path.Count)
            {
                var currentDestination = MathUtils.Round(path[pathIndex]);
                _view.Facing = MathUtils.DirectionTo(previousPoint, currentDestination);

                var secondsPerSquare = _view.SecondsPerSquare;
                yield return(transform
                             .DOMove(currentDestination, secondsPerSquare)
                             .SetEase(Ease.Linear)
                             .WaitForCompletion());

                var mapPosition = dimensions.GetGridPositionForWorldPosition(currentDestination);
                SquareReachedSignal.Dispatch(mapPosition);

                pathIndex++;
                previousPoint = currentDestination;
            }
            _view.State = CombatantState.Idle;
        }
Example #2
0
 public MapConfiguration(MapDimensions dimensions, IMap map, ICombatantDatabase combatantDatabase, int chapterNumber, string id)
 {
     Dimensions    = dimensions;
     Map           = map;
     Combatants    = combatantDatabase;
     ChapterNumber = chapterNumber;
     Id            = id;
 }