another refactor
This commit is contained in:
parent
dc8fe0324e
commit
940e23fe39
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
[*.{appxmanifest,asax,ascx,aspx,axaml,build,c,c++,cc,cginc,compute,cp,cpp,cs,cshtml,cu,cuh,cxx,dtd,fs,fsi,fsscript,fsx,fx,fxh,h,hh,hlsl,hlsli,hlslinc,hpp,hxx,inc,inl,ino,ipp,master,ml,mli,mpp,mq4,mq5,mqh,nuspec,paml,razor,resw,resx,shader,skin,tpp,usf,ush,vb,xaml,xamlx,xoml,xsd}]
|
[*.{appxmanifest,asax,ascx,aspx,axaml,build,c,c++,cc,cginc,compute,cp,cpp,cs,cshtml,cu,cuh,cxx,dtd,fs,fsi,fsscript,fsx,fx,fxh,h,hh,hlsl,hlsli,hlslinc,hpp,hxx,inc,inl,ino,ipp,master,ml,mli,mpp,mq4,mq5,mqh,nuspec,paml,razor,resw,resx,shader,skin,tpp,usf,ush,vb,xaml,xamlx,xoml,xsd}]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 4
|
indent_size = 4
|
||||||
|
|
@ -21,7 +22,7 @@ dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style
|
||||||
dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_fields_symbols
|
dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_fields_symbols
|
||||||
dotnet_naming_rule.private_static_fields_rule.import_to_resharper = as_predefined
|
dotnet_naming_rule.private_static_fields_rule.import_to_resharper = as_predefined
|
||||||
dotnet_naming_rule.private_static_fields_rule.severity = warning
|
dotnet_naming_rule.private_static_fields_rule.severity = warning
|
||||||
dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style_1
|
dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style
|
||||||
dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols
|
dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols
|
||||||
dotnet_naming_rule.private_static_readonly_rule.import_to_resharper = as_predefined
|
dotnet_naming_rule.private_static_readonly_rule.import_to_resharper = as_predefined
|
||||||
dotnet_naming_rule.private_static_readonly_rule.severity = warning
|
dotnet_naming_rule.private_static_readonly_rule.severity = warning
|
||||||
|
|
@ -34,8 +35,6 @@ dotnet_naming_rule.unity_serialized_field_rule.severity = warning
|
||||||
dotnet_naming_rule.unity_serialized_field_rule.style = lower_camel_case_style
|
dotnet_naming_rule.unity_serialized_field_rule.style = lower_camel_case_style
|
||||||
dotnet_naming_rule.unity_serialized_field_rule.symbols = unity_serialized_field_symbols
|
dotnet_naming_rule.unity_serialized_field_rule.symbols = unity_serialized_field_symbols
|
||||||
dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
|
dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
|
||||||
dotnet_naming_style.lower_camel_case_style_1.capitalization = camel_case
|
|
||||||
dotnet_naming_style.lower_camel_case_style_1.required_prefix = _
|
|
||||||
dotnet_naming_style.upper_camel_case_style.capitalization = pascal_case
|
dotnet_naming_style.upper_camel_case_style.capitalization = pascal_case
|
||||||
dotnet_naming_symbols.private_constants_symbols.applicable_accessibilities = private
|
dotnet_naming_symbols.private_constants_symbols.applicable_accessibilities = private
|
||||||
dotnet_naming_symbols.private_constants_symbols.applicable_kinds = field
|
dotnet_naming_symbols.private_constants_symbols.applicable_kinds = field
|
||||||
|
|
@ -57,16 +56,28 @@ dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:none
|
||||||
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
|
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
|
||||||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
|
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
|
||||||
dotnet_style_predefined_type_for_member_access = true:suggestion
|
dotnet_style_predefined_type_for_member_access = true:suggestion
|
||||||
dotnet_style_qualification_for_event = false:suggestion
|
dotnet_style_qualification_for_event = true:warning
|
||||||
dotnet_style_qualification_for_field = false:suggestion
|
|
||||||
dotnet_style_qualification_for_method = false:suggestion
|
|
||||||
dotnet_style_qualification_for_property = false:suggestion
|
|
||||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
|
|
||||||
|
|
||||||
dotnet_style_qualification_for_field = true:warning
|
dotnet_style_qualification_for_field = true:warning
|
||||||
dotnet_style_qualification_for_method = true:warning
|
dotnet_style_qualification_for_method = true:warning
|
||||||
dotnet_style_qualification_for_property = true:warning
|
dotnet_style_qualification_for_property = true:warning
|
||||||
dotnet_style_qualification_for_event = true:warning
|
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
|
||||||
csharp_style_unused_value_expression_statement_preference = false
|
|
||||||
csharp_style_namespace_declarations=file_scoped:warning
|
# ReSharper properties
|
||||||
dotnet_diagnostic.CA1805.severity = none
|
resharper_autodetect_indent_settings = true
|
||||||
|
resharper_use_indent_from_vs = false
|
||||||
|
|
||||||
|
# ReSharper inspection severities
|
||||||
|
resharper_arrange_redundant_parentheses_highlighting = hint
|
||||||
|
resharper_arrange_type_member_modifiers_highlighting = hint
|
||||||
|
resharper_arrange_type_modifiers_highlighting = hint
|
||||||
|
resharper_built_in_type_reference_style_for_member_access_highlighting = hint
|
||||||
|
resharper_built_in_type_reference_style_highlighting = hint
|
||||||
|
resharper_local_variable_hides_member_highlighting = none
|
||||||
|
resharper_not_accessed_field_local_highlighting = hint
|
||||||
|
resharper_parameter_hides_member_highlighting = none
|
||||||
|
resharper_suggest_var_or_type_built_in_types_highlighting = hint
|
||||||
|
resharper_suggest_var_or_type_elsewhere_highlighting = hint
|
||||||
|
resharper_suggest_var_or_type_simple_types_highlighting = hint
|
||||||
|
resharper_web_config_module_not_resolved_highlighting = warning
|
||||||
|
resharper_web_config_type_not_resolved_highlighting = warning
|
||||||
|
resharper_web_config_wrong_module_highlighting = warning
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="UserContentModel">
|
||||||
|
<attachedFolders />
|
||||||
|
<explicitIncludes />
|
||||||
|
<explicitExcludes />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RiderProjectSettingsUpdater">
|
||||||
|
<option name="vcsConfiguration" value="2" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -8,16 +8,62 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="647d77fa-e9ab-4317-9087-0d31c3323ae0" name="Changes" comment="">
|
<list default="true" id="647d77fa-e9ab-4317-9087-0d31c3323ae0" name="Changes" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/Mine2d/assets/breaking.ase" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/.idea/.idea.Mine2d/.idea/indexLayout.xml" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/Mine2d/assets/breaking.png" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/.idea/.idea.Mine2d/.idea/projectSettingsUpdater.xml" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/Mine2d/assets/font.ttf" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/Mine2d/game/core/tiles/TileRegistry.cs" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/Mine2d/assets/stone.png" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.editorconfig" beforeDir="false" afterPath="$PROJECT_DIR$/.editorconfig" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.Mine2d/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Mine2d/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.Mine2d/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Mine2d/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Mine2d/Mine2d.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/Mine2d.csproj" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Folder.DotSettings" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d.sln.DotSettings" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/breaking.ase" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/Mine2d/Context.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/Context.cs" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/breaking.png" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/Mine2d/Controls.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/Controls.cs" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/font.ttf" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/Mine2d/Import.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/GlobalUsings.cs" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/assets/stone.png" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/Mine2d/Mine2dGame.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/Mine2dGame.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/Program.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/Program.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/Backend.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/networking/Backend.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/IBackend.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/networking/IBackend.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/Publisher.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/Publisher.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/RemoteBackend.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/networking/RemoteBackend.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/data/Packet.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/backend/data/Packet.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/interactor/Breaking.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/backend/interactor/Breaking.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/interactor/Connect.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/backend/interactor/Connect.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/interactor/Move.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/backend/interactor/Move.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/backend/interactor/WorldGeneration.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/backend/interactor/WorldGeneration.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/Bootstrapper.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/Bootstrapper.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/Camera.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/Camera.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/Constants.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/Constants.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/PlayerEntity.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/PlayerEntity.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/data/Chunk.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/data/Chunk.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/data/STile.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/data/STile.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/data/World.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/data/World.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/extensions/AssemblyExtensions.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/extensions/AssemblyExtensions.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/extensions/TypeExtensions.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/extensions/TypeExtensions.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/tiles/OreTile.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/tiles/OreTile.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/tiles/TextureCache.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/tiles/TextureCache.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/tiles/Tile.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/tiles/Tile.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/tiles/TileRegistry.cs" beforeDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/core/world/ChunkGenerator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/core/world/ChunkGenerator.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/engine/PacketUtils.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/networking/PacketUtils.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/engine/Shapes.cs" beforeDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/engine/TextureFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/TextureFactory.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/EventPublisher.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/EventPublisher.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/EventService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/EventService.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/Frontend.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/networking/Frontend.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/IFrontend.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/networking/IFrontend.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/events/Exit.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/events/Exit.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/events/Fullscreen.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/events/Fullscreen.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/events/PlayerBreakInput.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/events/PlayerBreakInput.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/events/PlayerInput.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/events/PlayerInput.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/events/Resize.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/events/Resize.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/renderer/BackgroundRenderer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/renderer/BackgroundRenderer.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/renderer/GameRenderer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/renderer/GameRenderer.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/renderer/IRenderer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/engine/IRenderer.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/renderer/PlayerRenderer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/renderer/PlayerRenderer.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/renderer/WorldCursorRenderer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/renderer/WorldCursorRenderer.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/frontend/renderer/WorldRenderer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/frontend/renderer/WorldRenderer.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/network/Converter.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/backend/network/Converter.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/network/PacketException.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/backend/network/PacketException.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/state/GameState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/state/GameState.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Mine2d/state/Player.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Mine2d/game/state/Player.cs" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|
@ -25,9 +71,16 @@
|
||||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="HighlightingSettingsPerFile">
|
<component name="HighlightingSettingsPerFile">
|
||||||
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
|
||||||
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/48db0d883a624d62aa8ff0ff392ea93517600/62/b09add12/WatsonTcpClient.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/48db0d883a624d62aa8ff0ff392ea93517600/62/b09add12/WatsonTcpClient.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/engine/Game.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/engine/Renderer.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/engine/networking/Backend.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/engine/networking/Frontend.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/engine/networking/IBackend.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/engine/networking/IFrontend.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/game/Context.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/game/backend/network/Converter.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Mine2d/game/core/tiles/Tile.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
</component>
|
</component>
|
||||||
<component name="MacroExpansionManager">
|
<component name="MacroExpansionManager">
|
||||||
<option name="directoryName" value="sqwxszt3" />
|
<option name="directoryName" value="sqwxszt3" />
|
||||||
|
|
@ -49,13 +102,14 @@
|
||||||
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
|
||||||
"WebServerToolWindowFactoryState": "false",
|
"WebServerToolWindowFactoryState": "false",
|
||||||
|
"XThreadsFramesViewSplitterKey": "0.5005688",
|
||||||
"last_opened_file_path": "/mnt/storage_01/data/Dev/repos/Mine2d/Mine2d/Mine2d.csproj",
|
"last_opened_file_path": "/mnt/storage_01/data/Dev/repos/Mine2d/Mine2d/Mine2d.csproj",
|
||||||
"node.js.detected.package.eslint": "true",
|
"node.js.detected.package.eslint": "true",
|
||||||
"node.js.detected.package.tslint": "true",
|
"node.js.detected.package.tslint": "true",
|
||||||
"node.js.selected.package.eslint": "(autodetect)",
|
"node.js.selected.package.eslint": "(autodetect)",
|
||||||
"node.js.selected.package.tslint": "(autodetect)",
|
"node.js.selected.package.tslint": "(autodetect)",
|
||||||
|
"settings.editor.selected.configurable": "preferences.sourceCode.C#",
|
||||||
"vue.rearranger.settings.migration": "true"
|
"vue.rearranger.settings.migration": "true"
|
||||||
}
|
}
|
||||||
}]]></component>
|
}]]></component>
|
||||||
|
|
@ -109,7 +163,10 @@
|
||||||
<option name="number" value="Default" />
|
<option name="number" value="Default" />
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1668298144432</updated>
|
<updated>1668298144432</updated>
|
||||||
<workItem from="1668298147381" duration="717000" />
|
<workItem from="1668298147381" duration="4112000" />
|
||||||
|
<workItem from="1669217635437" duration="1866000" />
|
||||||
|
<workItem from="1669223179688" duration="19000" />
|
||||||
|
<workItem from="1669223234527" duration="1396000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=trimmable/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SDL/@EntryIndexedValue">SDL</s:String></wpf:ResourceDictionary>
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
namespace Mine2d;
|
using Mine2d.game;
|
||||||
|
|
||||||
|
namespace Mine2d;
|
||||||
|
|
||||||
public class Program
|
public class Program
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
namespace Mine2d.core.tiles;
|
|
||||||
|
|
||||||
public enum Tiles
|
|
||||||
{
|
|
||||||
Stone = 1,
|
|
||||||
Ore1 = 2,
|
|
||||||
Ore2 = 3,
|
|
||||||
Ore3 = 4,
|
|
||||||
Ore4 = 5,
|
|
||||||
}
|
|
||||||
|
|
||||||
public class TileRegistry
|
|
||||||
{
|
|
||||||
public Dictionary<int, Tile> Tiles { get; set; } = new();
|
|
||||||
|
|
||||||
public void RegisterTile()
|
|
||||||
{
|
|
||||||
this.Tiles.Add(1, new Tile("stone", "stone", 5));
|
|
||||||
this.Tiles.Add(2, new OreTile("ore1", new string[] { "stone", "ore1" }, 5));
|
|
||||||
this.Tiles.Add(3, new OreTile("ore2", new string[] { "stone", "ore2" }, 7));
|
|
||||||
this.Tiles.Add(4, new OreTile("ore3", new string[] { "stone", "ore3" }, 8));
|
|
||||||
this.Tiles.Add(5, new OreTile("ore4", new string[] { "stone", "ore4" }, 10));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Tile GetTile(int id)
|
|
||||||
{
|
|
||||||
return this.Tiles[id];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
using Mine2d.core.extensions;
|
|
||||||
using Mine2d.engine.system;
|
using Mine2d.engine.system;
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
using Mine2d.game.core.extensions;
|
||||||
|
|
||||||
namespace Mine2d.frontend;
|
namespace Mine2d.engine;
|
||||||
|
|
||||||
internal struct EventAction
|
internal struct EventAction
|
||||||
{
|
{
|
||||||
public EventPriority priority;
|
public EventPriority Priority;
|
||||||
public Delegate del;
|
public Delegate Del;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class EventPublisher
|
public class EventPublisher
|
||||||
|
|
@ -48,8 +48,8 @@ public class EventPublisher
|
||||||
);
|
);
|
||||||
this.eventListeners[eventType].Add(new EventAction
|
this.eventListeners[eventType].Add(new EventAction
|
||||||
{
|
{
|
||||||
priority = ((EventListenerAttribute)attributes[0]).Priority,
|
Priority = ((EventListenerAttribute)attributes[0]).Priority,
|
||||||
del = del
|
Del = del
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +57,7 @@ public class EventPublisher
|
||||||
|
|
||||||
foreach (var (_, value) in this.eventListeners)
|
foreach (var (_, value) in this.eventListeners)
|
||||||
{
|
{
|
||||||
value.Sort((a, b) => a.priority.CompareTo(b.priority));
|
value.Sort((a, b) => a.Priority.CompareTo(b.Priority));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -68,7 +68,7 @@ public class EventPublisher
|
||||||
Console.WriteLine(eventType);
|
Console.WriteLine(eventType);
|
||||||
foreach (var action in this.eventListeners[eventType])
|
foreach (var action in this.eventListeners[eventType])
|
||||||
{
|
{
|
||||||
Console.WriteLine(action.del.Method.Name);
|
Console.WriteLine(action.Del.Method.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -81,13 +81,13 @@ public class EventPublisher
|
||||||
{
|
{
|
||||||
foreach (var action in this.eventListeners[eventType])
|
foreach (var action in this.eventListeners[eventType])
|
||||||
{
|
{
|
||||||
if (action.del.Method.GetParameters().Length == 0)
|
if (action.Del.Method.GetParameters().Length == 0)
|
||||||
{
|
{
|
||||||
action.del.DynamicInvoke();
|
action.Del.DynamicInvoke();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
action.del.DynamicInvoke(e);
|
action.Del.DynamicInvoke(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
using Mine2d.engine.system;
|
using Mine2d.engine.system;
|
||||||
|
|
||||||
namespace Mine2d.frontend;
|
namespace Mine2d.engine;
|
||||||
|
|
||||||
public class EventService
|
public class EventService
|
||||||
{
|
{
|
||||||
private static readonly EventPublisher eventPublisher = new();
|
private static readonly EventPublisher EventPublisher = new();
|
||||||
|
|
||||||
public static void PollEvents()
|
public static void PollEvents()
|
||||||
{
|
{
|
||||||
|
|
@ -12,31 +12,31 @@ public class EventService
|
||||||
{
|
{
|
||||||
if (e.type == SDL_EventType.SDL_QUIT)
|
if (e.type == SDL_EventType.SDL_QUIT)
|
||||||
{
|
{
|
||||||
eventPublisher.Publish(EventType.Quit, e);
|
EventPublisher.Publish(EventType.Quit, e);
|
||||||
}
|
}
|
||||||
if (e.type == SDL_EventType.SDL_WINDOWEVENT && e.window.windowEvent == SDL_WindowEventID.SDL_WINDOWEVENT_RESIZED)
|
if (e.type == SDL_EventType.SDL_WINDOWEVENT && e.window.windowEvent == SDL_WindowEventID.SDL_WINDOWEVENT_RESIZED)
|
||||||
{
|
{
|
||||||
eventPublisher.Publish(EventType.WindowResize, e);
|
EventPublisher.Publish(EventType.WindowResize, e);
|
||||||
}
|
}
|
||||||
if (e.type == SDL_EventType.SDL_MOUSEMOTION)
|
if (e.type == SDL_EventType.SDL_MOUSEMOTION)
|
||||||
{
|
{
|
||||||
eventPublisher.Publish(EventType.MouseMotion, e);
|
EventPublisher.Publish(EventType.MouseMotion, e);
|
||||||
}
|
}
|
||||||
if (e.type == SDL_EventType.SDL_MOUSEBUTTONDOWN && e.button.button == SDL_BUTTON_LEFT)
|
if (e.type == SDL_EventType.SDL_MOUSEBUTTONDOWN && e.button.button == SDL_BUTTON_LEFT)
|
||||||
{
|
{
|
||||||
eventPublisher.Publish(EventType.MouseButtonDown, e);
|
EventPublisher.Publish(EventType.MouseButtonDown, e);
|
||||||
}
|
}
|
||||||
if (e.type == SDL_EventType.SDL_MOUSEBUTTONUP && e.button.button == SDL_BUTTON_LEFT)
|
if (e.type == SDL_EventType.SDL_MOUSEBUTTONUP && e.button.button == SDL_BUTTON_LEFT)
|
||||||
{
|
{
|
||||||
eventPublisher.Publish(EventType.MouseButtonUp, e);
|
EventPublisher.Publish(EventType.MouseButtonUp, e);
|
||||||
}
|
}
|
||||||
if (e.type == SDL_EventType.SDL_KEYDOWN)
|
if (e.type == SDL_EventType.SDL_KEYDOWN)
|
||||||
{
|
{
|
||||||
eventPublisher.Publish(EventType.KeyDown, e);
|
EventPublisher.Publish(EventType.KeyDown, e);
|
||||||
}
|
}
|
||||||
if (e.type == SDL_EventType.SDL_KEYUP)
|
if (e.type == SDL_EventType.SDL_KEYUP)
|
||||||
{
|
{
|
||||||
eventPublisher.Publish(EventType.KeyUp, e);
|
EventPublisher.Publish(EventType.KeyUp, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.frontend.renderer;
|
namespace Mine2d.engine;
|
||||||
|
|
||||||
public interface IRenderer
|
public interface IRenderer
|
||||||
{
|
{
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Mine2d.core.extensions;
|
using Mine2d.engine.networking;
|
||||||
using Mine2d.engine;
|
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
using Mine2d.game.core.extensions;
|
||||||
|
|
||||||
namespace Mine2d.backend;
|
namespace Mine2d.engine;
|
||||||
|
|
||||||
public class Publisher
|
public class Publisher
|
||||||
{
|
{
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
namespace Mine2d.engine;
|
|
||||||
|
|
||||||
public struct Line
|
|
||||||
{
|
|
||||||
public Vector2 Start { get; set; }
|
|
||||||
public Vector2 End { get; set; }
|
|
||||||
|
|
||||||
public Line(Vector2 start, Vector2 end)
|
|
||||||
{
|
|
||||||
this.Start = start;
|
|
||||||
this.End = end;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
using Mine2d.game;
|
||||||
|
|
||||||
namespace Mine2d.engine;
|
namespace Mine2d.engine;
|
||||||
|
|
||||||
public class TextureFactory
|
public class TextureFactory
|
||||||
|
|
@ -14,16 +16,16 @@ public class TextureFactory
|
||||||
|
|
||||||
public IntPtr CreateTexture(string[] path)
|
public IntPtr CreateTexture(string[] path)
|
||||||
{
|
{
|
||||||
var target = this.loadTexture(path[0]);
|
var target = this.LoadTexture(path[0]);
|
||||||
for (var i = 1; i < path.Length; i++)
|
for (var i = 1; i < path.Length; i++)
|
||||||
{
|
{
|
||||||
var t = this.loadTexture(path[i]);
|
var t = this.LoadTexture(path[i]);
|
||||||
target = this.mergeTextures(target, t);
|
target = this.MergeTextures(target, t);
|
||||||
}
|
}
|
||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IntPtr mergeTextures(IntPtr t1, IntPtr t2)
|
private IntPtr MergeTextures(IntPtr t1, IntPtr t2)
|
||||||
{
|
{
|
||||||
var (w, h) = this.renderer.GetTextureSize(t1);
|
var (w, h) = this.renderer.GetTextureSize(t1);
|
||||||
var target = SDL_CreateTexture(this.renderer.GetRaw(), SDL_PIXELFORMAT_RGBA8888, (int)SDL_TextureAccess.SDL_TEXTUREACCESS_TARGET, w, h);
|
var target = SDL_CreateTexture(this.renderer.GetRaw(), SDL_PIXELFORMAT_RGBA8888, (int)SDL_TextureAccess.SDL_TEXTUREACCESS_TARGET, w, h);
|
||||||
|
|
@ -35,7 +37,7 @@ public class TextureFactory
|
||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IntPtr loadTexture(string path)
|
private IntPtr LoadTexture(string path)
|
||||||
{
|
{
|
||||||
if (this.textureCache.TryGetValue(path, out var value))
|
if (this.textureCache.TryGetValue(path, out var value))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
using Mine2d.network;
|
using Mine2d.game;
|
||||||
|
using Mine2d.game.backend.data;
|
||||||
|
using Mine2d.game.backend.network;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using WatsonTcp;
|
using WatsonTcp;
|
||||||
|
|
||||||
namespace Mine2d.backend;
|
namespace Mine2d.engine.networking;
|
||||||
|
|
||||||
public class Backend : IBackend
|
public class Backend : IBackend
|
||||||
{
|
{
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
using Mine2d.backend.data;
|
using Mine2d.game;
|
||||||
using Mine2d.frontend.renderer;
|
using Mine2d.game.backend.data;
|
||||||
|
using Mine2d.game.frontend.renderer;
|
||||||
|
|
||||||
namespace Mine2d.frontend;
|
namespace Mine2d.engine.networking;
|
||||||
|
|
||||||
public class Frontend : IFrontend
|
public class Frontend : IFrontend
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.backend;
|
namespace Mine2d.engine.networking;
|
||||||
|
|
||||||
public interface IBackend
|
public interface IBackend
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.frontend;
|
namespace Mine2d.engine.networking;
|
||||||
|
|
||||||
public interface IFrontend
|
public interface IFrontend
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using Mine2d.backend.data;
|
using Mine2d.game.backend.data;
|
||||||
|
|
||||||
namespace Mine2d.engine;
|
namespace Mine2d.engine.networking;
|
||||||
|
|
||||||
public static class PacketUtils
|
public static class PacketUtils
|
||||||
{
|
{
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.engine;
|
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
using Mine2d.state;
|
using Mine2d.game;
|
||||||
|
using Mine2d.game.backend.data;
|
||||||
|
using Mine2d.game.state;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using WatsonTcp;
|
using WatsonTcp;
|
||||||
|
|
||||||
namespace Mine2d.backend;
|
namespace Mine2d.engine.networking;
|
||||||
|
|
||||||
public class RemoteBackend : IBackend
|
public class RemoteBackend : IBackend
|
||||||
{
|
{
|
||||||
private WatsonTcpClient client;
|
private WatsonTcpClient client;
|
||||||
private Publisher publisher;
|
private Publisher publisher;
|
||||||
private readonly Queue<ValueType> pendingPackets = new();
|
private readonly Queue<ValueType> pendingPackets = new();
|
||||||
private uint tick = 0;
|
private uint tick;
|
||||||
|
|
||||||
public void Process(double dt)
|
public void Process(double dt)
|
||||||
{
|
{
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
using Mine2d.backend;
|
|
||||||
using Mine2d.core.tiles;
|
|
||||||
using Mine2d.engine;
|
using Mine2d.engine;
|
||||||
using Mine2d.frontend;
|
using Mine2d.engine.networking;
|
||||||
using Mine2d.state;
|
using Mine2d.game.core.tiles;
|
||||||
|
using Mine2d.game.state;
|
||||||
|
|
||||||
namespace Mine2d;
|
namespace Mine2d.game;
|
||||||
|
|
||||||
public class Context
|
public class Context
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d;
|
namespace Mine2d.game;
|
||||||
|
|
||||||
public enum Control
|
public enum Control
|
||||||
{
|
{
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
using Mine2d.backend;
|
|
||||||
using Mine2d.core;
|
|
||||||
using Mine2d.engine;
|
using Mine2d.engine;
|
||||||
using Mine2d.frontend;
|
using Mine2d.engine.networking;
|
||||||
using Mine2d.state;
|
using Mine2d.game.core;
|
||||||
|
using Mine2d.game.state;
|
||||||
|
|
||||||
namespace Mine2d;
|
namespace Mine2d.game;
|
||||||
|
|
||||||
public class Mine2dGame : Game
|
public class Mine2dGame : Game
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using Mine2d.core.data;
|
using Mine2d.game.core.data;
|
||||||
|
|
||||||
namespace Mine2d.backend.data;
|
namespace Mine2d.game.backend.data;
|
||||||
|
|
||||||
public interface IPacket
|
public interface IPacket
|
||||||
{
|
{
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.core;
|
|
||||||
using Mine2d.core.data;
|
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
using Mine2d.game.backend.data;
|
||||||
|
using Mine2d.game.core;
|
||||||
|
using Mine2d.game.core.data;
|
||||||
|
|
||||||
namespace Mine2d.backend.interactor;
|
namespace Mine2d.game.backend.interactor;
|
||||||
|
|
||||||
[Interactor]
|
[Interactor]
|
||||||
public class Breaking
|
public class Breaking
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
using Mine2d.state;
|
using Mine2d.game.backend.data;
|
||||||
|
using Mine2d.game.state;
|
||||||
|
|
||||||
namespace Mine2d.backend.interactor;
|
namespace Mine2d.game.backend.interactor;
|
||||||
|
|
||||||
[Interactor]
|
[Interactor]
|
||||||
public class Connect
|
public class Connect
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.core;
|
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
using Mine2d.game.backend.data;
|
||||||
|
using Mine2d.game.core;
|
||||||
|
|
||||||
namespace Mine2d.backend.interactor;
|
namespace Mine2d.game.backend.interactor;
|
||||||
|
|
||||||
[Interactor]
|
[Interactor]
|
||||||
public class Move
|
public class Move
|
||||||
|
|
@ -1,24 +1,22 @@
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.core.data;
|
|
||||||
using Mine2d.core.tiles;
|
|
||||||
using Mine2d.core.world;
|
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
using Mine2d.game.backend.data;
|
||||||
|
using Mine2d.game.core.data;
|
||||||
|
using Mine2d.game.core.world;
|
||||||
|
|
||||||
namespace Mine2d.backend.interactor;
|
namespace Mine2d.game.backend.interactor;
|
||||||
|
|
||||||
[Interactor]
|
[Interactor]
|
||||||
public class WorldGeneration
|
public class WorldGeneration
|
||||||
{
|
{
|
||||||
private static Vector2[] directions = new Vector2[]
|
private static readonly Vector2[] Directions = {
|
||||||
{
|
new(0, 1),
|
||||||
new Vector2(0, 1),
|
new(1, 0),
|
||||||
new Vector2(1, 0),
|
new(0, -1),
|
||||||
new Vector2(0, -1),
|
new(-1, 0),
|
||||||
new Vector2(-1, 0),
|
new(1, 1),
|
||||||
new Vector2(1, 1),
|
new(1, -1),
|
||||||
new Vector2(1, -1),
|
new(-1, -1),
|
||||||
new Vector2(-1, -1),
|
new(-1, 1)
|
||||||
new Vector2(-1, 1)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
[Interaction(InteractorKind.Server, "playerMoved")]
|
[Interaction(InteractorKind.Server, "playerMoved")]
|
||||||
|
|
@ -26,7 +24,7 @@ public class WorldGeneration
|
||||||
{
|
{
|
||||||
var ctx = Context.Get();
|
var ctx = Context.Get();
|
||||||
var world = ctx.GameState.World;
|
var world = ctx.GameState.World;
|
||||||
foreach (var direction in directions)
|
foreach (var direction in Directions)
|
||||||
{
|
{
|
||||||
var generationTarget = packet.Target + direction * 16 * 32;
|
var generationTarget = packet.Target + direction * 16 * 32;
|
||||||
var hasChunkGenerated = world.HasChunkAt(generationTarget);
|
var hasChunkGenerated = world.HasChunkAt(generationTarget);
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Mine2d.backend.data;
|
using Mine2d.game.backend.data;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
namespace Mine2d.network;
|
namespace Mine2d.game.backend.network;
|
||||||
|
|
||||||
public class Converter
|
public class Converter
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.network;
|
namespace Mine2d.game.backend.network;
|
||||||
|
|
||||||
public class PacketException : Exception
|
public class PacketException : Exception
|
||||||
{
|
{
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
using Mine2d.core.data;
|
using Mine2d.game.core.data;
|
||||||
using Mine2d.core.tiles;
|
using Mine2d.game.core.tiles;
|
||||||
using Mine2d.core.world;
|
using Mine2d.game.core.world;
|
||||||
|
|
||||||
namespace Mine2d.core;
|
namespace Mine2d.game.core;
|
||||||
|
|
||||||
public class Bootstrapper
|
public class Bootstrapper
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.core;
|
namespace Mine2d.game.core;
|
||||||
|
|
||||||
public class Camera
|
public class Camera
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.core;
|
namespace Mine2d.game.core;
|
||||||
|
|
||||||
public class Constants
|
public class Constants
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using Mine2d.state;
|
using Mine2d.game.state;
|
||||||
|
|
||||||
namespace Mine2d.core;
|
namespace Mine2d.game.core;
|
||||||
|
|
||||||
public class PlayerEntity
|
public class PlayerEntity
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.core.data;
|
namespace Mine2d.game.core.data;
|
||||||
|
|
||||||
public class Chunk
|
public class Chunk
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using Mine2d.core.tiles;
|
using Mine2d.game.core.tiles;
|
||||||
|
|
||||||
namespace Mine2d.core.data;
|
namespace Mine2d.game.core.data;
|
||||||
|
|
||||||
public struct STile
|
public struct STile
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.core.data;
|
namespace Mine2d.game.core.data;
|
||||||
|
|
||||||
public class World
|
public class World
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
namespace Mine2d.core.extensions;
|
namespace Mine2d.game.core.extensions;
|
||||||
|
|
||||||
public static class AssemblyExtensions
|
public static class AssemblyExtensions
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
namespace Mine2d.core.extensions;
|
namespace Mine2d.game.core.extensions;
|
||||||
|
|
||||||
public static class TypeExtensions
|
public static class TypeExtensions
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using Mine2d.engine;
|
using Mine2d.engine;
|
||||||
|
|
||||||
namespace Mine2d.core.tiles;
|
namespace Mine2d.game.core.tiles;
|
||||||
|
|
||||||
public class OreTile : Tile
|
public class OreTile : Tile
|
||||||
{
|
{
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
using Mine2d.core.data;
|
|
||||||
using Mine2d.engine;
|
using Mine2d.engine;
|
||||||
|
using Mine2d.game.core.data;
|
||||||
|
|
||||||
namespace Mine2d.core.tiles;
|
namespace Mine2d.game.core.tiles;
|
||||||
|
|
||||||
public class Tile
|
public class Tile
|
||||||
{
|
{
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
namespace Mine2d.game.core.tiles;
|
||||||
|
|
||||||
|
public enum Tiles
|
||||||
|
{
|
||||||
|
Stone = 1,
|
||||||
|
Ore1 = 2,
|
||||||
|
Ore2 = 3,
|
||||||
|
Ore3 = 4,
|
||||||
|
Ore4 = 5,
|
||||||
|
}
|
||||||
|
|
||||||
|
public class TileRegistry
|
||||||
|
{
|
||||||
|
public Dictionary<int, Tile> Tiles { get; set; } = new();
|
||||||
|
|
||||||
|
public void RegisterTile()
|
||||||
|
{
|
||||||
|
this.Tiles.Add(1, new Tile("stone", "stone", 5));
|
||||||
|
this.Tiles.Add(2, new OreTile("ore1", new[] { "stone", "ore1" }, 5));
|
||||||
|
this.Tiles.Add(3, new OreTile("ore2", new[] { "stone", "ore2" }, 7));
|
||||||
|
this.Tiles.Add(4, new OreTile("ore3", new[] { "stone", "ore3" }, 8));
|
||||||
|
this.Tiles.Add(5, new OreTile("ore4", new[] { "stone", "ore4" }, 10));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Tile GetTile(int id)
|
||||||
|
{
|
||||||
|
return this.Tiles[id];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
using Mine2d.core.data;
|
using Mine2d.game.core.data;
|
||||||
using Mine2d.core.tiles;
|
using Mine2d.game.core.tiles;
|
||||||
|
|
||||||
namespace Mine2d.core.world;
|
namespace Mine2d.game.core.world;
|
||||||
|
|
||||||
public class ChunkGenerator
|
public class ChunkGenerator
|
||||||
{
|
{
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
using Mine2d.engine.system;
|
using Mine2d.engine.system;
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
|
||||||
namespace Mine2d.frontend.events;
|
namespace Mine2d.game.frontend.events;
|
||||||
|
|
||||||
public class Exit
|
public class Exit
|
||||||
{
|
{
|
||||||
[EventListener(EventType.Quit)]
|
[EventListener(EventType.Quit)]
|
||||||
public static void onExit()
|
public static void OnExit()
|
||||||
{
|
{
|
||||||
Environment.Exit(0);
|
Environment.Exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
[EventListener(EventType.KeyDown)]
|
[EventListener(EventType.KeyDown)]
|
||||||
public static void onKeyDown(SDL_Event e)
|
public static void OnKeyDown(SDL_Event e)
|
||||||
{
|
{
|
||||||
if (e.key.keysym.scancode == SDL_Scancode.SDL_SCANCODE_ESCAPE)
|
if (e.key.keysym.scancode == SDL_Scancode.SDL_SCANCODE_ESCAPE)
|
||||||
{
|
{
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
using Mine2d.engine.system;
|
using Mine2d.engine.system;
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
|
||||||
namespace Mine2d.frontend.events;
|
namespace Mine2d.game.frontend.events;
|
||||||
|
|
||||||
public class Fullscreen
|
public class Fullscreen
|
||||||
{
|
{
|
||||||
[EventListener(EventType.KeyDown)]
|
[EventListener(EventType.KeyDown)]
|
||||||
public static void onToggleFullscreen(SDL_Event e)
|
public static void OnToggleFullscreen(SDL_Event e)
|
||||||
{
|
{
|
||||||
if (e.key.keysym.scancode != SDL_Scancode.SDL_SCANCODE_F11)
|
if (e.key.keysym.scancode != SDL_Scancode.SDL_SCANCODE_F11)
|
||||||
{
|
{
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.engine.system;
|
using Mine2d.engine.system;
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
using Mine2d.game.backend.data;
|
||||||
|
|
||||||
namespace Mine2d.frontend.events;
|
namespace Mine2d.game.frontend.events;
|
||||||
|
|
||||||
public class PlayerBreakInput
|
public class PlayerBreakInput
|
||||||
{
|
{
|
||||||
[EventListener(EventType.MouseMotion)]
|
[EventListener(EventType.MouseMotion)]
|
||||||
public static void onBreak(SDL_Event e)
|
public static void OnBreak(SDL_Event e)
|
||||||
{
|
{
|
||||||
var ctx = Context.Get();
|
var ctx = Context.Get();
|
||||||
var mousePos = new Vector2(e.motion.x, e.motion.y);
|
var mousePos = new Vector2(e.motion.x, e.motion.y);
|
||||||
|
|
@ -23,7 +23,7 @@ public class PlayerBreakInput
|
||||||
}
|
}
|
||||||
|
|
||||||
[EventListener(EventType.MouseButtonDown)]
|
[EventListener(EventType.MouseButtonDown)]
|
||||||
public static void onMouseDown(SDL_Event e)
|
public static void OnMouseDown(SDL_Event e)
|
||||||
{
|
{
|
||||||
if (e.button.button != SDL_BUTTON_LEFT)
|
if (e.button.button != SDL_BUTTON_LEFT)
|
||||||
{
|
{
|
||||||
|
|
@ -36,7 +36,7 @@ public class PlayerBreakInput
|
||||||
}
|
}
|
||||||
|
|
||||||
[EventListener(EventType.MouseButtonUp)]
|
[EventListener(EventType.MouseButtonUp)]
|
||||||
public static void onMouseUp(SDL_Event e)
|
public static void OnMouseUp(SDL_Event e)
|
||||||
{
|
{
|
||||||
if (e.button.button != SDL_BUTTON_LEFT)
|
if (e.button.button != SDL_BUTTON_LEFT)
|
||||||
{
|
{
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
using Mine2d.backend.data;
|
|
||||||
using Mine2d.engine.system;
|
using Mine2d.engine.system;
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
using Mine2d.game.backend.data;
|
||||||
|
|
||||||
namespace Mine2d.frontend.events;
|
namespace Mine2d.game.frontend.events;
|
||||||
|
|
||||||
public class PlayerInput
|
public class PlayerInput
|
||||||
{
|
{
|
||||||
[EventListener(EventType.KeyDown)]
|
[EventListener(EventType.KeyDown)]
|
||||||
public static void move(SDL_Event e)
|
public static void Move(SDL_Event e)
|
||||||
{
|
{
|
||||||
var ctx = Context.Get();
|
var ctx = Context.Get();
|
||||||
if (!isMovementKey(e.key.keysym.scancode) || e.key.repeat == 1)
|
if (!IsMovementKey(e.key.keysym.scancode) || e.key.repeat == 1)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -32,14 +32,14 @@ public class PlayerInput
|
||||||
movementInput.Y += 1;
|
movementInput.Y += 1;
|
||||||
}
|
}
|
||||||
ctx.FrontendGameState.MovementInput = movementInput;
|
ctx.FrontendGameState.MovementInput = movementInput;
|
||||||
sendMovement();
|
SendMovement();
|
||||||
}
|
}
|
||||||
|
|
||||||
[EventListener(EventType.KeyUp)]
|
[EventListener(EventType.KeyUp)]
|
||||||
public static void stopMove(SDL_Event e)
|
public static void StopMove(SDL_Event e)
|
||||||
{
|
{
|
||||||
var ctx = Context.Get();
|
var ctx = Context.Get();
|
||||||
if (!isMovementKey(e.key.keysym.scancode) || e.key.repeat == 1)
|
if (!IsMovementKey(e.key.keysym.scancode) || e.key.repeat == 1)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -61,10 +61,10 @@ public class PlayerInput
|
||||||
movementInput.Y -= 1;
|
movementInput.Y -= 1;
|
||||||
}
|
}
|
||||||
ctx.FrontendGameState.MovementInput = movementInput;
|
ctx.FrontendGameState.MovementInput = movementInput;
|
||||||
sendMovement();
|
SendMovement();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool isMovementKey(SDL_Scancode scancode)
|
private static bool IsMovementKey(SDL_Scancode scancode)
|
||||||
{
|
{
|
||||||
return scancode is SDL_Scancode.SDL_SCANCODE_A
|
return scancode is SDL_Scancode.SDL_SCANCODE_A
|
||||||
or SDL_Scancode.SDL_SCANCODE_D
|
or SDL_Scancode.SDL_SCANCODE_D
|
||||||
|
|
@ -72,7 +72,7 @@ public class PlayerInput
|
||||||
or SDL_Scancode.SDL_SCANCODE_S;
|
or SDL_Scancode.SDL_SCANCODE_S;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void sendMovement()
|
private static void SendMovement()
|
||||||
{
|
{
|
||||||
var ctx = Context.Get();
|
var ctx = Context.Get();
|
||||||
var movement = ctx.FrontendGameState.MovementInput;
|
var movement = ctx.FrontendGameState.MovementInput;
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
using Mine2d.engine.system;
|
using Mine2d.engine.system;
|
||||||
using Mine2d.engine.system.annotations;
|
using Mine2d.engine.system.annotations;
|
||||||
|
|
||||||
namespace Mine2d.frontend.events;
|
namespace Mine2d.game.frontend.events;
|
||||||
|
|
||||||
public class Resize
|
public class Resize
|
||||||
{
|
{
|
||||||
[EventListener(EventType.WindowResize)]
|
[EventListener(EventType.WindowResize)]
|
||||||
public static void onResize(SDL_Event e)
|
public static void OnResize(SDL_Event e)
|
||||||
{
|
{
|
||||||
var ctx = Context.Get();
|
var ctx = Context.Get();
|
||||||
ctx.FrontendGameState.WindowWidth = e.window.data1;
|
ctx.FrontendGameState.WindowWidth = e.window.data1;
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
namespace Mine2d.frontend.renderer;
|
using Mine2d.engine;
|
||||||
|
|
||||||
|
namespace Mine2d.game.frontend.renderer;
|
||||||
|
|
||||||
public class BackgroundRenderer : IRenderer
|
public class BackgroundRenderer : IRenderer
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
namespace Mine2d.frontend.renderer;
|
using Mine2d.engine;
|
||||||
|
|
||||||
|
namespace Mine2d.game.frontend.renderer;
|
||||||
|
|
||||||
public class GameRenderer : IRenderer
|
public class GameRenderer : IRenderer
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
namespace Mine2d.frontend.renderer;
|
using Mine2d.engine;
|
||||||
|
|
||||||
|
namespace Mine2d.game.frontend.renderer;
|
||||||
|
|
||||||
public class PlayerRenderer : IRenderer
|
public class PlayerRenderer : IRenderer
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using Mine2d.core;
|
using Mine2d.engine;
|
||||||
|
using Mine2d.game.core;
|
||||||
|
|
||||||
namespace Mine2d.frontend.renderer;
|
namespace Mine2d.game.frontend.renderer;
|
||||||
|
|
||||||
public class WorldCursorRenderer : IRenderer
|
public class WorldCursorRenderer : IRenderer
|
||||||
{
|
{
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
using Mine2d.core;
|
|
||||||
using Mine2d.engine;
|
using Mine2d.engine;
|
||||||
|
using Mine2d.game.core;
|
||||||
|
|
||||||
namespace Mine2d.frontend.renderer;
|
namespace Mine2d.game.frontend.renderer;
|
||||||
|
|
||||||
public class WorldRenderer : IRenderer
|
public class WorldRenderer : IRenderer
|
||||||
{
|
{
|
||||||
|
|
@ -36,7 +36,7 @@ public class WorldRenderer : IRenderer
|
||||||
this.overlayHeight = wh;
|
this.overlayHeight = wh;
|
||||||
}
|
}
|
||||||
|
|
||||||
clearTexture(this.overlay);
|
ClearTexture(this.overlay);
|
||||||
var renderer = Context.Get().Renderer;
|
var renderer = Context.Get().Renderer;
|
||||||
var scale = ctx.FrontendGameState.Settings.GameScale;
|
var scale = ctx.FrontendGameState.Settings.GameScale;
|
||||||
var camera = Context.Get().FrontendGameState.Camera;
|
var camera = Context.Get().FrontendGameState.Camera;
|
||||||
|
|
@ -80,7 +80,7 @@ public class WorldRenderer : IRenderer
|
||||||
Renderer.ProcessStatus(SDL_SetRenderTarget(ctx.Renderer.GetRaw(), IntPtr.Zero));
|
Renderer.ProcessStatus(SDL_SetRenderTarget(ctx.Renderer.GetRaw(), IntPtr.Zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void clearTexture(IntPtr texture)
|
public static void ClearTexture(IntPtr texture)
|
||||||
{
|
{
|
||||||
var ctx = Context.Get();
|
var ctx = Context.Get();
|
||||||
var renderer = ctx.Renderer;
|
var renderer = ctx.Renderer;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
using Mine2d.core;
|
using Mine2d.game.core;
|
||||||
using Mine2d.core.data;
|
using Mine2d.game.core.data;
|
||||||
|
|
||||||
namespace Mine2d.state;
|
namespace Mine2d.game.state;
|
||||||
|
|
||||||
public class FrontendGameState
|
public class FrontendGameState
|
||||||
{
|
{
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
namespace Mine2d.state;
|
namespace Mine2d.game.state;
|
||||||
|
|
||||||
public class Player
|
public class Player
|
||||||
{
|
{
|
||||||
Loading…
Reference in New Issue