diff --git a/.editorconfig b/.editorconfig new file mode 100755 index 0000000..6600922 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,279 @@ + +[*] +charset = utf-8-bom +end_of_line = crlf +trim_trailing_whitespace = false +insert_final_newline = false +indent_style = space +indent_size = 4 + +# Microsoft .NET properties +csharp_new_line_before_catch = false +csharp_new_line_before_else = false +csharp_new_line_before_finally = false +csharp_new_line_before_members_in_object_initializers = false +csharp_new_line_before_open_brace = none +csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion +csharp_space_after_cast = true +csharp_style_prefer_utf8_string_literals = true:suggestion +csharp_style_var_elsewhere = false:suggestion +csharp_style_var_for_built_in_types = false:suggestion +csharp_style_var_when_type_is_apparent = false:suggestion +dotnet_naming_rule.constants_rule.import_to_resharper = True +dotnet_naming_rule.constants_rule.resharper_description = Constant fields (not private) +dotnet_naming_rule.constants_rule.resharper_guid = 669e5282-fb4b-4e90-91e7-07d269d04b60 +dotnet_naming_rule.constants_rule.severity = none +dotnet_naming_rule.constants_rule.style = all_upper_style +dotnet_naming_rule.constants_rule.symbols = constants_symbols +dotnet_naming_rule.interfaces_rule.import_to_resharper = True +dotnet_naming_rule.interfaces_rule.resharper_description = Interfaces +dotnet_naming_rule.interfaces_rule.resharper_guid = a7a3339e-4e89-4319-9735-a9dc4cb74cc7 +dotnet_naming_rule.interfaces_rule.severity = none +dotnet_naming_rule.interfaces_rule.style = i_upper_camel_case_style +dotnet_naming_rule.interfaces_rule.symbols = interfaces_symbols +dotnet_naming_rule.private_constants_rule.import_to_resharper = True +dotnet_naming_rule.private_constants_rule.resharper_description = Constant fields (private) +dotnet_naming_rule.private_constants_rule.resharper_guid = 236f7aa5-7b06-43ca-bf2a-9b31bfcff09a +dotnet_naming_rule.private_constants_rule.resharper_style = k_ + AaBb, AA_BB +dotnet_naming_rule.private_constants_rule.severity = none +dotnet_naming_rule.private_constants_rule.style = k_upper_camel_case_style +dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols +dotnet_naming_rule.private_instance_fields_rule.import_to_resharper = True +dotnet_naming_rule.private_instance_fields_rule.resharper_description = Instance fields (private) +dotnet_naming_rule.private_instance_fields_rule.resharper_guid = 4a98fdf6-7d98-4f5a-afeb-ea44ad98c70c +dotnet_naming_rule.private_instance_fields_rule.resharper_style = _ + aaBb, aaBb +dotnet_naming_rule.private_instance_fields_rule.severity = none +dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style_1 +dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_fields_symbols +dotnet_naming_rule.private_static_fields_rule.import_to_resharper = True +dotnet_naming_rule.private_static_fields_rule.resharper_description = Static fields (private) +dotnet_naming_rule.private_static_fields_rule.resharper_guid = f9fce829-e6f4-4cb2-80f1-5497c44f51df +dotnet_naming_rule.private_static_fields_rule.severity = none +dotnet_naming_rule.private_static_fields_rule.style = s_lower_camel_case_style +dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols +dotnet_naming_rule.private_static_readonly_rule.import_to_resharper = True +dotnet_naming_rule.private_static_readonly_rule.resharper_description = Static readonly fields (private) +dotnet_naming_rule.private_static_readonly_rule.resharper_guid = 15b5b1f1-457c-4ca6-b278-5615aedc07d3 +dotnet_naming_rule.private_static_readonly_rule.severity = none +dotnet_naming_rule.private_static_readonly_rule.style = all_upper_style +dotnet_naming_rule.private_static_readonly_rule.symbols = private_static_readonly_symbols +dotnet_naming_rule.public_fields_rule.import_to_resharper = True +dotnet_naming_rule.public_fields_rule.resharper_description = Instance fields (not private) +dotnet_naming_rule.public_fields_rule.resharper_guid = 53eecf85-d821-40e8-ac97-fdb734542b84 +dotnet_naming_rule.public_fields_rule.severity = none +dotnet_naming_rule.public_fields_rule.style = lower_camel_case_style +dotnet_naming_rule.public_fields_rule.symbols = public_fields_symbols +dotnet_naming_rule.public_static_fields_rule.import_to_resharper = True +dotnet_naming_rule.public_static_fields_rule.resharper_description = Static fields (not private) +dotnet_naming_rule.public_static_fields_rule.resharper_guid = 70345118-4b40-4ece-937c-bbeb7a0b2e70 +dotnet_naming_rule.public_static_fields_rule.severity = none +dotnet_naming_rule.public_static_fields_rule.style = s_upper_camel_case_underscore_tolerant_style +dotnet_naming_rule.public_static_fields_rule.symbols = public_static_fields_symbols +dotnet_naming_rule.static_readonly_rule.import_to_resharper = True +dotnet_naming_rule.static_readonly_rule.resharper_description = Static readonly fields (not private) +dotnet_naming_rule.static_readonly_rule.resharper_guid = c873eafb-d57f-481d-8c93-77f6863c2f88 +dotnet_naming_rule.static_readonly_rule.severity = none +dotnet_naming_rule.static_readonly_rule.style = s_upper_camel_case_style +dotnet_naming_rule.static_readonly_rule.symbols = static_readonly_symbols +dotnet_naming_rule.type_parameters_rule.import_to_resharper = True +dotnet_naming_rule.type_parameters_rule.resharper_description = Type parameters +dotnet_naming_rule.type_parameters_rule.resharper_guid = 2c62818f-621b-4425-adc9-78611099bfcb +dotnet_naming_rule.type_parameters_rule.severity = none +dotnet_naming_rule.type_parameters_rule.style = t_upper_camel_case_style +dotnet_naming_rule.type_parameters_rule.symbols = type_parameters_symbols +dotnet_naming_rule.unity_serialized_field_private_rule.import_to_resharper = True +dotnet_naming_rule.unity_serialized_field_private_rule.resharper_description = Unity serialized field private +dotnet_naming_rule.unity_serialized_field_private_rule.resharper_guid = 4f5d02b8-10b8-49c3-a739-a3af9f6e120f +dotnet_naming_rule.unity_serialized_field_private_rule.severity = none +dotnet_naming_rule.unity_serialized_field_private_rule.style = m_upper_camel_case_style +dotnet_naming_rule.unity_serialized_field_private_rule.symbols = unity_serialized_field_private_symbols +dotnet_naming_rule.unity_serialized_field_rule.import_to_resharper = True +dotnet_naming_rule.unity_serialized_field_rule.resharper_description = Unity serialized field +dotnet_naming_rule.unity_serialized_field_rule.resharper_guid = 5f0fdb63-c892-4d2c-9324-15c80b22a7ef +dotnet_naming_rule.unity_serialized_field_rule.severity = none +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_style.all_upper_style.capitalization = all_upper +dotnet_naming_style.all_upper_style.word_separator = _ +dotnet_naming_style.i_upper_camel_case_style.capitalization = pascal_case +dotnet_naming_style.i_upper_camel_case_style.required_prefix = I +dotnet_naming_style.k_upper_camel_case_style.capitalization = pascal_case +dotnet_naming_style.k_upper_camel_case_style.required_prefix = k_ +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.m_upper_camel_case_style.capitalization = pascal_case +dotnet_naming_style.m_upper_camel_case_style.required_prefix = m_ +dotnet_naming_style.s_lower_camel_case_style.capitalization = camel_case +dotnet_naming_style.s_lower_camel_case_style.required_prefix = s_ +dotnet_naming_style.s_upper_camel_case_style.capitalization = pascal_case +dotnet_naming_style.s_upper_camel_case_style.required_prefix = s_ +dotnet_naming_style.s_upper_camel_case_underscore_tolerant_style.capitalization = pascal_case +dotnet_naming_style.s_upper_camel_case_underscore_tolerant_style.required_prefix = s_ +dotnet_naming_style.s_upper_camel_case_underscore_tolerant_style.word_separator = _ +dotnet_naming_style.t_upper_camel_case_style.capitalization = pascal_case +dotnet_naming_style.t_upper_camel_case_style.required_prefix = T +dotnet_naming_symbols.constants_symbols.applicable_accessibilities = public,internal,protected,protected_internal,private_protected +dotnet_naming_symbols.constants_symbols.applicable_kinds = field +dotnet_naming_symbols.constants_symbols.required_modifiers = const +dotnet_naming_symbols.constants_symbols.resharper_applicable_kinds = constant_field +dotnet_naming_symbols.constants_symbols.resharper_required_modifiers = any +dotnet_naming_symbols.interfaces_symbols.applicable_accessibilities = * +dotnet_naming_symbols.interfaces_symbols.applicable_kinds = interface +dotnet_naming_symbols.interfaces_symbols.resharper_applicable_kinds = interface +dotnet_naming_symbols.interfaces_symbols.resharper_required_modifiers = any +dotnet_naming_symbols.private_constants_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_constants_symbols.applicable_kinds = field +dotnet_naming_symbols.private_constants_symbols.required_modifiers = const +dotnet_naming_symbols.private_constants_symbols.resharper_applicable_kinds = constant_field +dotnet_naming_symbols.private_constants_symbols.resharper_required_modifiers = any +dotnet_naming_symbols.private_instance_fields_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_instance_fields_symbols.applicable_kinds = field +dotnet_naming_symbols.private_instance_fields_symbols.resharper_applicable_kinds = field,readonly_field +dotnet_naming_symbols.private_instance_fields_symbols.resharper_required_modifiers = instance +dotnet_naming_symbols.private_static_fields_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_static_fields_symbols.applicable_kinds = field +dotnet_naming_symbols.private_static_fields_symbols.required_modifiers = static +dotnet_naming_symbols.private_static_fields_symbols.resharper_applicable_kinds = field +dotnet_naming_symbols.private_static_fields_symbols.resharper_required_modifiers = static +dotnet_naming_symbols.private_static_readonly_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_static_readonly_symbols.applicable_kinds = field +dotnet_naming_symbols.private_static_readonly_symbols.required_modifiers = readonly,static +dotnet_naming_symbols.private_static_readonly_symbols.resharper_applicable_kinds = readonly_field +dotnet_naming_symbols.private_static_readonly_symbols.resharper_required_modifiers = static +dotnet_naming_symbols.public_fields_symbols.applicable_accessibilities = public,internal,protected,protected_internal,private_protected +dotnet_naming_symbols.public_fields_symbols.applicable_kinds = field +dotnet_naming_symbols.public_fields_symbols.resharper_applicable_kinds = field,readonly_field +dotnet_naming_symbols.public_fields_symbols.resharper_required_modifiers = instance +dotnet_naming_symbols.public_static_fields_symbols.applicable_accessibilities = public,internal,protected,protected_internal,private_protected +dotnet_naming_symbols.public_static_fields_symbols.applicable_kinds = field +dotnet_naming_symbols.public_static_fields_symbols.required_modifiers = static +dotnet_naming_symbols.public_static_fields_symbols.resharper_applicable_kinds = field +dotnet_naming_symbols.public_static_fields_symbols.resharper_required_modifiers = static +dotnet_naming_symbols.static_readonly_symbols.applicable_accessibilities = public,internal,protected,protected_internal,private_protected +dotnet_naming_symbols.static_readonly_symbols.applicable_kinds = field +dotnet_naming_symbols.static_readonly_symbols.required_modifiers = readonly,static +dotnet_naming_symbols.static_readonly_symbols.resharper_applicable_kinds = readonly_field +dotnet_naming_symbols.static_readonly_symbols.resharper_required_modifiers = static +dotnet_naming_symbols.type_parameters_symbols.applicable_accessibilities = * +dotnet_naming_symbols.type_parameters_symbols.applicable_kinds = type_parameter +dotnet_naming_symbols.type_parameters_symbols.resharper_applicable_kinds = type_parameter +dotnet_naming_symbols.type_parameters_symbols.resharper_required_modifiers = any +dotnet_naming_symbols.unity_serialized_field_private_symbols.applicable_accessibilities = private,protected,protected_internal,private_protected +dotnet_naming_symbols.unity_serialized_field_private_symbols.applicable_kinds = +dotnet_naming_symbols.unity_serialized_field_private_symbols.resharper_applicable_kinds = unity_serialised_field +dotnet_naming_symbols.unity_serialized_field_private_symbols.resharper_required_modifiers = any +dotnet_naming_symbols.unity_serialized_field_symbols.applicable_accessibilities = public,internal +dotnet_naming_symbols.unity_serialized_field_symbols.applicable_kinds = +dotnet_naming_symbols.unity_serialized_field_symbols.resharper_applicable_kinds = unity_serialised_field +dotnet_naming_symbols.unity_serialized_field_symbols.resharper_required_modifiers = instance +dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity: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_member_access = true:suggestion +dotnet_style_qualification_for_event = false:suggestion +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 = omit_if_default:suggestion + +# ReSharper properties +resharper_align_first_arg_by_paren = true +resharper_align_linq_query = true +resharper_align_multiline_argument = true +resharper_align_multiline_binary_expressions_chain = true +resharper_align_multiline_calls_chain = true +resharper_align_multiline_expression = true +resharper_align_multiline_expression_braces = true +resharper_align_multiline_extends_list = true +resharper_align_multiline_for_stmt = true +resharper_align_multiline_parameter = true +resharper_align_multiline_type_parameter_constraints = true +resharper_align_multiline_type_parameter_list = true +resharper_align_multiple_declaration = true +resharper_align_tuple_components = true +resharper_autodetect_indent_settings = true +resharper_continuous_line_indent = double +resharper_cpp_brace_style = next_line +resharper_cpp_int_align_comments = true +resharper_cpp_outdent_commas = true +resharper_cpp_wrap_lines = false +resharper_csharp_allow_far_alignment = true +resharper_csharp_wrap_lines = false +resharper_csharp_wrap_parameters_style = chop_if_long +resharper_formatter_off_tag = @formatter:off +resharper_formatter_on_tag = @formatter:on +resharper_formatter_tags_enabled = true +resharper_indent_nested_fixed_stmt = true +resharper_indent_nested_foreach_stmt = true +resharper_indent_nested_for_stmt = true +resharper_indent_nested_lock_stmt = true +resharper_indent_nested_usings_stmt = true +resharper_indent_nested_while_stmt = true +resharper_indent_preprocessor_directives = normal +resharper_indent_preprocessor_region = no_indent +resharper_int_align_enum_initializers = true +resharper_max_attribute_length_for_same_line = 70 +resharper_new_line_before_while = false +resharper_outdent_statement_labels = true +resharper_place_accessorholder_attribute_on_same_line = false +resharper_place_field_attribute_on_same_line = if_owner_is_single_line +resharper_show_autodetect_configure_formatting_tip = false +resharper_space_within_single_line_array_initializer_braces = false +resharper_use_indent_from_vs = false +resharper_wrap_enum_declaration = chop_if_long + +# ReSharper inspection severities +resharper_arrange_redundant_parentheses_highlighting = hint +resharper_arrange_this_qualifier_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_cpp_parameter_names_mismatch_highlighting = none +resharper_cpp_use_auto_highlighting = none +resharper_inconsistent_naming_highlighting = none +resharper_mvc_action_not_resolved_highlighting = warning +resharper_mvc_area_not_resolved_highlighting = warning +resharper_mvc_controller_not_resolved_highlighting = warning +resharper_mvc_masterpage_not_resolved_highlighting = warning +resharper_mvc_partial_view_not_resolved_highlighting = warning +resharper_mvc_template_not_resolved_highlighting = warning +resharper_mvc_view_component_not_resolved_highlighting = warning +resharper_mvc_view_component_view_not_resolved_highlighting = warning +resharper_mvc_view_not_resolved_highlighting = warning +resharper_razor_assembly_not_resolved_highlighting = warning +resharper_redundant_base_qualifier_highlighting = warning +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_use_index_from_end_expression_highlighting = none +resharper_web_config_module_not_resolved_highlighting = warning +resharper_web_config_type_not_resolved_highlighting = warning +resharper_web_config_wrong_module_highlighting = warning + +[{*.yaml,*.yml}] +indent_style = space +indent_size = 2 + +[{*.har,*.json,*.jsonc}] +indent_style = space +indent_size = 2 + +[*.asmdef] +indent_style = space +indent_size = 2 + +[*.asmref] +indent_style = space +indent_size = 2 + +[*.inputactions] +indent_style = space +indent_size = 2 + +[*.{appxmanifest,asax,ascx,aspx,axaml,blockshader,build,c,c++,c++m,cc,ccm,cginc,compute,cp,cpp,cppm,cs,cshtml,cu,cuh,cxx,cxxm,dtd,fx,fxh,h,h++,hh,hlsl,hlsli,hlslinc,hp,hpp,hxx,icc,inc,inl,ino,ipp,ixx,master,mpp,mq4,mq5,mqh,mxx,nuspec,paml,razor,resw,resx,shader,shaderFoundry,skin,tcc,tpp,urtshader,usf,ush,uxml,vb,xaml,xamlx,xoml,xsd}] +indent_style = space +indent_size = 4 +tab_width = 4 diff --git a/Assets/RebootKit b/Assets/RebootKit index f0536f4..6bda371 160000 --- a/Assets/RebootKit +++ b/Assets/RebootKit @@ -1 +1 @@ -Subproject commit f0536f412913e23c22204d3ff94edb0192e755b0 +Subproject commit 6bda371baac905a9b9517cd021baf43111e8abf5 diff --git a/Assets/Resources/TheGame/RealityRebootKit.asset b/Assets/Resources/TheGame/RealityRebootKit.asset old mode 100644 new mode 100755 diff --git a/Assets/Scenes/scn_main.unity b/Assets/Scenes/scn_main.unity old mode 100644 new mode 100755 index bb2c31f..960bf3f --- a/Assets/Scenes/scn_main.unity +++ b/Assets/Scenes/scn_main.unity @@ -275,7 +275,7 @@ MonoBehaviour: IgnoreTimeScale: 0 WorldUpOverride: {fileID: 0} ChannelMask: -1 - UpdateMethod: 2 + UpdateMethod: 1 BlendUpdateMethod: 1 LensModeOverride: Enabled: 0 diff --git a/Assets/Scenes/scn_main.unity.meta b/Assets/Scenes/scn_main.unity.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code.meta b/Assets/jelycho/Code.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/ActiveRagdollBone.cs b/Assets/jelycho/Code/ActiveRagdollBone.cs old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/ActiveRagdollBone.cs.meta b/Assets/jelycho/Code/ActiveRagdollBone.cs.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/ActiveRagdollDummy.cs b/Assets/jelycho/Code/ActiveRagdollDummy.cs old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/ActiveRagdollDummy.cs.meta b/Assets/jelycho/Code/ActiveRagdollDummy.cs.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/GameMode.meta b/Assets/jelycho/Code/GameMode.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/GameMode/Standard.meta b/Assets/jelycho/Code/GameMode/Standard.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/GameMode/Standard/StandardGameMode.cs b/Assets/jelycho/Code/GameMode/Standard/StandardGameMode.cs old mode 100644 new mode 100755 index 6c91bdc..88ae651 --- a/Assets/jelycho/Code/GameMode/Standard/StandardGameMode.cs +++ b/Assets/jelycho/Code/GameMode/Standard/StandardGameMode.cs @@ -1,59 +1,59 @@ -using System; -using System.Threading; -using Cysharp.Threading.Tasks; -using RealityReboot.jelycho.Player; -using RebootKit.Engine.Foundation; -using RebootKit.Engine.Main; -using RebootKit.Engine.Services.GameMode; -using RebootKit.Engine.Services.Simulation; -using UnityEngine.AddressableAssets; - -namespace RealityReboot.jelycho.GameMode.Standard { - public class StandardGameMode : IGameMode { - [Serializable] - public class Config { - public PlayerControllerAsset playerControllerAsset; - public AssetReferenceGameObject playerPrefab; - - public WorldConfigAsset worldConfig; - } - - Config m_Config; - - [Inject] DIContext m_DIContext; - - CancellationTokenSource m_DisposeCancellationTokenSource = new(); - - ControllersManager m_ControllersManager; - PlayerController m_PlayerController; - - public StandardGameMode(Config config) { - m_Config = config; - - m_ControllersManager = new ControllersManager(m_DisposeCancellationTokenSource.Token); - } - - public async UniTask OnInit(CancellationToken cancellationToken) { - await RR.World.LoadAsync(m_Config.worldConfig.Config, cancellationToken); - - m_ControllersManager.Add(m_Config.playerControllerAsset, m_DIContext); - m_PlayerController = m_ControllersManager.Get(); - } - - public void OnStart() { - m_ControllersManager.Start(m_DisposeCancellationTokenSource.Token).Forget(); - } - - public void OnStop() { - m_ControllersManager.Stop(); - } - - public void Dispose() { - m_DisposeCancellationTokenSource.Cancel(); - } - - public void OnTick() { - m_ControllersManager.Tick(); - } - } +using System; +using System.Threading; +using Cysharp.Threading.Tasks; +using RealityReboot.jelycho.Player; +using RebootKit.Engine.Foundation; +using RebootKit.Engine.Main; +using RebootKit.Engine.Services.GameMode; +using RebootKit.Engine.Services.Simulation; +using UnityEngine.AddressableAssets; + +namespace RealityReboot.jelycho.GameMode.Standard { + public class StandardGameMode : IGameMode { + [Serializable] + public class Config { + public PlayerControllerAsset playerControllerAsset; + public AssetReferenceGameObject playerPrefab; + + public WorldConfigAsset worldConfig; + } + + Config m_Config; + + [Inject] DIContext m_DIContext; + + CancellationTokenSource m_DisposeCancellationTokenSource = new(); + + ControllersManager m_ControllersManager; + PlayerController m_PlayerController; + + public StandardGameMode(Config config) { + m_Config = config; + + m_ControllersManager = new ControllersManager(m_DisposeCancellationTokenSource.Token); + } + + public async UniTask OnInit(CancellationToken cancellationToken) { + await RR.World.LoadAsync(m_Config.worldConfig.Config, cancellationToken); + + m_ControllersManager.Add(m_Config.playerControllerAsset); + m_PlayerController = m_ControllersManager.Get(); + } + + public void OnStart() { + m_ControllersManager.Start(m_DisposeCancellationTokenSource.Token).Forget(); + } + + public void OnStop() { + m_ControllersManager.Stop(); + } + + public void Dispose() { + m_DisposeCancellationTokenSource.Cancel(); + } + + public void OnTick() { + m_ControllersManager.Tick(); + } + } } \ No newline at end of file diff --git a/Assets/jelycho/Code/GameMode/Standard/StandardGameMode.cs.meta b/Assets/jelycho/Code/GameMode/Standard/StandardGameMode.cs.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/GameMode/Standard/StandardGameModeAsset.cs b/Assets/jelycho/Code/GameMode/Standard/StandardGameModeAsset.cs old mode 100644 new mode 100755 index dcd4105..2d98dd2 --- a/Assets/jelycho/Code/GameMode/Standard/StandardGameModeAsset.cs +++ b/Assets/jelycho/Code/GameMode/Standard/StandardGameModeAsset.cs @@ -1,15 +1,13 @@ -using RebootKit.Engine.Foundation; -using RebootKit.Engine.Main; -using RebootKit.Engine.Services.GameMode; -using UnityEngine; - -namespace RealityReboot.jelycho.GameMode.Standard { - [CreateAssetMenu(menuName = GameConsts.k_AddComponentMenu + "Game Modes/Standard")] - public class StandardGameModeAsset : GameModeAsset { - [SerializeField] StandardGameMode.Config m_Config; - - public override IGameMode Create(DIContext context) { - return RR.DIContext.Create(m_Config); - } - } +using RebootKit.Engine.Services.GameMode; +using UnityEngine; + +namespace RealityReboot.jelycho.GameMode.Standard { + [CreateAssetMenu(menuName = GameConsts.k_AddComponentMenu + "Game Modes/Standard")] + public class StandardGameModeAsset : GameModeAsset { + [SerializeField] StandardGameMode.Config m_Config; + + public override IGameMode Create() { + return new StandardGameMode(m_Config); + } + } } \ No newline at end of file diff --git a/Assets/jelycho/Code/GameMode/Standard/StandardGameModeAsset.cs.meta b/Assets/jelycho/Code/GameMode/Standard/StandardGameModeAsset.cs.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/GutRenderer.cs b/Assets/jelycho/Code/GutRenderer.cs old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/GutRenderer.cs.meta b/Assets/jelycho/Code/GutRenderer.cs.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/Main.meta b/Assets/jelycho/Code/Main.meta new file mode 100755 index 0000000..e3d5928 --- /dev/null +++ b/Assets/jelycho/Code/Main.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 58457f0e834e4728b2d11ef9f263f8a6 +timeCreated: 1747484140 \ No newline at end of file diff --git a/Assets/jelycho/Code/GameConsts.cs b/Assets/jelycho/Code/Main/GameConsts.cs old mode 100644 new mode 100755 similarity index 100% rename from Assets/jelycho/Code/GameConsts.cs rename to Assets/jelycho/Code/Main/GameConsts.cs diff --git a/Assets/jelycho/Code/GameConsts.cs.meta b/Assets/jelycho/Code/Main/GameConsts.cs.meta old mode 100644 new mode 100755 similarity index 100% rename from Assets/jelycho/Code/GameConsts.cs.meta rename to Assets/jelycho/Code/Main/GameConsts.cs.meta diff --git a/Assets/jelycho/Code/JelychoGame.cs b/Assets/jelycho/Code/Main/JelychoGame.cs old mode 100644 new mode 100755 similarity index 97% rename from Assets/jelycho/Code/JelychoGame.cs rename to Assets/jelycho/Code/Main/JelychoGame.cs index 27d79da..579620e --- a/Assets/jelycho/Code/JelychoGame.cs +++ b/Assets/jelycho/Code/Main/JelychoGame.cs @@ -1,108 +1,108 @@ -using System; -using System.Linq; -using System.Threading; -using Cysharp.Threading.Tasks; -using R3; -using RebootKit.Engine.Extensions; -using RebootKit.Engine.Main; -using RebootKit.Engine.Services.Console; -using RebootKit.Engine.Services.Crosshair; -using RebootKit.Engine.Services.GameMode; -using RebootKit.Engine.Services.Simulation; - -namespace RealityReboot.jelycho { - public static class JelychoConsoleCommands { - [RCCMD("start", "Starts game mode with given name. Usage: start ")] - public static void StartGameMode(string[] args) { - if (args.Length != 3) { - RR.Console.WriteToOutput($"Usage: {args[0]} "); - return; - } - - string worldName = args[2]; - WorldConfigAsset worldConfig = RR.WorldConfigsAssets.FirstOrDefault(t => t.Config.name.Equals(worldName)); - if (worldConfig is null) { - RR.Console.WriteToOutput($"World '{worldName}' not found"); - return; - } - - foreach (GameModeAsset gameModeAsset in RR.GameModesAssets) { - if (gameModeAsset.name == args[1]) { - RR.Console.WriteToOutput($"Starting game mode '{gameModeAsset.name}'"); - RR.StartGameMode(gameModeAsset, worldConfig.Config); - return; - } - } - - RR.Console.WriteToOutput($"Game mode '{args[1]}' not found"); - } - - [RCCMD("gamemodes", "Lists all game modes")] - public static void GameModes(string[] args) { - if (args.Length != 1) { - RR.Console.WriteToOutput($"Usage: {args[0]}"); - return; - } - - RR.Console.WriteToOutput("Game modes:"); - foreach (GameModeAsset gameModeAsset in RR.GameModesAssets) { - RR.Console.WriteToOutput($" {gameModeAsset.name}"); - } - } - - [RCCMD("worlds", "Lists all worlds")] - public static void Worlds(string[] args) { - if (args.Length != 1) { - RR.Console.WriteToOutput($"Usage: {args[0]}"); - return; - } - - RR.Console.WriteToOutput("Worlds:"); - foreach (WorldConfigAsset worldConfigAsset in RR.WorldConfigsAssets) { - RR.Console.WriteToOutput($" {worldConfigAsset.Config.name}"); - } - } - } - - public class JelychoGame : IGame { - [Serializable] - public class Config { - public WorldConfigAsset mainMenuWorldConfig; - public GameModeAsset standardGameMode; - - public WorldConfigAsset worldAstek; - } - - readonly Config m_Config; - - DisposableBag m_DisposableBag; - - public JelychoGame(Config config) { - m_Config = config; - m_DisposableBag = new DisposableBag(); - } - - public async UniTask InitAsync(CancellationToken cancellationToken) { - RR.CreateService(); - await UniTask.Yield(); - } - - public void Run() { - RR.GameModes.ActiveGameMode.Subscribe(gameMode => { - if (gameMode == null) { - RR.Console.WriteToOutput("Game mode stopped, loading main menu world"); - RR.World.LoadAsync(m_Config.mainMenuWorldConfig.Config, CancellationToken.None).Forget(); - } - }) - .AddTo(ref m_DisposableBag); - } - - public void Dispose() { - m_DisposableBag.Dispose(); - } - - public void NewGame() { - RR.StartGameMode(m_Config.standardGameMode, m_Config.worldAstek.Config); - } - } +using System; +using System.Linq; +using System.Threading; +using Cysharp.Threading.Tasks; +using R3; +using RebootKit.Engine.Extensions; +using RebootKit.Engine.Main; +using RebootKit.Engine.Services.Console; +using RebootKit.Engine.Services.Crosshair; +using RebootKit.Engine.Services.GameMode; +using RebootKit.Engine.Services.Simulation; + +namespace RealityReboot.jelycho { + public static class JelychoConsoleCommands { + [RCCMD("start", "Starts game mode with given name. Usage: start ")] + public static void StartGameMode(string[] args) { + if (args.Length != 3) { + RR.Console.WriteToOutput($"Usage: {args[0]} "); + return; + } + + string worldName = args[2]; + WorldConfigAsset worldConfig = RR.WorldConfigsAssets.FirstOrDefault(t => t.Config.name.Equals(worldName)); + if (worldConfig is null) { + RR.Console.WriteToOutput($"World '{worldName}' not found"); + return; + } + + foreach (GameModeAsset gameModeAsset in RR.GameModesAssets) { + if (gameModeAsset.name == args[1]) { + RR.Console.WriteToOutput($"Starting game mode '{gameModeAsset.name}'"); + RR.StartGameMode(gameModeAsset, worldConfig.Config); + return; + } + } + + RR.Console.WriteToOutput($"Game mode '{args[1]}' not found"); + } + + [RCCMD("gamemodes", "Lists all game modes")] + public static void GameModes(string[] args) { + if (args.Length != 1) { + RR.Console.WriteToOutput($"Usage: {args[0]}"); + return; + } + + RR.Console.WriteToOutput("Game modes:"); + foreach (GameModeAsset gameModeAsset in RR.GameModesAssets) { + RR.Console.WriteToOutput($" {gameModeAsset.name}"); + } + } + + [RCCMD("worlds", "Lists all worlds")] + public static void Worlds(string[] args) { + if (args.Length != 1) { + RR.Console.WriteToOutput($"Usage: {args[0]}"); + return; + } + + RR.Console.WriteToOutput("Worlds:"); + foreach (WorldConfigAsset worldConfigAsset in RR.WorldConfigsAssets) { + RR.Console.WriteToOutput($" {worldConfigAsset.Config.name}"); + } + } + } + + public class JelychoGame : IGame { + [Serializable] + public class Config { + public WorldConfigAsset mainMenuWorldConfig; + public GameModeAsset standardGameMode; + + public WorldConfigAsset worldAstek; + } + + readonly Config m_Config; + + DisposableBag m_DisposableBag; + + public JelychoGame(Config config) { + m_Config = config; + m_DisposableBag = new DisposableBag(); + } + + public async UniTask InitAsync(CancellationToken cancellationToken) { + RR.CreateService(); + await UniTask.Yield(); + } + + public void Run() { + RR.GameModes.ActiveGameMode.Subscribe(gameMode => { + if (gameMode == null) { + RR.Console.WriteToOutput("Game mode stopped, loading main menu world"); + RR.World.LoadAsync(m_Config.mainMenuWorldConfig.Config, CancellationToken.None).Forget(); + } + }) + .AddTo(ref m_DisposableBag); + } + + public void Dispose() { + m_DisposableBag.Dispose(); + } + + public void NewGame() { + RR.StartGameMode(m_Config.standardGameMode, m_Config.worldAstek.Config); + } + } } \ No newline at end of file diff --git a/Assets/jelycho/Code/JelychoGame.cs.meta b/Assets/jelycho/Code/Main/JelychoGame.cs.meta old mode 100644 new mode 100755 similarity index 100% rename from Assets/jelycho/Code/JelychoGame.cs.meta rename to Assets/jelycho/Code/Main/JelychoGame.cs.meta diff --git a/Assets/jelycho/Code/JelychoGameAsset.cs b/Assets/jelycho/Code/Main/JelychoGameAsset.cs old mode 100644 new mode 100755 similarity index 83% rename from Assets/jelycho/Code/JelychoGameAsset.cs rename to Assets/jelycho/Code/Main/JelychoGameAsset.cs index 179f548..bb40830 --- a/Assets/jelycho/Code/JelychoGameAsset.cs +++ b/Assets/jelycho/Code/Main/JelychoGameAsset.cs @@ -1,13 +1,13 @@ -using RebootKit.Engine.Main; -using UnityEngine; - -namespace RealityReboot.jelycho { - [CreateAssetMenu(menuName = GameConsts.k_AddComponentMenu + "Jelycho Game")] - public class JelychoGameAsset : GameAsset { - [SerializeField] JelychoGame.Config m_Config; - - public override IGame CreateGame() { - return RR.DIContext.Create(m_Config); - } - } +using RebootKit.Engine.Main; +using UnityEngine; + +namespace RealityReboot.jelycho { + [CreateAssetMenu(menuName = GameConsts.k_AddComponentMenu + "Jelycho Game")] + public class JelychoGameAsset : GameAsset { + [SerializeField] JelychoGame.Config m_Config; + + public override IGame CreateGame() { + return new JelychoGame(m_Config); + } + } } \ No newline at end of file diff --git a/Assets/jelycho/Code/JelychoGameAsset.cs.meta b/Assets/jelycho/Code/Main/JelychoGameAsset.cs.meta old mode 100644 new mode 100755 similarity index 100% rename from Assets/jelycho/Code/JelychoGameAsset.cs.meta rename to Assets/jelycho/Code/Main/JelychoGameAsset.cs.meta diff --git a/Assets/jelycho/Code/MainMenu.meta b/Assets/jelycho/Code/MainMenu.meta old mode 100644 new mode 100755 diff --git a/Assets/jelycho/Code/MainMenu/MainMenuController.cs b/Assets/jelycho/Code/MainMenu/MainMenuController.cs old mode 100644 new mode 100755 index 94a2191..19822b6 --- a/Assets/jelycho/Code/MainMenu/MainMenuController.cs +++ b/Assets/jelycho/Code/MainMenu/MainMenuController.cs @@ -1,45 +1,45 @@ -using System; -using RebootKit.Engine; -using RebootKit.Engine.Main; -using RebootKit.Engine.UI; -using UnityEngine; -using UnityEngine.UIElements; - -namespace RealityReboot.jelycho.MainMenu { - public class MainMenuController : MonoBehaviour { - const string k_ButtonPlay = "btn-play"; - const string k_ButtonSettings = "btn-settings"; - const string k_ButtonQuit = "btn-quit"; - - const string k_PanelMain = "panel-main"; - const string k_PanelSettings = "panel-settings"; - - [SerializeField] UIDocument m_Document; - - void OnEnable() { - VisualElement root = m_Document.rootVisualElement; - - Button playButton = root.Q