Exemplo n.º 1
0
        public List <MyHexPosition> GetPossibleMoveTargets(UnitModel unit, MyHexPosition magicSelector)
        {
            var key = new PossibleMoveTargetsQueryKey(unit, magicSelector);

            if (_possibleMoveTargetsCache.ContainsKey(key))
            {
                return(_possibleMoveTargetsCache[key]);
            }
            var toReturn = unit.PossibleMoveTargets.Where(c => _courseModel.CanMoveTo(unit, c, magicSelector, CurrentPlayer)).ToList();

            _possibleMoveTargetsCache[key] = toReturn;
            return(toReturn);
        }
Exemplo n.º 2
0
 protected bool Equals(PossibleMoveTargetsQueryKey other)
 {
     return(Equals(_model, other._model) && Equals(_position, other._position));
 }