Skip to content

Commit b704f20

Browse files
using NetworkObjectReference for held object
1 parent d0fd89c commit b704f20

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

Assets/Scripts/Gameplay/Action/PickUpAction.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ public PickUpAction(ServerCharacter parent, ref ActionRequestData data) : base(p
3838
public override bool Start()
3939
{
4040
// play animation based on if a heavy object is already held and start timer
41-
if (NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(m_NetworkPickUpState.heldObject.Value,
42-
out var heldObject))
41+
if (m_NetworkPickUpState.heldNetworkObjectReference.TryGet(out var heldObject))
4342
{
4443
Data.TargetIds = null;
4544

@@ -75,11 +74,10 @@ public override bool Start()
7574

7675
void PickUpOrDrop()
7776
{
78-
if (NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(m_NetworkPickUpState.heldObject.Value,
79-
out var heldObject))
77+
if (m_NetworkPickUpState.heldNetworkObjectReference.TryGet(out var heldObject))
8078
{
8179
// pickup object found inside of hierarchy; drop it
82-
m_NetworkPickUpState.heldObject.Value = 0;
80+
m_NetworkPickUpState.heldNetworkObjectReference = default;
8381
heldObject.transform.SetParent(null);
8482
return;
8583
}
@@ -116,7 +114,7 @@ void PickUpOrDrop()
116114
return;
117115
}
118116

119-
m_NetworkPickUpState.heldObject.Value = heavyNetworkObject.NetworkObjectId;
117+
m_NetworkPickUpState.heldNetworkObjectReference = heavyNetworkObject;
120118

121119
Data.TargetIds = new ulong[] { heavyNetworkObject.NetworkObjectId };
122120

Assets/Scripts/Gameplay/GameplayObjects/NetworkPickUpState.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ namespace Unity.Multiplayer.Samples.BossRoom
55
{
66
public class NetworkPickUpState : NetworkBehaviour
77
{
8-
public NetworkVariable<ulong> heldObject;
8+
public NetworkObjectReference heldNetworkObjectReference;
99
}
1010
}

Assets/Scripts/Gameplay/GameplayObjects/ServerDropItemOnFaint.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ void OnValueChanged(LifeState previousValue, LifeState newValue)
3232
{
3333
if (newValue == LifeState.Fainted)
3434
{
35-
if (NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(m_NetworkPickUpState.heldObject.Value, out var heavyNetworkObject))
35+
if (m_NetworkPickUpState.heldNetworkObjectReference.TryGet(out var heavyNetworkObject))
3636
{
37-
m_NetworkPickUpState.heldObject.Value = 0;
37+
m_NetworkPickUpState.heldNetworkObjectReference = default;
3838
heavyNetworkObject.transform.SetParent(null);
3939
}
4040
}

0 commit comments

Comments
 (0)