private bool ValidateMoveArrow() { Game_Unit selected_unit = get_selected_unit(); if (Move_Arrow.Any() && selected_unit != null) { int moveCost = 0; for (int i = 1; i < Move_Arrow.Count; i++) { Move_Arrow_Data loc = Move_Arrow[i]; moveCost += selected_unit.move_cost(new Vector2(loc.X, loc.Y)); } // If the arrow has exceeded the move score if (moveCost > selected_unit.canto_mov) { Move_Arrow.Clear(); Selected_Move_Total = 0; return(false); } else { Selected_Move_Total = moveCost; } } return(true); }