diff --git a/Assets/Resources/ApplicationLifetimeScope.prefab b/Assets/Resources/ApplicationLifetimeScope.prefab index 3f04e943..f3729fb9 100644 --- a/Assets/Resources/ApplicationLifetimeScope.prefab +++ b/Assets/Resources/ApplicationLifetimeScope.prefab @@ -10,6 +10,8 @@ GameObject: m_Component: - component: {fileID: 8780821191864940505} - component: {fileID: 2815566013290875396} + - component: {fileID: 4592888819032214727} + - component: {fileID: 4927175908239444755} m_Layer: 0 m_Name: ApplicationLifetimeScope m_TagString: Untagged @@ -29,7 +31,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 322300495372050347} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &2815566013290875396 @@ -48,3 +51,125 @@ MonoBehaviour: TypeName: autoRun: 1 autoInjectGameObjects: [] + _playerNameService: {fileID: 752173706755555797} +--- !u!114 &4592888819032214727 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2606815251647872950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: FishNet.Runtime::FishNet.Object.NetworkObject + k__BackingField: 0 + WasActiveDuringEdit: 0 + WasActiveDuringEdit_Set1: 1 + k__BackingField: 0 + k__BackingField: {fileID: 0} + k__BackingField: {fileID: 0} + NetworkBehaviours: + - {fileID: 4927175908239444755} + - {fileID: 752173706755555797} + InitializedParentNetworkBehaviour: {fileID: 0} + InitializedNestedNetworkObjects: [] + RuntimeParentNetworkBehaviour: {fileID: 0} + RuntimeChildNetworkBehaviours: [] + _isNetworked: 1 + _isSpawnable: 0 + _isGlobal: 0 + _initializeOrder: 0 + _preventDespawnOnDisconnect: 0 + _defaultDespawnType: 0 + _initializedTimestamp: -8584260108495451619 + _localLevelOfDetailCalculationType: 0 + _useLevelOfDetail: 0 + _useRootLevelOfDetail: 1 + NetworkObserver: {fileID: 0} + _enablePrediction: 0 + _predictionType: 0 + _localReconcileCorrectionType: 2 + _graphicalObject: {fileID: 0} + _detachGraphicalObject: 0 + _enableStateForwarding: 1 + _networkTransform: {fileID: 0} + _ownerInterpolation: 1 + _ownerSmoothedProperties: 255 + _adaptiveInterpolation: 3 + _spectatorSmoothedProperties: 255 + _spectatorInterpolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + k__BackingField: 10 + k__BackingField: 0 + k__BackingField: 0 + SceneId: 0 + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + Scale: {x: 1, y: 1, z: 1} + IsValid: 1 +--- !u!114 &4927175908239444755 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2606815251647872950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a6a39c46bf52104ba8efe3100bce3f7, type: 3} + m_Name: + m_EditorClassIdentifier: FishNet.Runtime::FishNet.Object.EmptyNetworkBehaviour + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 4592888819032214727} + _networkObjectCache: {fileID: 4592888819032214727} +--- !u!1 &6697972755432869286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 322300495372050347} + - component: {fileID: 752173706755555797} + m_Layer: 0 + m_Name: PlayerNameService + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &322300495372050347 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697972755432869286} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8780821191864940505} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &752173706755555797 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6697972755432869286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f8a0d6abee44a7282f69c32e04a6f4c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Players.PlayerNameService + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 4592888819032214727} + _networkObjectCache: {fileID: 4592888819032214727} diff --git a/Assets/Scripts/ApplicationLifetimeScope.cs b/Assets/Scripts/ApplicationLifetimeScope.cs index f39d89ef..fbc8e13b 100644 --- a/Assets/Scripts/ApplicationLifetimeScope.cs +++ b/Assets/Scripts/ApplicationLifetimeScope.cs @@ -1,12 +1,17 @@ using MessagePipe; +using Players; +using UnityEngine; using VContainer; using VContainer.Unity; public sealed class ApplicationLifetimeScope : LifetimeScope { + [SerializeField] private PlayerNameService _playerNameService; + protected override void Configure(IContainerBuilder builder) { RegisterMessagePipe(builder); + RegisterServices(builder); } private void RegisterMessagePipe(IContainerBuilder builder) @@ -27,4 +32,9 @@ public sealed class ApplicationLifetimeScope : LifetimeScope builder.RegisterMessagePipe(); #endif } + + private void RegisterServices(IContainerBuilder builder) + { + builder.RegisterInstance(_playerNameService).AsSelf(); + } } \ No newline at end of file diff --git a/Assets/Scripts/Players/PlayerNameService.cs b/Assets/Scripts/Players/PlayerNameService.cs new file mode 100644 index 00000000..4eaaeffd --- /dev/null +++ b/Assets/Scripts/Players/PlayerNameService.cs @@ -0,0 +1,25 @@ +using System; +using FishNet.Connection; +using FishNet.Object; +using FishNet.Object.Synchronizing; +using UnityEngine; + +namespace Players +{ + public sealed class PlayerNameService : NetworkBehaviour + { + public static event Action OnPlayerNameChange; + + private readonly SyncDictionary _playerNames = new(); + + private void Awake() + { + _playerNames.OnChange += OnPlayerNamesChange; + } + + private void OnPlayerNamesChange(SyncDictionaryOperation op, NetworkConnection key, string value, bool asServer) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Players/PlayerNameService.cs.meta b/Assets/Scripts/Players/PlayerNameService.cs.meta new file mode 100644 index 00000000..901ade02 --- /dev/null +++ b/Assets/Scripts/Players/PlayerNameService.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0f8a0d6abee44a7282f69c32e04a6f4c +timeCreated: 1775595133 \ No newline at end of file diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index c05a556f..16edc703 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -42,8 +42,8 @@ PlayerSettings: m_SplashScreenLogos: [] m_VirtualRealitySplashScreen: {fileID: 0} m_HolographicTrackingLossScreen: {fileID: 0} - defaultScreenWidth: 1920 - defaultScreenHeight: 1080 + defaultScreenWidth: 800 + defaultScreenHeight: 600 defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 @@ -96,7 +96,7 @@ PlayerSettings: bakeCollisionMeshes: 0 forceSingleInstance: 0 useFlipModelSwapchain: 1 - resizableWindow: 0 + resizableWindow: 1 useMacAppStoreValidation: 0 macAppStoreCategory: public.app-category.games gpuSkinning: 0 @@ -108,7 +108,7 @@ PlayerSettings: xboxEnableFitness: 0 visibleInBackground: 1 allowFullscreenSwitch: 1 - fullscreenMode: 1 + fullscreenMode: 3 xboxSpeechDB: 0 xboxEnableHeadOrientation: 0 xboxEnableGuest: 0 @@ -144,7 +144,9 @@ PlayerSettings: visionOSBundleVersion: 1.0 tvOSBundleVersion: 1.0 bundleVersion: 1.0 - preloadedAssets: [] + preloadedAssets: + - {fileID: 4800000, guid: ec80aebd8cb61f44cbfa6b7d5f087211, type: 3} + - {fileID: 11400000, guid: 9440d9ac41836bb4299df8dabc000fa4, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1 @@ -295,8 +297,103 @@ PlayerSettings: AndroidReportGooglePlayAppDependencies: 1 androidSymbolsSizeThreshold: 800 m_BuildTargetIcons: [] - m_BuildTargetPlatformIcons: [] - m_BuildTargetBatching: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 m_BuildTargetShaderSettings: [] m_BuildTargetGraphicsJobs: [] m_BuildTargetGraphicsJobMode: [] @@ -681,7 +778,7 @@ PlayerSettings: qnxGraphicConfPath: apiCompatibilityLevel: 6 captureStartupLogs: {} - activeInputHandler: 2 + activeInputHandler: 0 windowsGamepadBackendHint: 0 cloudProjectId: 16816b7b-2478-42d6-b9aa-1f22b82e4182 framebufferDepthMemorylessMode: 0