mirror of
				https://github.com/flame-engine/flame.git
				synced 2025-10-31 17:06:50 +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
		
	
	
		
			854 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			854 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:flame/sprite.dart';
 | |
| import 'package:flutter/foundation.dart';
 | |
| import 'klondike_game.dart';
 | |
| 
 | |
| @immutable
 | |
| class Suit {
 | |
|   factory Suit.fromInt(int index) {
 | |
|     assert(
 | |
|       index >= 0 && index <= 3,
 | |
|       'index is outside of the bounds of what a suit can be',
 | |
|     );
 | |
|     return _singletons[index];
 | |
|   }
 | |
| 
 | |
|   Suit._(this.value, this.label, double x, double y, double w, double h)
 | |
|       : sprite = klondikeSprite(x, y, w, h);
 | |
| 
 | |
|   final int value;
 | |
|   final String label;
 | |
|   final Sprite sprite;
 | |
| 
 | |
|   static final List<Suit> _singletons = [
 | |
|     Suit._(0, '♥', 1176, 17, 172, 183),
 | |
|     Suit._(1, '♦', 973, 14, 177, 182),
 | |
|     Suit._(2, '♣', 974, 226, 184, 172),
 | |
|     Suit._(3, '♠', 1178, 220, 176, 182),
 | |
|   ];
 | |
| 
 | |
|   /// Hearts and Diamonds are red, while Clubs and Spades are black.
 | |
|   bool get isRed => value <= 1;
 | |
|   bool get isBlack => value >= 2;
 | |
| }
 |