-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
56 changed files
with
1,907 additions
and
1,177 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,247 @@ | ||
[*] | ||
root = true | ||
|
||
[*] | ||
|
||
# Indentation and spacing | ||
indent_style=tab | ||
indent_size=4 | ||
tab_width=4 | ||
|
||
# New line preferences | ||
end_of_line = crlf | ||
insert_final_newline = false | ||
|
||
#### .NET Coding Conventions #### | ||
|
||
# Organize usings | ||
dotnet_separate_import_directive_groups = false | ||
dotnet_sort_system_directives_first = false | ||
file_header_template = unset | ||
|
||
# this. and Me. preferences | ||
dotnet_style_qualification_for_event = false | ||
dotnet_style_qualification_for_field = false | ||
dotnet_style_qualification_for_method = false | ||
dotnet_style_qualification_for_property = false | ||
|
||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true | ||
dotnet_style_predefined_type_for_member_access = true | ||
|
||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity | ||
|
||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members | ||
|
||
# Expression-level preferences | ||
dotnet_style_coalesce_expression = true | ||
dotnet_style_collection_initializer = true | ||
dotnet_style_explicit_tuple_names = true | ||
dotnet_style_namespace_match_folder = true | ||
dotnet_style_null_propagation = true | ||
dotnet_style_object_initializer = true | ||
dotnet_style_operator_placement_when_wrapping = beginning_of_line | ||
dotnet_style_prefer_auto_properties = true | ||
dotnet_style_prefer_collection_expression = when_types_loosely_match | ||
dotnet_style_prefer_compound_assignment = true | ||
dotnet_style_prefer_conditional_expression_over_assignment = true | ||
dotnet_style_prefer_conditional_expression_over_return = true | ||
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true | ||
dotnet_style_prefer_inferred_tuple_names = true | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true | ||
dotnet_style_prefer_simplified_boolean_expressions = true | ||
dotnet_style_prefer_simplified_interpolation = true | ||
|
||
# Field preferences | ||
dotnet_style_readonly_field = true | ||
|
||
# Parameter preferences | ||
dotnet_code_quality_unused_parameters = all | ||
|
||
# Suppression preferences | ||
dotnet_remove_unnecessary_suppression_exclusions = none | ||
|
||
# New line preferences | ||
dotnet_style_allow_multiple_blank_lines_experimental = true | ||
dotnet_style_allow_statement_immediately_after_block_experimental = true | ||
|
||
#### C# Coding Conventions #### | ||
|
||
# var preferences | ||
csharp_style_var_elsewhere = false | ||
csharp_style_var_for_built_in_types = false | ||
csharp_style_var_when_type_is_apparent = false | ||
|
||
# Expression-bodied members | ||
csharp_style_expression_bodied_accessors = true | ||
csharp_style_expression_bodied_constructors = false | ||
csharp_style_expression_bodied_indexers = true | ||
csharp_style_expression_bodied_lambdas = true | ||
csharp_style_expression_bodied_local_functions = false | ||
csharp_style_expression_bodied_methods = false | ||
csharp_style_expression_bodied_operators = false | ||
csharp_style_expression_bodied_properties = true | ||
|
||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_as_with_null_check = true | ||
csharp_style_pattern_matching_over_is_with_cast_check = true | ||
csharp_style_prefer_extended_property_pattern = true | ||
csharp_style_prefer_not_pattern = true | ||
csharp_style_prefer_pattern_matching = true | ||
csharp_style_prefer_switch_expression = true | ||
|
||
# Null-checking preferences | ||
csharp_style_conditional_delegate_call = true | ||
|
||
# Modifier preferences | ||
csharp_prefer_static_local_function = true | ||
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async | ||
csharp_style_prefer_readonly_struct = true | ||
csharp_style_prefer_readonly_struct_member = true | ||
|
||
# Code-block preferences | ||
csharp_prefer_braces = true | ||
csharp_prefer_simple_using_statement = true | ||
csharp_style_namespace_declarations = block_scoped | ||
csharp_style_prefer_method_group_conversion = true | ||
csharp_style_prefer_primary_constructors = true | ||
csharp_style_prefer_top_level_statements = true | ||
|
||
# Expression-level preferences | ||
csharp_prefer_simple_default_expression = true | ||
csharp_style_deconstructed_variable_declaration = true | ||
csharp_style_implicit_object_creation_when_type_is_apparent = true | ||
csharp_style_inlined_variable_declaration = true | ||
csharp_style_prefer_index_operator = true | ||
csharp_style_prefer_local_over_anonymous_function = true | ||
csharp_style_prefer_null_check_over_type_check = true | ||
csharp_style_prefer_range_operator = true | ||
csharp_style_prefer_tuple_swap = true | ||
csharp_style_prefer_utf8_string_literals = true | ||
csharp_style_throw_expression = true | ||
csharp_style_unused_value_assignment_preference = discard_variable | ||
csharp_style_unused_value_expression_statement_preference = discard_variable | ||
|
||
# 'using' directive preferences | ||
csharp_using_directive_placement = outside_namespace:warning | ||
|
||
# New line preferences | ||
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true | ||
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true | ||
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true | ||
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true | ||
csharp_style_allow_embedded_statements_on_same_line_experimental = true | ||
|
||
#### C# Formatting Rules #### | ||
|
||
# New line preferences | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_between_query_expression_clauses = true | ||
|
||
# Indentation preferences | ||
csharp_indent_block_contents = true | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents = true | ||
csharp_indent_case_contents_when_block = true | ||
csharp_indent_labels = flush_left | ||
csharp_indent_switch_labels = true | ||
|
||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_after_comma = true | ||
csharp_space_after_dot = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_after_semicolon_in_for_statement = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_around_declaration_statements = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_before_comma = false | ||
csharp_space_before_dot = false | ||
csharp_space_before_open_square_brackets = false | ||
csharp_space_before_semicolon_in_for_statement = false | ||
csharp_space_between_empty_square_brackets = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_name_and_open_parenthesis = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_between_square_brackets = false | ||
|
||
# Wrapping preferences | ||
csharp_preserve_single_line_blocks = true | ||
csharp_preserve_single_line_statements = true | ||
|
||
#### Naming styles #### | ||
|
||
# Naming rules | ||
|
||
dotnet_naming_rule.interface_should_be_begins_with_i.severity = warning | ||
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface | ||
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i | ||
|
||
dotnet_naming_rule.types_should_be_pascal_case.severity = warning | ||
dotnet_naming_rule.types_should_be_pascal_case.symbols = types | ||
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case | ||
|
||
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = warning | ||
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members | ||
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case | ||
|
||
# Symbol specifications | ||
|
||
dotnet_naming_symbols.interface.applicable_kinds = interface | ||
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.interface.required_modifiers = | ||
|
||
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum | ||
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.types.required_modifiers = | ||
|
||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method | ||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.non_field_members.required_modifiers = | ||
|
||
# Naming styles | ||
|
||
dotnet_naming_style.pascal_case.required_prefix = | ||
dotnet_naming_style.pascal_case.required_suffix = | ||
dotnet_naming_style.pascal_case.word_separator = | ||
dotnet_naming_style.pascal_case.capitalization = pascal_case | ||
|
||
dotnet_naming_style.begins_with_i.required_prefix = I | ||
dotnet_naming_style.begins_with_i.required_suffix = | ||
dotnet_naming_style.begins_with_i.word_separator = | ||
dotnet_naming_style.begins_with_i.capitalization = pascal_case | ||
|
||
# Disabled for this project. | ||
## TODO: Enable some | ||
dotnet_diagnostic.CA1401.severity = none # CA1401: P/Invokes should not be visible | ||
dotnet_diagnostic.CA1848.severity = none # CA1848: Use the LoggerMessage delegates | ||
dotnet_diagnostic.CA5392.severity = none # CA5392: Use DefaultDllImportSearchPaths attribute for P/Invokes | ||
dotnet_diagnostic.CS1591.severity = none # CS1591: Missing XML comment for publicly visible type or member | ||
dotnet_diagnostic.IDE0066.severity = none # IDE0066: Convert switch statement to expression | ||
dotnet_diagnostic.S125.severity = none # S125: Sections of code should not be commented out | ||
dotnet_diagnostic.S1135.severity = none # S1135: Track uses of "TODO" tags | ||
dotnet_diagnostic.S4200.severity = none # S4200: Native methods should be wrapped | ||
dotnet_diagnostic.S6602.severity = none # S6602: "Find" method should be used instead of the "FirstOrDefault" extension | ||
dotnet_diagnostic.S6605.severity = none # S6605: Collection-specific "Exists" method should be used instead of the "Any" extension | ||
dotnet_diagnostic.SA1600.severity = none # SA1600: Elements should be documented | ||
dotnet_diagnostic.SA1101.severity = none # SA1101: Prefix local calls with this | ||
dotnet_diagnostic.SA1309.severity = none # SA1309: Field names should not begin with underscore | ||
dotnet_diagnostic.SA1600.severity = none # SA1600: Elements should be documented | ||
dotnet_diagnostic.SA1611.severity = none # SA1611: Element parameters should be documented | ||
dotnet_diagnostic.SA1615.severity = none # SA1615: Element return value should be documented | ||
dotnet_diagnostic.SA1623.severity = none # SA1623: Property summary documentation should match accessors | ||
dotnet_diagnostic.SA1633.severity = none # SA1633: File should have header |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,46 @@ | ||
namespace Wtq.Core.Data; | ||
|
||
public struct WtqBounds | ||
public struct WtqBounds : IEquatable<WtqBounds> | ||
{ | ||
public int Bottom { get; set; } | ||
|
||
public int Left { get; set; } | ||
|
||
public int Right { get; set; } | ||
|
||
public int Top { get; set; } | ||
|
||
public int Right { get; set; } | ||
public static bool operator ==(WtqBounds left, WtqBounds right) | ||
{ | ||
return left.Equals(right); | ||
} | ||
|
||
public int Bottom { get; set; } | ||
public static bool operator !=(WtqBounds left, WtqBounds right) | ||
{ | ||
return !(left == right); | ||
} | ||
|
||
public override readonly bool Equals(object? obj) | ||
{ | ||
if (obj is not WtqBounds other) | ||
{ | ||
return false; | ||
} | ||
|
||
return Equals(other); | ||
} | ||
|
||
public readonly bool Equals(WtqBounds other) | ||
{ | ||
return | ||
Bottom == other.Bottom && | ||
Left == other.Left && | ||
Right == other.Right && | ||
Top == other.Top; | ||
} | ||
|
||
public override readonly int GetHashCode() | ||
{ | ||
return HashCode.Combine(Bottom, Left, Right, Top); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.