mirror of
https://github.com/oliverbooth/VpSharp
synced 2024-11-22 19:18:47 +00:00
Initial commit
This commit is contained in:
commit
13348208c6
213
.editorconfig
Normal file
213
.editorconfig
Normal file
@ -0,0 +1,213 @@
|
|||||||
|
# All files
|
||||||
|
[*]
|
||||||
|
guidelines = 130
|
||||||
|
|
||||||
|
# C# files
|
||||||
|
[*.cs]
|
||||||
|
|
||||||
|
#### Core EditorConfig Options ####
|
||||||
|
|
||||||
|
# Indentation and spacing
|
||||||
|
indent_size=4
|
||||||
|
indent_style=space
|
||||||
|
tab_width=4
|
||||||
|
|
||||||
|
# New line preferences
|
||||||
|
end_of_line=crlf
|
||||||
|
insert_final_newline=true
|
||||||
|
|
||||||
|
#### .NET Coding Conventions ####
|
||||||
|
|
||||||
|
# Organize usings
|
||||||
|
dotnet_separate_import_directive_groups=false
|
||||||
|
dotnet_sort_system_directives_first=true
|
||||||
|
|
||||||
|
# this. and Me. preferences
|
||||||
|
dotnet_style_qualification_for_event=false:warning
|
||||||
|
dotnet_style_qualification_for_field=false:warning
|
||||||
|
dotnet_style_qualification_for_method=false:warning
|
||||||
|
dotnet_style_qualification_for_property=false:warning
|
||||||
|
|
||||||
|
# Language keywords vs BCL types preferences
|
||||||
|
dotnet_style_predefined_type_for_locals_parameters_members=true:warning
|
||||||
|
dotnet_style_predefined_type_for_member_access=true:warning
|
||||||
|
|
||||||
|
# Parentheses preferences
|
||||||
|
dotnet_style_parentheses_in_arithmetic_binary_operators=always_for_clarity:silent
|
||||||
|
dotnet_style_parentheses_in_other_binary_operators=always_for_clarity:silent
|
||||||
|
dotnet_style_parentheses_in_other_operators=never_if_unnecessary:silent
|
||||||
|
dotnet_style_parentheses_in_relational_binary_operators=always_for_clarity:silent
|
||||||
|
|
||||||
|
# Modifier preferences
|
||||||
|
dotnet_style_require_accessibility_modifiers=for_non_interface_members:silent
|
||||||
|
|
||||||
|
# Expression-level preferences
|
||||||
|
dotnet_style_coalesce_expression=true:suggestion
|
||||||
|
dotnet_style_collection_initializer=true:suggestion
|
||||||
|
dotnet_style_explicit_tuple_names=true:suggestion
|
||||||
|
dotnet_style_null_propagation=true:suggestion
|
||||||
|
dotnet_style_object_initializer=true:suggestion
|
||||||
|
dotnet_style_prefer_auto_properties=true:silent
|
||||||
|
dotnet_style_prefer_compound_assignment=true:suggestion
|
||||||
|
dotnet_style_prefer_conditional_expression_over_assignment=true:silent
|
||||||
|
dotnet_style_prefer_conditional_expression_over_return=true:silent
|
||||||
|
dotnet_style_prefer_inferred_anonymous_type_member_names=false:suggestion
|
||||||
|
dotnet_style_prefer_inferred_tuple_names=false:suggestion
|
||||||
|
dotnet_style_prefer_is_null_check_over_reference_equality_method=true:suggestion
|
||||||
|
dotnet_style_prefer_simplified_interpolation=true:suggestion
|
||||||
|
|
||||||
|
# Field preferences
|
||||||
|
dotnet_style_readonly_field=true:suggestion
|
||||||
|
|
||||||
|
# Parameter preferences
|
||||||
|
dotnet_code_quality_unused_parameters=all:suggestion
|
||||||
|
|
||||||
|
#### C# Coding Conventions ####
|
||||||
|
|
||||||
|
# var preferences
|
||||||
|
csharp_style_var_when_type_is_apparent=true:warning
|
||||||
|
|
||||||
|
# Expression-bodied members
|
||||||
|
csharp_style_expression_bodied_accessors=true:suggestion
|
||||||
|
csharp_style_expression_bodied_constructors=false:suggestion
|
||||||
|
csharp_style_expression_bodied_indexers=true:suggestion
|
||||||
|
csharp_style_expression_bodied_lambdas=true:silent
|
||||||
|
csharp_style_expression_bodied_local_functions=false:silent
|
||||||
|
csharp_style_expression_bodied_methods=false:suggestion
|
||||||
|
csharp_style_expression_bodied_operators=false:suggestion
|
||||||
|
csharp_style_expression_bodied_properties=false:suggestion
|
||||||
|
|
||||||
|
# Pattern matching preferences
|
||||||
|
csharp_style_pattern_matching_over_as_with_null_check=true:suggestion
|
||||||
|
csharp_style_pattern_matching_over_is_with_cast_check=true:suggestion
|
||||||
|
csharp_style_prefer_switch_expression=true:suggestion
|
||||||
|
|
||||||
|
# Null-checking preferences
|
||||||
|
csharp_style_conditional_delegate_call=true:suggestion
|
||||||
|
|
||||||
|
# Modifier preferences
|
||||||
|
csharp_prefer_static_local_function=true:suggestion
|
||||||
|
csharp_preferred_modifier_order=public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:silent
|
||||||
|
|
||||||
|
# Code-block preferences
|
||||||
|
csharp_prefer_braces=true:suggestion
|
||||||
|
csharp_prefer_simple_using_statement=true:suggestion
|
||||||
|
|
||||||
|
# Expression-level preferences
|
||||||
|
csharp_prefer_simple_default_expression=true:suggestion
|
||||||
|
csharp_style_deconstructed_variable_declaration=true:suggestion
|
||||||
|
csharp_style_inlined_variable_declaration=true:suggestion
|
||||||
|
csharp_style_pattern_local_over_anonymous_function=true:suggestion
|
||||||
|
csharp_style_prefer_index_operator=true:suggestion
|
||||||
|
csharp_style_prefer_range_operator=true:suggestion
|
||||||
|
csharp_style_throw_expression=true:suggestion
|
||||||
|
csharp_style_unused_value_assignment_preference=discard_variable:suggestion
|
||||||
|
csharp_style_unused_value_expression_statement_preference=discard_variable:silent
|
||||||
|
|
||||||
|
# 'using' directive preferences
|
||||||
|
csharp_using_directive_placement=outside_namespace:error
|
||||||
|
|
||||||
|
#### C# Formatting Rules ####
|
||||||
|
|
||||||
|
max_line_length=130
|
||||||
|
|
||||||
|
# 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=one_less_than_current
|
||||||
|
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=suggestion
|
||||||
|
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=suggestion
|
||||||
|
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=suggestion
|
||||||
|
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
|
||||||
|
|
||||||
|
# XML comment analysis is disabled due to project configuration
|
||||||
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA0001.md
|
||||||
|
dotnet_diagnostic.SA0001.severity = silent
|
||||||
|
|
||||||
|
# A C# code file is missing a standard file header.
|
||||||
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1633.md
|
||||||
|
dotnet_diagnostic.SA1633.severity = silent
|
||||||
|
|
||||||
|
# Consider calling ConfigureAwait on the awaited Task
|
||||||
|
# https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019
|
||||||
|
# https://github.com/JosefPihrt/Roslynator/blob/master/docs/analyzers/RCS1090.md
|
||||||
|
dotnet_diagnostic.CA2007.severity = silent
|
||||||
|
dotnet_diagnostic.RCS1090.severity = silent
|
38
.gitignore
vendored
Normal file
38
.gitignore
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
.env
|
||||||
|
*.swp
|
||||||
|
*.*~
|
||||||
|
project.lock.json
|
||||||
|
.DS_Store
|
||||||
|
*.pyc
|
||||||
|
nupkg/
|
||||||
|
|
||||||
|
# Visual Studio Code
|
||||||
|
.vscode
|
||||||
|
|
||||||
|
# Rider
|
||||||
|
.idea
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
build/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
[Oo]ut/
|
||||||
|
msbuild.log
|
||||||
|
msbuild.err
|
||||||
|
msbuild.wrn
|
||||||
|
|
||||||
|
# Visual Studio 2015
|
||||||
|
.vs/
|
43
CONTRIBUTING.md
Normal file
43
CONTRIBUTING.md
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
## How you can contribute
|
||||||
|
|
||||||
|
Contributions to this project are always welcome. If you spot a bug, or want to request a new extension method, open a new issue
|
||||||
|
or submit a pull request.
|
||||||
|
|
||||||
|
### Pull request guidelines
|
||||||
|
|
||||||
|
This project uses C# 10.0 language features, and adheres to StyleCop rules with some minor adjustments.
|
||||||
|
There is an `.editorconfig` included in this repository. For quick and painless pull requests, ensure that the analyzer does not
|
||||||
|
throw warnings.
|
||||||
|
|
||||||
|
### Code style
|
||||||
|
|
||||||
|
Below are a few pointers to which you may refer, but keep in mind this is not an exhaustive list:
|
||||||
|
|
||||||
|
- Use C# 10.0 features where possible
|
||||||
|
- Try to ensure code is CLS-compliant. Where this is not possible, decorate methods with `CLSCompliantAttribute` and pass `false`
|
||||||
|
- Follow all .NET guidelines and coding conventions.
|
||||||
|
See https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions
|
||||||
|
and https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/
|
||||||
|
- Make full use of XMLDoc and be thorough - but concise - with all documentation
|
||||||
|
- Ensure that no line exceeds 130 characters in length
|
||||||
|
- Do NOT include file headers in any form
|
||||||
|
- Declare `using` directives outside of namespace scope
|
||||||
|
- Avoid using exceptions for flow control where possible
|
||||||
|
- Use braces, even for single-statement bodies
|
||||||
|
- Use implicit type when the type is apparent
|
||||||
|
- Use explicit type otherwise
|
||||||
|
- Use U.S. English throughout the codebase and documentation
|
||||||
|
|
||||||
|
When in doubt, follow .NET guidelines.
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
|
||||||
|
When introducing a new extension method, you must ensure that you have also defined a unit test that asserts its correct behavior.
|
||||||
|
The code style guidelines and code-analysis rules apply to the `X10D.Tests` equally as much as `X10D`, although documentation may
|
||||||
|
be briefer. Refer to existing tests as a guideline.
|
||||||
|
|
||||||
|
### Disclaimer
|
||||||
|
|
||||||
|
In the event of a code style violation, a pull request may left open (or closed entirely) without merging. Keep in mind this does
|
||||||
|
not mean the theory or implementation of the method is inherently bad or rejected entirely (although if this is the case, it will
|
||||||
|
be outlined)
|
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019-2022 Oliver Booth
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
26
README.md
Normal file
26
README.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<h1 align="center"><img src="banner.png"></h1>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/oliverbooth/VpSharp/actions?query=workflow%3A%22.NET%22"><img src="https://img.shields.io/github/workflow/status/oliverbooth/VpSharp/.NET" alt="GitHub Workflow Status" title="GitHub Workflow Status"></a>
|
||||||
|
<a href="https://github.com/oliverbooth/VpSharp/issues"><img src="https://img.shields.io/github/issues/oliverbooth/VpSharp" alt="GitHub Issues" title="GitHub Issues"></a>
|
||||||
|
<a href="https://github.com/oliverbooth/VpSharp/blob/master/LICENSE.md"><img src="https://img.shields.io/github/license/oliverbooth/VpSharp" alt="MIT License" title="MIT License"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
### About
|
||||||
|
VP# is a modern .NET wrapper for the Virtual Paradise SDK which introduces a cleaner, more modern, and more async API.
|
||||||
|
|
||||||
|
*(I'm also [dogfooding](https://www.pcmag.com/encyclopedia/term/dogfooding) this library, so there's that.)*
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
### NuGet installation
|
||||||
|
```ps
|
||||||
|
Install-Package VpSharp -Version 0.1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual installation
|
||||||
|
Download the [latest release](https://github.com/oliverbooth/VpSharp/releases/latest) from this repository and adding a direct assembly reference for your chosen platform.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||||
|
|
||||||
|
## License
|
||||||
|
VP# is released under the MIT License. See [here](https://github.com/oliverbooth/VpSharp/blob/master/LICENSE.md) for more details.
|
BIN
banner.png
Normal file
BIN
banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
Loading…
Reference in New Issue
Block a user