Fix zenject reparenting issue

This commit is contained in:
2024-08-30 19:30:08 +02:00
parent 63ab18a04a
commit c4ee93c296
4 changed files with 44 additions and 19 deletions

View File

@@ -45,8 +45,7 @@ MonoBehaviour:
SourceHashToOverride: 0
OverridingTargetPrefab: {fileID: 0}
- Override: 0
Prefab: {fileID: 8466719420925814164, guid: d2f34b93e15cc634590f037ba4513d1a,
type: 3}
Prefab: {fileID: 75161255762383020, guid: 1ef3259331ddc1f4d94b628323ec45f3, type: 3}
SourcePrefabToOverride: {fileID: 0}
SourceHashToOverride: 0
OverridingTargetPrefab: {fileID: 0}

View File

@@ -11,6 +11,7 @@ GameObject:
- component: {fileID: 3572856719409378894}
- component: {fileID: 8614138672144993884}
- component: {fileID: 1446823875350840172}
- component: {fileID: -5404414879667114088}
m_Layer: 0
m_Name: NetworkManager
m_TagString: Untagged
@@ -99,3 +100,15 @@ MonoBehaviour:
PacketDelayMS: 0
PacketJitterMS: 0
PacketDropRate: 0
--- !u!114 &-5404414879667114088
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: 2e5b279a1a044cee9d64e0ca5d85f175, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@@ -274,6 +274,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: -510423355628046216}
- targetCorrespondingSourceObject: {fileID: 3924027509722682562, guid: 6974999791dc8804fafee05e319aa932,
type: 3}
insertIndex: -1
addedObject: {fileID: -5770860015128552594}
- targetCorrespondingSourceObject: {fileID: 3924027509007222379, guid: 6974999791dc8804fafee05e319aa932,
type: 3}
insertIndex: -1
@@ -315,7 +319,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
m_Name:
m_EditorClassIdentifier:
GlobalObjectIdHash: 3394388680
GlobalObjectIdHash: 918221477
InScenePlacedSourceGlobalObjectIdHash: 0
AlwaysReplicateAsRoot: 0
SynchronizeTransform: 1
@@ -342,6 +346,18 @@ MonoBehaviour:
characterController: {fileID: 75161257133195802}
audioListener: {fileID: 177002782121805273}
fadeDuration: 2
--- !u!114 &-5770860015128552594
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: 2e5b279a1a044cee9d64e0ca5d85f175, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &75161257133195781 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3924027509007222379, guid: 6974999791dc8804fafee05e319aa932,

View File

@@ -1,6 +1,7 @@
using HurricaneVR.Framework.Core;
using HurricaneVR.Framework.Core.Player;
using HurricaneVR.Framework.Core.Utils;
using System.Collections;
using Unity.Netcode;
using UnityEngine;
using Zenject;
@@ -69,22 +70,18 @@ public class GlobalInstaller : MonoInstaller
})
.NonLazy();
Container.Bind<NetworkManager>()
.FromComponentInNewPrefab(networkManagerPrefab)
.AsSingle()
.OnInstantiated<NetworkManager>((ctx, obj) =>
{
obj.name = networkManagerPrefab.name;
})
.NonLazy();
var go = Instantiate(networkManagerPrefab);
go.name = networkManagerPrefab.name;
var networkManager = go.GetComponent<NetworkManager>();
Container.Bind<PlayerComponent>()
.FromComponentInNewPrefab(playerPrefab)
.AsSingle()
.OnInstantiated<PlayerComponent>((ctx, obj) =>
{
obj.name = playerPrefab.name;
})
.NonLazy();
Container.BindInstance(networkManager)
.AsSingle();
var playerGO = Instantiate(playerPrefab);
playerGO.name = playerPrefab.name;
var playerComponent = playerGO.GetComponent<PlayerComponent>();
Container.BindInstance(playerComponent)
.AsSingle();
}
}