Few changes

This commit is contained in:
Nikita Dugin
2026-04-08 01:25:20 +03:00
parent e2425d6634
commit 8ec3be6d9c
5 changed files with 269 additions and 9 deletions
@@ -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
<IsNested>k__BackingField: 0
WasActiveDuringEdit: 0
WasActiveDuringEdit_Set1: 1
<ComponentIndex>k__BackingField: 0
<PredictedSpawn>k__BackingField: {fileID: 0}
<PredictedOwner>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
<PrefabId>k__BackingField: 10
<SpawnableCollectionId>k__BackingField: 0
<AssetPathHash>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}
@@ -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();
}
}
@@ -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<NetworkConnection, string> OnPlayerNameChange;
private readonly SyncDictionary<NetworkConnection, string> _playerNames = new();
private void Awake()
{
_playerNames.OnChange += OnPlayerNamesChange;
}
private void OnPlayerNamesChange(SyncDictionaryOperation op, NetworkConnection key, string value, bool asServer)
{
throw new NotImplementedException();
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0f8a0d6abee44a7282f69c32e04a6f4c
timeCreated: 1775595133