mirror of
				https://github.com/flame-engine/flame.git
				synced 2025-11-04 13:08:09 +08:00 
			
		
		
		
	This PR adds the following lint rules to our list: ``` always_put_required_named_parameters_first avoid_multiple_declarations_per_line avoid_positional_boolean_parameters avoid_returning_null_for_void avoid_returning_this avoid_unnecessary_containers enable_null_safety library_private_types_in_public_api no_leading_underscores_for_library_prefixes no_leading_underscores_for_local_identifiers prefer_null_aware_method_calls tighten_type_of_initializing_formals unnecessary_late use_setters_to_change_properties ``` And these rules were considered, and some changes were made according to them as a clean-up, but in many places they didn't make sense (`prefer_asserts_with_message` I would have included, but there were too many places that needed to be changes): ``` collection_methods_unrelated_type prefer_asserts_with_message avoid_renaming_method_parameters ```
		
			
				
	
	
		
			33 lines
		
	
	
		
			704 B
		
	
	
	
		
			Dart
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			704 B
		
	
	
	
		
			Dart
		
	
	
		
			Executable File
		
	
	
	
	
import 'package:flame/components.dart';
 | 
						|
import 'package:flutter/cupertino.dart';
 | 
						|
import 'package:quiver/core.dart';
 | 
						|
 | 
						|
@immutable
 | 
						|
class IntVector2 {
 | 
						|
  final int x;
 | 
						|
  final int y;
 | 
						|
 | 
						|
  const IntVector2(this.x, this.y);
 | 
						|
 | 
						|
  /// Manhattan distance on a square grid
 | 
						|
  int distanceTo(IntVector2 b) {
 | 
						|
    return (x - b.x).abs() + (y - b.y).abs();
 | 
						|
  }
 | 
						|
 | 
						|
  @override
 | 
						|
  bool operator ==(Object other) =>
 | 
						|
      other is IntVector2 && x == other.x && y == other.y;
 | 
						|
 | 
						|
  @override
 | 
						|
  int get hashCode => hash2(x, y);
 | 
						|
 | 
						|
  @override
 | 
						|
  String toString() {
 | 
						|
    return '$x : $y';
 | 
						|
  }
 | 
						|
 | 
						|
  IntVector2 add({int x = 0, int y = 0}) => IntVector2(this.x + x, this.y + y);
 | 
						|
 | 
						|
  Vector2 toPosition() => Vector2(x.toDouble(), y.toDouble());
 | 
						|
}
 |