public override Dictionary <MapSquare, MapSquare.Interactable> GetValidInputSquares() { inputSquares.Clear(); inputOptionFacings.Clear(); CheckTowingStatus(); Tools.Facing[] possibleFacings; if (doneMoves == 0) { possibleFacings = new Tools.Facing[] { Tools.Facing.Left, Tools.Facing.Right, Tools.Facing.Forward } } ; else { possibleFacings = new Tools.Facing[] { moveFacing } }; foreach (Tools.Facing facing in possibleFacings) { Tools.Direction moveDir = Tools.GetDirectionFromFacing(facing, startFacingDirection); foreach (KeyValuePair <MapSquare, MapSquare.Interactable> kvp in GetInputsForOneDirection(moveDir)) { inputSquares.Add(kvp.Key, kvp.Value); inputOptionFacings.Add(kvp.Key, facing); } } return(inputSquares); }
public StuckControls(Tools.Facing damageDirection, bool isMoveDamage) { direction = damageDirection; isMove = isMoveDamage; text = (isMove ? "Move " : "Turn ") + direction; slottable = true; }
public override void InitializeCardExecution(Unit executingUnit) { base.InitializeCardExecution(executingUnit); moveFacing = Tools.Facing.Forward; minMaxMoves = new Tuple <int, int>(level, level); doneMoves = 0; encounteredUntenterableSquare = false; }
public SimpleTurnCard(Tools.Facing facing) { commandFacing = facing; text = "Turn " + facing.ToString(); }
public TurnAction(Unit targetUnit, Tools.Facing facing) { goalDirection = Tools.GetDirectionFromFacing(facing, unit.facingDirection); goalRotation = Tools.GetRotation(goalDirection); unit = targetUnit; }
public SimpleMoveCard(Tools.Facing facing, int moves) { commandFacing = facing; moveAmount = moves; text = "Move " + moves + " " + facing.ToString(); }
public virtual bool CanMove(Tools.Facing moveFacing) { Tools.Direction moveDirection = Tools.GetDirectionFromFacing(moveFacing, facingDirection); return(CanMove(moveDirection)); }
public virtual void Move(Tools.Facing moveTowards) { actionStack.Push(new MoveAction(this, Tools.GetDirectionFromFacing(moveTowards, facingDirection))); }
public virtual void Turn(Tools.Facing turnTowards) { actionStack.Push(new TurnAction(this, Tools.GetDirectionFromFacing(turnTowards, facingDirection))); }