Implement player network spawning and position synchronization
This commit is contained in:
16
Assets/Data/CharactersPrefabsList.asset
Normal file
16
Assets/Data/CharactersPrefabsList.asset
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: e651dbb3fbac04af2b8f5abf007ddc23, type: 3}
|
||||||
|
m_Name: CharactersPrefabsList
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
IsDefault: 0
|
||||||
|
List: []
|
||||||
8
Assets/Data/CharactersPrefabsList.asset.meta
Normal file
8
Assets/Data/CharactersPrefabsList.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2c64692531864a248971845ac00bf403
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -44,3 +44,9 @@ MonoBehaviour:
|
|||||||
SourcePrefabToOverride: {fileID: 0}
|
SourcePrefabToOverride: {fileID: 0}
|
||||||
SourceHashToOverride: 0
|
SourceHashToOverride: 0
|
||||||
OverridingTargetPrefab: {fileID: 0}
|
OverridingTargetPrefab: {fileID: 0}
|
||||||
|
- Override: 0
|
||||||
|
Prefab: {fileID: 8466719420925814164, guid: d2f34b93e15cc634590f037ba4513d1a,
|
||||||
|
type: 3}
|
||||||
|
SourcePrefabToOverride: {fileID: 0}
|
||||||
|
SourceHashToOverride: 0
|
||||||
|
OverridingTargetPrefab: {fileID: 0}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: f29b6a6a1cc1ff044a711de9b8658f91
|
guid: 924fc86774a1e664aae9d29e3726d59a
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ namespace HurricaneVR.Framework.Core.Grabbers
|
|||||||
private bool _canQuickStart;
|
private bool _canQuickStart;
|
||||||
private Coroutine _additionalGrabRoutine;
|
private Coroutine _additionalGrabRoutine;
|
||||||
private HVRGrabbableHoverBase _grabIndicator;
|
private HVRGrabbableHoverBase _grabIndicator;
|
||||||
private Transform _anchor;
|
public Transform _anchor;
|
||||||
private Rigidbody _forceRB;
|
private Rigidbody _forceRB;
|
||||||
|
|
||||||
public float VelocityMagnitude => HandGrabber.HVRTrackedController.VelocityMagnitude;
|
public float VelocityMagnitude => HandGrabber.HVRTrackedController.VelocityMagnitude;
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ namespace HurricaneVR.Framework.Core.Grabbers
|
|||||||
|
|
||||||
private Vector3 _pusherSize;
|
private Vector3 _pusherSize;
|
||||||
private bool _pushing;
|
private bool _pushing;
|
||||||
private GameObject _anchor;
|
public GameObject _anchor;
|
||||||
private Rigidbody _forceRB;
|
private Rigidbody _forceRB;
|
||||||
|
|
||||||
private bool _swappingGrabPoint;
|
private bool _swappingGrabPoint;
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ MonoBehaviour:
|
|||||||
m_BlockingObjects: 0
|
m_BlockingObjects: 0
|
||||||
m_BlockingMask:
|
m_BlockingMask:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 4294967295
|
m_Bits: 3147575
|
||||||
--- !u!114 &7696685524349165684
|
--- !u!114 &7696685524349165684
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
48
Assets/Prefabs/GlobalBoostrap/GameManager.prefab
Normal file
48
Assets/Prefabs/GlobalBoostrap/GameManager.prefab
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &9196927478923670377
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 983229580524670056}
|
||||||
|
- component: {fileID: 8718694886647119811}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: GameManager
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &983229580524670056
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 9196927478923670377}
|
||||||
|
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: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &8718694886647119811
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 9196927478923670377}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d357a0b6e2db94a4aadef95ef4fff758, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
playerPrefab: {fileID: 75161255762383020, guid: 1ef3259331ddc1f4d94b628323ec45f3,
|
||||||
|
type: 3}
|
||||||
7
Assets/Prefabs/GlobalBoostrap/GameManager.prefab.meta
Normal file
7
Assets/Prefabs/GlobalBoostrap/GameManager.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2069c77fc626bc84581297241f675a5f
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
115
Assets/Prefabs/GlobalBoostrap/NetworkManager.prefab
Normal file
115
Assets/Prefabs/GlobalBoostrap/NetworkManager.prefab
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &8643863892294462044
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3572856719409378894}
|
||||||
|
- component: {fileID: 8614138672144993884}
|
||||||
|
- component: {fileID: 1446823875350840172}
|
||||||
|
- component: {fileID: 4889055508275984978}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: NetworkManager
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &3572856719409378894
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8643863892294462044}
|
||||||
|
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: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &8614138672144993884
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8643863892294462044}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
NetworkConfig:
|
||||||
|
ProtocolVersion: 0
|
||||||
|
NetworkTransport: {fileID: 1446823875350840172}
|
||||||
|
PlayerPrefab: {fileID: 75161255762383020, guid: 1ef3259331ddc1f4d94b628323ec45f3,
|
||||||
|
type: 3}
|
||||||
|
Prefabs:
|
||||||
|
NetworkPrefabsLists:
|
||||||
|
- {fileID: 11400000, guid: 924fc86774a1e664aae9d29e3726d59a, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 2c64692531864a248971845ac00bf403, type: 2}
|
||||||
|
TickRate: 30
|
||||||
|
ClientConnectionBufferTimeout: 10
|
||||||
|
ConnectionApproval: 0
|
||||||
|
ConnectionData:
|
||||||
|
EnableTimeResync: 0
|
||||||
|
TimeResyncInterval: 30
|
||||||
|
EnsureNetworkVariableLengthSafety: 0
|
||||||
|
EnableSceneManagement: 1
|
||||||
|
ForceSamePrefabs: 1
|
||||||
|
RecycleNetworkIds: 1
|
||||||
|
NetworkIdRecycleDelay: 120
|
||||||
|
RpcHashSize: 0
|
||||||
|
LoadSceneTimeOut: 120
|
||||||
|
SpawnTimeout: 10
|
||||||
|
EnableNetworkLogs: 1
|
||||||
|
OldPrefabList: []
|
||||||
|
RunInBackground: 1
|
||||||
|
LogLevel: 1
|
||||||
|
--- !u!114 &1446823875350840172
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8643863892294462044}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_ProtocolType: 0
|
||||||
|
m_MaxPacketQueueSize: 128
|
||||||
|
m_MaxPayloadSize: 6144
|
||||||
|
m_HeartbeatTimeoutMS: 500
|
||||||
|
m_ConnectTimeoutMS: 1000
|
||||||
|
m_MaxConnectAttempts: 60
|
||||||
|
m_DisconnectTimeoutMS: 30000
|
||||||
|
ConnectionData:
|
||||||
|
Address: 127.0.0.1
|
||||||
|
Port: 7777
|
||||||
|
ServerListenAddress: 127.0.0.1
|
||||||
|
DebugSimulator:
|
||||||
|
PacketDelayMS: 0
|
||||||
|
PacketJitterMS: 0
|
||||||
|
PacketDropRate: 0
|
||||||
|
--- !u!114 &4889055508275984978
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8643863892294462044}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: cb16de57aad3ebe42bb3df246dc58d5f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
networkManager: {fileID: 8614138672144993884}
|
||||||
7
Assets/Prefabs/GlobalBoostrap/NetworkManager.prefab.meta
Normal file
7
Assets/Prefabs/GlobalBoostrap/NetworkManager.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e8280dda5c459694abfafb8c0b53f20d
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -26,7 +26,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 3924027509722682562, guid: 6974999791dc8804fafee05e319aa932,
|
- target: {fileID: 3924027509722682562, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Player
|
value: Rig
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932,
|
- target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -261,6 +261,18 @@ PrefabInstance:
|
|||||||
insertIndex: 0
|
insertIndex: 0
|
||||||
addedObject: {fileID: 6067009970240072242}
|
addedObject: {fileID: 6067009970240072242}
|
||||||
m_AddedComponents:
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 3924027509722682562, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 8161488319454453882}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 3924027509722682562, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: -510423355628046216}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 3924027509007222379, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 919562643048463062}
|
||||||
- targetCorrespondingSourceObject: {fileID: 3924027509387932073, guid: 6974999791dc8804fafee05e319aa932,
|
- targetCorrespondingSourceObject: {fileID: 3924027509387932073, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
type: 3}
|
type: 3}
|
||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
@@ -280,6 +292,106 @@ Transform:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 3999184345544213614}
|
m_PrefabInstance: {fileID: 3999184345544213614}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &75161255762383020 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3924027509722682562, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3999184345544213614}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &8161488319454453882
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 75161255762383020}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
GlobalObjectIdHash: 3394388680
|
||||||
|
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||||
|
AlwaysReplicateAsRoot: 0
|
||||||
|
SynchronizeTransform: 1
|
||||||
|
ActiveSceneSynchronization: 0
|
||||||
|
SceneMigrationSynchronization: 1
|
||||||
|
SpawnWithObservers: 1
|
||||||
|
DontDestroyWithOwner: 0
|
||||||
|
AutoObjectParentSync: 1
|
||||||
|
--- !u!114 &-510423355628046216
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 75161255762383020}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 983bb31c4dab2d84b857006f5099d030, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
networkObject: {fileID: 8161488319454453882}
|
||||||
|
teleporter: {fileID: 1079194777950654091}
|
||||||
|
controller: {fileID: 75161257133195801}
|
||||||
|
characterController: {fileID: 75161257133195802}
|
||||||
|
fadeDuration: 2
|
||||||
|
gameManager: {fileID: 0}
|
||||||
|
--- !u!1 &75161257133195781 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3924027509007222379, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3999184345544213614}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &919562643048463062
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 75161257133195781}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 405ed07ae7c26a141bac0d303d0a347a, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
UseUnreliableDeltas: 0
|
||||||
|
SyncPositionX: 1
|
||||||
|
SyncPositionY: 1
|
||||||
|
SyncPositionZ: 1
|
||||||
|
SyncRotAngleX: 1
|
||||||
|
SyncRotAngleY: 1
|
||||||
|
SyncRotAngleZ: 1
|
||||||
|
SyncScaleX: 0
|
||||||
|
SyncScaleY: 0
|
||||||
|
SyncScaleZ: 0
|
||||||
|
PositionThreshold: 0.001
|
||||||
|
RotAngleThreshold: 0.01
|
||||||
|
ScaleThreshold: 0.01
|
||||||
|
UseQuaternionSynchronization: 0
|
||||||
|
UseQuaternionCompression: 0
|
||||||
|
UseHalfFloatPrecision: 0
|
||||||
|
InLocalSpace: 0
|
||||||
|
Interpolate: 1
|
||||||
|
SlerpPosition: 0
|
||||||
|
--- !u!114 &75161257133195801 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3924027509007222391, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3999184345544213614}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 75161257133195781}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: df32767e580c4d24a3d3c9ed3026afd0, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!143 &75161257133195802 stripped
|
||||||
|
CharacterController:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3924027509007222388, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3999184345544213614}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &75161257574593991 stripped
|
--- !u!1 &75161257574593991 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
m_CorrespondingSourceObject: {fileID: 3924027509387932073, guid: 6974999791dc8804fafee05e319aa932,
|
m_CorrespondingSourceObject: {fileID: 3924027509387932073, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
@@ -342,6 +454,18 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 6953a3149e8e4d1468962577608f0002, type: 3}
|
m_Script: {fileID: 11500000, guid: 6953a3149e8e4d1468962577608f0002, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &1079194777950654091 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4144970921230453477, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3999184345544213614}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 75161257133195781}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: ddcc26ecb5c24116a2b1c03eaeeef771, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!4 &1237592639017424508 stripped
|
--- !u!4 &1237592639017424508 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 2761615919136559634, guid: 6974999791dc8804fafee05e319aa932,
|
m_CorrespondingSourceObject: {fileID: 2761615919136559634, guid: 6974999791dc8804fafee05e319aa932,
|
||||||
@@ -78,7 +78,11 @@ MonoBehaviour:
|
|||||||
type: 3}
|
type: 3}
|
||||||
hvrGlobalPrefab: {fileID: 4013254746517429689, guid: a03ed519be01d1440a8ec63d2ac101f7,
|
hvrGlobalPrefab: {fileID: 4013254746517429689, guid: a03ed519be01d1440a8ec63d2ac101f7,
|
||||||
type: 3}
|
type: 3}
|
||||||
playerPrefab: {fileID: 75161255762383020, guid: 1ef3259331ddc1f4d94b628323ec45f3,
|
|
||||||
type: 3}
|
|
||||||
sceneManagerPrefab: {fileID: 9083120132262756458, guid: 195c448c3b94b5f47a2aa13187a0bc99,
|
sceneManagerPrefab: {fileID: 9083120132262756458, guid: 195c448c3b94b5f47a2aa13187a0bc99,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
networkManagerPrefab: {fileID: 8643863892294462044, guid: e8280dda5c459694abfafb8c0b53f20d,
|
||||||
|
type: 3}
|
||||||
|
gameManagerPrefab: {fileID: 9196927478923670377, guid: 2069c77fc626bc84581297241f675a5f,
|
||||||
|
type: 3}
|
||||||
|
playerPrefab: {fileID: 75161255762383020, guid: 1ef3259331ddc1f4d94b628323ec45f3,
|
||||||
|
type: 3}
|
||||||
|
|||||||
112
Assets/Scripts/Components/PlayerComponent.cs
Normal file
112
Assets/Scripts/Components/PlayerComponent.cs
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
using HurricaneVR.Framework.Components;
|
||||||
|
using HurricaneVR.Framework.Core.Player;
|
||||||
|
using Meta.XR.MultiplayerBlocks.NGO;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Unity.Netcode;
|
||||||
|
using Unity.Netcode.Components;
|
||||||
|
using Unity.VisualScripting;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Rendering.Universal;
|
||||||
|
using Zenject;
|
||||||
|
using static Unity.Burst.Intrinsics.X86.Avx;
|
||||||
|
|
||||||
|
public class PlayerComponent : NetworkBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField]
|
||||||
|
private NetworkObject networkObject;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private HVRTeleporter teleporter;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private HVRPlayerController controller;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private CharacterController characterController;
|
||||||
|
|
||||||
|
[ReadOnly]
|
||||||
|
[SerializeField]
|
||||||
|
private float fadeDuration = 2f;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
public GameManager gameManager;
|
||||||
|
|
||||||
|
public Vector3 Position
|
||||||
|
{
|
||||||
|
get { return controller.transform.position; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 Rotation
|
||||||
|
{
|
||||||
|
get { return controller.transform.eulerAngles; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnNetworkSpawn()
|
||||||
|
{
|
||||||
|
base.OnNetworkSpawn();
|
||||||
|
|
||||||
|
name = $"Player - {networkObject.OwnerClientId}"
|
||||||
|
+ (networkObject.IsLocalPlayer ? " (local)" : "");
|
||||||
|
|
||||||
|
if (!networkObject.IsOwner)
|
||||||
|
{
|
||||||
|
StartCoroutine(DestroyMultiplayerComponents());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator DestroyMultiplayerComponents()
|
||||||
|
{
|
||||||
|
yield return new WaitForEndOfFrame();
|
||||||
|
|
||||||
|
DestroyDependencies();
|
||||||
|
|
||||||
|
foreach (var t in new[]
|
||||||
|
{
|
||||||
|
typeof(UniversalAdditionalCameraData),
|
||||||
|
})
|
||||||
|
{
|
||||||
|
foreach (var component in GetComponentsInChildren(t))
|
||||||
|
{
|
||||||
|
Destroy(component);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
controller.RemoveMultiplayerComponents();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DestroyDependencies()
|
||||||
|
{
|
||||||
|
Destroy(controller.RightHand.ForceGrabber._anchor.gameObject);
|
||||||
|
Destroy(controller.LeftHand.ForceGrabber._anchor.gameObject);
|
||||||
|
Destroy(controller.LeftHand._anchor);
|
||||||
|
Destroy(controller.RightHand._anchor);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DestroyWithDependencies()
|
||||||
|
{
|
||||||
|
DestroyDependencies();
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Teleport(Vector3 position, Vector3 direction)
|
||||||
|
{
|
||||||
|
teleporter.Teleport(position, direction);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FadeScreen(float to, float duration)
|
||||||
|
{
|
||||||
|
controller.ScreenFader.Fade(to, duration);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FadeIn()
|
||||||
|
{
|
||||||
|
controller.ScreenFader.Fade(1, fadeDuration);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FadeOut()
|
||||||
|
{
|
||||||
|
controller.ScreenFader.Fade(0, fadeDuration);
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Components/PlayerComponent.cs.meta
Normal file
11
Assets/Scripts/Components/PlayerComponent.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 983bb31c4dab2d84b857006f5099d030
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
9
Assets/Scripts/Editor/OdinNetworkBehaviourEditor.cs
Normal file
9
Assets/Scripts/Editor/OdinNetworkBehaviourEditor.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Sirenix.OdinInspector.Editor;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Unity.Netcode;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[CustomEditor(typeof(NetworkBehaviour), true)]
|
||||||
|
public class OdinNetworkBehaviourEditor : OdinEditor { }
|
||||||
11
Assets/Scripts/Editor/OdinNetworkBehaviourEditor.cs.meta
Normal file
11
Assets/Scripts/Editor/OdinNetworkBehaviourEditor.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e4a312837e470c54faa1f6a28f0a201e
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -19,8 +19,9 @@ public class PlayerSpawner : MonoBehaviour
|
|||||||
.ToArray();
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Spawn(GameObject player)
|
public void Spawn(PlayerComponent player)
|
||||||
{
|
{
|
||||||
player.GetComponent<HVRTeleporter>().Teleport(spawns.First().position);
|
var spawn = spawns.First();
|
||||||
|
player.Teleport(spawn.position, spawn.eulerAngles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
using HurricaneVR.Framework.Core;
|
using HurricaneVR.Framework.Core;
|
||||||
using HurricaneVR.Framework.Core.Player;
|
using HurricaneVR.Framework.Core.Player;
|
||||||
using HurricaneVR.Framework.Core.Utils;
|
using HurricaneVR.Framework.Core.Utils;
|
||||||
|
using Unity.Netcode;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Zenject;
|
using Zenject;
|
||||||
|
|
||||||
public class GlobalInstaller : MonoInstaller
|
public class GlobalInstaller : MonoInstaller
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private GameObject musicPlayerPrefab;
|
private GameObject musicPlayerPrefab;
|
||||||
|
|
||||||
@@ -15,10 +14,16 @@ public class GlobalInstaller : MonoInstaller
|
|||||||
private GameObject hvrGlobalPrefab;
|
private GameObject hvrGlobalPrefab;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private GameObject playerPrefab;
|
private GameObject sceneManagerPrefab;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private GameObject sceneManagerPrefab;
|
private GameObject networkManagerPrefab;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private GameObject gameManagerPrefab;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private GameObject playerPrefab;
|
||||||
|
|
||||||
public override void Start()
|
public override void Start()
|
||||||
{
|
{
|
||||||
@@ -46,12 +51,12 @@ public class GlobalInstaller : MonoInstaller
|
|||||||
})
|
})
|
||||||
.NonLazy();
|
.NonLazy();
|
||||||
|
|
||||||
Container.Bind<HVRPlayerController>()
|
Container.Bind<GameManager>()
|
||||||
.FromComponentInNewPrefab(playerPrefab)
|
.FromComponentInNewPrefab(gameManagerPrefab)
|
||||||
.AsSingle()
|
.AsSingle()
|
||||||
.OnInstantiated<HVRPlayerController>((ctx, obj) =>
|
.OnInstantiated<GameManager>((ctx, obj) =>
|
||||||
{
|
{
|
||||||
obj.transform.parent.name = playerPrefab.name;
|
obj.name = gameManagerPrefab.name;
|
||||||
})
|
})
|
||||||
.NonLazy();
|
.NonLazy();
|
||||||
|
|
||||||
@@ -63,5 +68,23 @@ public class GlobalInstaller : MonoInstaller
|
|||||||
obj.name = sceneManagerPrefab.name;
|
obj.name = sceneManagerPrefab.name;
|
||||||
})
|
})
|
||||||
.NonLazy();
|
.NonLazy();
|
||||||
|
|
||||||
|
Container.Bind<NetworkManager>()
|
||||||
|
.FromComponentInNewPrefab(networkManagerPrefab)
|
||||||
|
.AsSingle()
|
||||||
|
.OnInstantiated<NetworkManager>((ctx, obj) =>
|
||||||
|
{
|
||||||
|
obj.name = networkManagerPrefab.name;
|
||||||
|
})
|
||||||
|
.NonLazy();
|
||||||
|
|
||||||
|
Container.Bind<PlayerComponent>()
|
||||||
|
.FromComponentInNewPrefab(playerPrefab)
|
||||||
|
.AsSingle()
|
||||||
|
.OnInstantiated<PlayerComponent>((ctx, obj) =>
|
||||||
|
{
|
||||||
|
obj.name = playerPrefab.name;
|
||||||
|
})
|
||||||
|
.NonLazy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
54
Assets/Scripts/Managers/ConnectionManager.cs
Normal file
54
Assets/Scripts/Managers/ConnectionManager.cs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Unity.Netcode;
|
||||||
|
using UnityEngine;
|
||||||
|
using Zenject;
|
||||||
|
|
||||||
|
public class ConnectionManager : NetworkBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField]
|
||||||
|
private NetworkManager networkManager;
|
||||||
|
|
||||||
|
[Inject]
|
||||||
|
[SerializeField]
|
||||||
|
[ReadOnly]
|
||||||
|
private GameManager gameManager;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
networkManager.OnClientConnectedCallback += OnClientConnectedCallback;
|
||||||
|
networkManager.OnClientDisconnectCallback += OnClientDisconnectCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnClientConnectedCallback(ulong clientId)
|
||||||
|
{
|
||||||
|
Debug.Log($"Client-{clientId} is connected and can spawn {nameof(NetworkObject)}s.");
|
||||||
|
|
||||||
|
if (networkManager.LocalClientId == clientId)
|
||||||
|
{
|
||||||
|
StartCoroutine(SpawnLocalPlayer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator SpawnLocalPlayer()
|
||||||
|
{
|
||||||
|
yield return new WaitForEndOfFrame();
|
||||||
|
|
||||||
|
var playerObject = networkManager.LocalClient.PlayerObject;
|
||||||
|
var player = playerObject.GetComponent<PlayerComponent>();
|
||||||
|
player.gameManager = gameManager;
|
||||||
|
gameManager.PlayerSpawnedOnNetwork(player);
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnClientDisconnectCallback(ulong clientId)
|
||||||
|
{
|
||||||
|
Debug.Log($"Client-{clientId} is disconnected and can spawn {nameof(NetworkObject)}s.");
|
||||||
|
|
||||||
|
if (networkManager.LocalClientId == clientId)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Managers/ConnectionManager.cs.meta
Normal file
11
Assets/Scripts/Managers/ConnectionManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cb16de57aad3ebe42bb3df246dc58d5f
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
27
Assets/Scripts/Managers/GameManager.cs
Normal file
27
Assets/Scripts/Managers/GameManager.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using Sirenix.OdinInspector;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Unity.Netcode;
|
||||||
|
using UnityEngine;
|
||||||
|
using Zenject;
|
||||||
|
|
||||||
|
public class GameManager : NetworkBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField]
|
||||||
|
[ReadOnly]
|
||||||
|
[Inject]
|
||||||
|
private PlayerComponent localPlayer;
|
||||||
|
public PlayerComponent LocalPlayer {
|
||||||
|
get { return localPlayer; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PlayerSpawnedOnNetwork(PlayerComponent player)
|
||||||
|
{
|
||||||
|
if (player.IsLocalPlayer)
|
||||||
|
{
|
||||||
|
player.Teleport(localPlayer.Position, localPlayer.Rotation);
|
||||||
|
localPlayer.DestroyWithDependencies();
|
||||||
|
localPlayer = player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Managers/GameManager.cs.meta
Normal file
11
Assets/Scripts/Managers/GameManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d357a0b6e2db94a4aadef95ef4fff758
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -33,7 +33,7 @@ public class LevelManager : MonoBehaviour
|
|||||||
[Inject]
|
[Inject]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
[ReadOnly]
|
[ReadOnly]
|
||||||
private HVRPlayerController playerController;
|
private GameManager gameManager;
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
@@ -44,7 +44,8 @@ public class LevelManager : MonoBehaviour
|
|||||||
musicManager.Play(level.pauseClip);
|
musicManager.Play(level.pauseClip);
|
||||||
}
|
}
|
||||||
|
|
||||||
playerSpawner.Spawn(playerController.gameObject);
|
var player = gameManager.LocalPlayer;
|
||||||
|
playerSpawner.Spawn(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnEnemyReachedFinish(EnemyComponent enemy)
|
public void OnEnemyReachedFinish(EnemyComponent enemy)
|
||||||
|
|||||||
@@ -2,10 +2,11 @@ using HurricaneVR.Framework.Core.Player;
|
|||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Unity.Netcode;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Zenject;
|
using Zenject;
|
||||||
|
|
||||||
public class LobbyManager : MonoBehaviour
|
public class LobbyManager : NetworkBehaviour
|
||||||
{
|
{
|
||||||
[Inject]
|
[Inject]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
@@ -20,7 +21,7 @@ public class LobbyManager : MonoBehaviour
|
|||||||
[Inject]
|
[Inject]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
[ReadOnly]
|
[ReadOnly]
|
||||||
private HVRPlayerController playerController;
|
private GameManager gameManager;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private AudioClip backgroundMusicClip;
|
private AudioClip backgroundMusicClip;
|
||||||
@@ -29,6 +30,7 @@ public class LobbyManager : MonoBehaviour
|
|||||||
{
|
{
|
||||||
musicManager.Play(backgroundMusicClip);
|
musicManager.Play(backgroundMusicClip);
|
||||||
|
|
||||||
playerSpawner.Spawn(playerController.gameObject);
|
var player = gameManager.LocalPlayer;
|
||||||
|
playerSpawner.Spawn(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class SceneManager : MonoBehaviour
|
|||||||
[Inject]
|
[Inject]
|
||||||
[ReadOnly]
|
[ReadOnly]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private HVRPlayerController playerController;
|
private GameManager gameManager;
|
||||||
|
|
||||||
[ReadOnly]
|
[ReadOnly]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
@@ -36,7 +36,7 @@ public class SceneManager : MonoBehaviour
|
|||||||
|
|
||||||
private IEnumerator SwitchToScene(Scene scene)
|
private IEnumerator SwitchToScene(Scene scene)
|
||||||
{
|
{
|
||||||
playerController.ScreenFader.Fade(1, fadeDuration);
|
gameManager.LocalPlayer.FadeScreen(1, fadeDuration);
|
||||||
|
|
||||||
var operation = UnityEngine.SceneManagement.SceneManager
|
var operation = UnityEngine.SceneManagement.SceneManager
|
||||||
.LoadSceneAsync((int)scene);
|
.LoadSceneAsync((int)scene);
|
||||||
@@ -55,6 +55,6 @@ public class SceneManager : MonoBehaviour
|
|||||||
|
|
||||||
this.scene = scene;
|
this.scene = scene;
|
||||||
|
|
||||||
playerController.ScreenFader.Fade(0, fadeDuration);
|
gameManager.LocalPlayer.FadeScreen(0, fadeDuration);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
"com.unity.inputsystem": "1.7.0",
|
"com.unity.inputsystem": "1.7.0",
|
||||||
"com.unity.netcode.gameobjects": "1.10.0",
|
"com.unity.netcode.gameobjects": "1.10.0",
|
||||||
"com.unity.render-pipelines.universal": "14.0.11",
|
"com.unity.render-pipelines.universal": "14.0.11",
|
||||||
|
"com.unity.services.relay": "1.1.1",
|
||||||
"com.unity.test-framework": "1.1.33",
|
"com.unity.test-framework": "1.1.33",
|
||||||
"com.unity.textmeshpro": "3.0.6",
|
"com.unity.textmeshpro": "3.0.6",
|
||||||
"com.unity.timeline": "1.7.6",
|
"com.unity.timeline": "1.7.6",
|
||||||
|
|||||||
@@ -198,7 +198,7 @@
|
|||||||
},
|
},
|
||||||
"com.unity.nuget.newtonsoft-json": {
|
"com.unity.nuget.newtonsoft-json": {
|
||||||
"version": "3.2.1",
|
"version": "3.2.1",
|
||||||
"depth": 2,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
@@ -241,6 +241,60 @@
|
|||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
|
"com.unity.services.authentication": {
|
||||||
|
"version": "2.7.4",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.nuget.newtonsoft-json": "3.2.1",
|
||||||
|
"com.unity.services.core": "1.12.5",
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.ugui": "1.0.0"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.services.core": {
|
||||||
|
"version": "1.12.5",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.nuget.newtonsoft-json": "3.2.1",
|
||||||
|
"com.unity.modules.androidjni": "1.0.0"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.services.qos": {
|
||||||
|
"version": "1.3.2",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.services.core": "1.12.5",
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.nuget.newtonsoft-json": "3.0.2",
|
||||||
|
"com.unity.services.authentication": "2.7.4",
|
||||||
|
"com.unity.collections": "1.2.4"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.services.relay": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.services.core": "1.12.5",
|
||||||
|
"com.unity.services.authentication": "2.7.4",
|
||||||
|
"com.unity.services.qos": "1.3.2",
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestaudio": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequesttexture": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestwww": "1.0.0",
|
||||||
|
"com.unity.nuget.newtonsoft-json": "3.0.2",
|
||||||
|
"com.unity.transport": "1.3.0"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
"com.unity.shadergraph": {
|
"com.unity.shadergraph": {
|
||||||
"version": "14.0.11",
|
"version": "14.0.11",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user