diff --git a/DefaultNetworkPrefabs.asset b/DefaultNetworkPrefabs.asset index 219664e..9366ccf 100644 --- a/DefaultNetworkPrefabs.asset +++ b/DefaultNetworkPrefabs.asset @@ -13,4 +13,14 @@ MonoBehaviour: m_Name: DefaultNetworkPrefabs m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkPrefabsList IsDefault: 1 - List: [] + List: + - Override: 0 + Prefab: {fileID: 7059514996416789454, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + - Override: 0 + Prefab: {fileID: 2809934685114486836, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} diff --git a/Editor/CharacterSceneSetupGenerator.cs b/Editor/CharacterSceneSetupGenerator.cs new file mode 100644 index 0000000..67a326a --- /dev/null +++ b/Editor/CharacterSceneSetupGenerator.cs @@ -0,0 +1,133 @@ +#if UNITY_EDITOR +using UnityEditor; +using UnityEditor.SceneManagement; +using UnityEngine; +using UnityEngine.SceneManagement; + +// Project namespaces +using MegaKoop.Steam; // SteamManager, SteamLobbyService +using MegaKoop.Game.Networking; // SteamCoopNetworkManager, SteamP2PTransport, LobbyGameSceneCoordinator + +public static class CharacterSceneSetupGenerator +{ + private const string WizardPrefabPath = "Assets/Game/Hero/Wizard.prefab"; + + [MenuItem("Tools/MegaKoop/Setup Character Scene Objects", priority = 1000)] + public static void SetupCharacterScene() + { + var scene = SceneManager.GetActiveScene(); + if (!scene.IsValid()) + { + EditorUtility.DisplayDialog("Character Scene Setup", "No valid scene is open. Please open your CharacterScene and run again.", "OK"); + return; + } + + Undo.IncrementCurrentGroup(); + int group = Undo.GetCurrentGroup(); + + // 1) Ensure SteamServices root and required components + var servicesRoot = GameObject.Find("SteamServices"); + if (servicesRoot == null) + { + servicesRoot = new GameObject("SteamServices"); + Undo.RegisterCreatedObjectUndo(servicesRoot, "Create SteamServices"); + } + + EnsureComponent(servicesRoot, "Add SteamManager"); + var lobby = EnsureComponent(servicesRoot, "Add SteamLobbyService"); + var coop = EnsureComponent(servicesRoot, "Add SteamCoopNetworkManager"); + EnsureComponent(servicesRoot, "Add SteamP2PTransport"); + var coordinator = EnsureComponent(servicesRoot, "Add LobbyGameSceneCoordinator"); + + // Keep servicesRoot persistent across scenes to match runtime behavior + if (!Application.isPlaying) + { + // Editor-time: mark as DontSaveInBuild is not needed; users expect this object in scene. + // At runtime, code calls DontDestroyOnLoad itself. + } + + // 2) Ensure Wizard template exists in scene root + var wizardInScene = GameObject.Find("Wizard"); + if (wizardInScene == null) + { + var prefab = AssetDatabase.LoadAssetAtPath(WizardPrefabPath); + if (prefab != null) + { + var instantiated = PrefabUtility.InstantiatePrefab(prefab, scene) as GameObject; + if (instantiated != null) + { + Undo.RegisterCreatedObjectUndo(instantiated, "Instantiate Wizard Template"); + instantiated.name = "Wizard"; // Ensure exact name for coordinator lookup + instantiated.transform.SetPositionAndRotation(Vector3.zero, Quaternion.identity); + } + } + else + { + // Fallback: create a simple placeholder + var placeholder = GameObject.CreatePrimitive(PrimitiveType.Capsule); + Undo.RegisterCreatedObjectUndo(placeholder, "Create Wizard Placeholder"); + placeholder.name = "Wizard"; + placeholder.transform.SetPositionAndRotation(Vector3.zero, Quaternion.identity); + // Controller components are optional for template; coordinator will add bridges on clones. + placeholder.AddComponent(); + placeholder.AddComponent(); + } + } + + // 3) Optional: ensure a basic ground so CharacterController can stand + if (GameObject.Find("Ground") == null) + { + var ground = GameObject.CreatePrimitive(PrimitiveType.Plane); + Undo.RegisterCreatedObjectUndo(ground, "Create Ground"); + ground.name = "Ground"; + ground.transform.position = Vector3.zero; + ground.transform.localScale = Vector3.one * 2f; + } + + // 4) Optional: ensure there is at least one light + if (Object.FindObjectOfType() == null) + { + var lightGO = new GameObject("Directional Light"); + Undo.RegisterCreatedObjectUndo(lightGO, "Create Directional Light"); + var light = lightGO.AddComponent(); + light.type = LightType.Directional; + light.intensity = 1.1f; + lightGO.transform.rotation = Quaternion.Euler(50f, -30f, 0f); + } + + // 5) Hint coordinator to use current scene name if it differs + if (coordinator != null) + { + // If you want the coordinator to target this scene specifically, uncomment the next line: + // SetPrivateField(coordinator, "characterSceneName", scene.name); + } + + EditorSceneManager.MarkSceneDirty(scene); + Undo.CollapseUndoOperations(group); + + EditorUtility.DisplayDialog("Character Scene Setup", "Character scene objects have been set up successfully.", "OK"); + } + + private static T EnsureComponent(GameObject go, string undoName) where T : Component + { + var c = go.GetComponent(); + if (c == null) + { + c = Undo.AddComponent(go); + } + return c; + } + + // Example helper if you later want to set private serialized fields via reflection + private static void SetPrivateField(object target, string fieldName, object value) + { + var t = target.GetType(); + var f = t.GetField(fieldName, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); + if (f != null) + { + f.SetValue(target, value); + EditorUtility.SetDirty((Object)target); + } + } +} +#endif diff --git a/Editor/CharacterSceneSetupGenerator.cs.meta b/Editor/CharacterSceneSetupGenerator.cs.meta new file mode 100644 index 0000000..fe924c4 --- /dev/null +++ b/Editor/CharacterSceneSetupGenerator.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 78e4bcab8a4eb484f99e4ef14054c921 \ No newline at end of file diff --git a/Game/Hero/Wizard 2.0.prefab b/Game/Hero/Wizard 2.0.prefab new file mode 100644 index 0000000..a5ce18f --- /dev/null +++ b/Game/Hero/Wizard 2.0.prefab @@ -0,0 +1,2602 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &576256036803649866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2913956209054134680} + m_Layer: 0 + m_Name: Thumb_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2913956209054134680 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576256036803649866} + serializedVersion: 2 + m_LocalRotation: {x: 0.025480643, y: 0.27684274, z: 0.08803956, w: 0.9565343} + m_LocalPosition: {x: 3.514, y: 1.171, z: -4.50554} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4728966219759713253} + m_Father: {fileID: 3961974316403749272} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &789032594493407429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1872817069439969190} + m_Layer: 0 + m_Name: Finger_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1872817069439969190 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 789032594493407429} + serializedVersion: 2 + m_LocalRotation: {x: -0.0024864315, y: -0.043879747, z: 0.056519255, w: 0.9974337} + m_LocalPosition: {x: -9.982526, y: -0.11595894, z: -3.2833402} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7596356472315906986} + m_Father: {fileID: 4846297509921178967} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1019572313603176839 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1662832033118604692} + - component: {fileID: 3515562126238216575} + - component: {fileID: 2531445635941968377} + m_Layer: 0 + m_Name: Item_SwordHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1662832033118604692 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1019572313603176839} + serializedVersion: 2 + m_LocalRotation: {x: 0.48063445, y: -0.518643, z: 0.48063445, w: 0.518643} + m_LocalPosition: {x: 133.11008, y: -13.416325, z: 1.0441e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5929524400924647476} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3515562126238216575 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1019572313603176839} + m_Mesh: {fileID: 4300006, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &2531445635941968377 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1019572313603176839} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1182350864925448993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3961974316403749272} + m_Layer: 0 + m_Name: Hand_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3961974316403749272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182350864925448993} + serializedVersion: 2 + m_LocalRotation: {x: -1.0083177e-16, y: -0.035830766, z: -1.1722682e-15, w: 0.9993579} + m_LocalPosition: {x: 27.11449, y: -2.842171e-14, z: 0.038136087} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8021746408118329368} + - {fileID: 1427403701733164472} + - {fileID: 2913956209054134680} + m_Father: {fileID: 3089300644372059604} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1202648922532631739 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2725978302409994746} + m_Layer: 0 + m_Name: Finger_04 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2725978302409994746 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1202648922532631739} + serializedVersion: 2 + m_LocalRotation: {x: 0.01664637, y: 0.096525334, z: -0.16913006, w: 0.98071444} + m_LocalPosition: {x: 3.003113, y: 0.00011334714, z: 0.00003591099} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3167989656052932389} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1274116618755570229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3014439897621653874} + - component: {fileID: 8924398196557877500} + - component: {fileID: 5847886764025673256} + m_Layer: 0 + m_Name: Item_Pouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3014439897621653874 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1274116618755570229} + serializedVersion: 2 + m_LocalRotation: {x: -0.44777712, y: 0.54726195, z: 0.44777712, w: 0.54726195} + m_LocalPosition: {x: -5.4, y: 2.9, z: -22.8} + m_LocalScale: {x: 1.059878, y: 1.059878, z: 1.059878} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9162359648858877738} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8924398196557877500 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1274116618755570229} + m_Mesh: {fileID: 4300014, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &5847886764025673256 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1274116618755570229} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1385125091330942396 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9202612656219959553} + m_Layer: 0 + m_Name: Thumb_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9202612656219959553 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1385125091330942396} + serializedVersion: 2 + m_LocalRotation: {x: -0.036403257, y: -0.15203467, z: -0.22999534, w: 0.9605532} + m_LocalPosition: {x: -5.66557, y: 2.91156e-14, z: 3.996803e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5221710799802817105} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1428017778664865388 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1094700646690520296} + - component: {fileID: 3754905157485474601} + - component: {fileID: 3116768394912584299} + m_Layer: 0 + m_Name: Item_WarriorSholderArmor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1094700646690520296 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1428017778664865388} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.1317434, y: 139.27638, z: 4.6918077} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5519651045468370504} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3754905157485474601 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1428017778664865388} + m_Mesh: {fileID: 4300002, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &3116768394912584299 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1428017778664865388} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1515312837799304960 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7410095008615836805} + m_Layer: 0 + m_Name: IndexFinger_04 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7410095008615836805 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515312837799304960} + serializedVersion: 2 + m_LocalRotation: {x: -0.0045196484, y: -0.028039929, z: -0.15906802, w: 0.986859} + m_LocalPosition: {x: -3.779794, y: -1.9284054e-14, z: -9.992007e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3752022276200074397} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1634037498545201921 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3042213512511893744} + m_Layer: 0 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3042213512511893744 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1634037498545201921} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9162359648858877738} + m_Father: {fileID: 7143292874099811358} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1643163540741452360 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5774101672734090046} + m_Layer: 0 + m_Name: IndexFinger_04 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5774101672734090046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1643163540741452360} + serializedVersion: 2 + m_LocalRotation: {x: -0.0045196484, y: -0.028039929, z: -0.15906802, w: 0.986859} + m_LocalPosition: {x: 3.7793326, y: -0.0005265709, z: -0.000015507381} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 707353930167667673} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1671830087436310034 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3870601707126433755} + m_Layer: 0 + m_Name: UpperLeg_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3870601707126433755 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1671830087436310034} + serializedVersion: 2 + m_LocalRotation: {x: -0.7058717, y: 0.04177525, z: -0.064159356, w: 0.70419} + m_LocalPosition: {x: 4.1157784, y: -2.692075, z: 9.89671} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 79161131061749542} + m_Father: {fileID: 9162359648858877738} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1795842370039056598 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 45988640167061509} + m_Layer: 0 + m_Name: IndexFinger_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &45988640167061509 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795842370039056598} + serializedVersion: 2 + m_LocalRotation: {x: -0.001153992, y: -0.010741636, z: 0.09832994, w: 0.99509525} + m_LocalPosition: {x: 4.093591, y: 0.00009698693, z: -0.000004956748} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 707353930167667673} + m_Father: {fileID: 1427403701733164472} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2497014626351416404 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5929524400924647476} + m_Layer: 0 + m_Name: Spine_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5929524400924647476 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2497014626351416404} + serializedVersion: 2 + m_LocalRotation: {x: 0.9938103, y: -0.11109032, z: -3.483493e-17, w: -6.5507636e-17} + m_LocalPosition: {x: -17.903725, y: 2.220446e-15, z: 7.5097255e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8360539073910397193} + - {fileID: 5519651045468370504} + - {fileID: 5571115941540584338} + - {fileID: 1662832033118604692} + - {fileID: 4904925833096421908} + m_Father: {fileID: 5163349350935035190} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2809934685114486836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7143292874099811358} + - component: {fileID: 9099213046038254594} + - component: {fileID: 3745971427172201439} + - component: {fileID: 3919077998180469670} + - component: {fileID: 710593002191720509} + - component: {fileID: 4552761941062832421} + - component: {fileID: 5621149643148927444} + - component: {fileID: 3969508485497161681} + - component: {fileID: 8504312886437824150} + - component: {fileID: 3262185422700989869} + - component: {fileID: 8235037133905039757} + - component: {fileID: 7469640283978802878} + - component: {fileID: 1813583201016405249} + - component: {fileID: 3442404066554451922} + m_Layer: 0 + m_Name: Wizard 2.0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7143292874099811358 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 6.9005165, y: 0.00000023841858, z: -2.1558924} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6707832248248563092} + - {fileID: 7867163541730967638} + - {fileID: 3042213512511893744} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &9099213046038254594 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} + m_Controller: {fileID: 0} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!143 &3745971427172201439 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.99, z: 0} +--- !u!114 &3919077998180469670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9309e1c5110afc714b0b9b9d10323469, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.ThirdPersonCharacterController + moveSpeed: 20 + rotationSharpness: 15 + airControlResponsiveness: 60 + jumpHeight: 1.6 + gravity: -20 + groundedGravity: -5 + cameraTransform: {fileID: 6707832248248563092} +--- !u!114 &710593002191720509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 920077a2cfc4cde58a4ceeea4b96ebe9, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Combat.Health + maxHealth: 100 + team: 1 + ignoreFriendlyFire: 1 + destroyOnDeath: 1 + onHealthChanged: + m_PersistentCalls: + m_Calls: [] + onDeath: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4552761941062832421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6e77e83dcc282364afb3428637c723c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.WeaponSystem.WeaponController + ownerTeam: 1 + weaponSocket: {fileID: 3961974316403749272} + acquisitionRadius: 30 + retargetInterval: 0.25 + targetMask: + serializedVersion: 2 + m_Bits: 256 + lineOfSightMask: + serializedVersion: 2 + m_Bits: 337 + requireLineOfSight: 1 + startingWeapons: + - {fileID: 11400000, guid: 912de7c15ecf9d38d9be364bc0ac0f70, type: 2} + autoFire: 1 +--- !u!136 &5621149643148927444 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Height: 2.0070767 + m_Direction: 1 + m_Center: {x: 0, y: 0.9898484, z: 0} +--- !u!114 &3969508485497161681 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject + GlobalObjectIdHash: 3448940703 + InScenePlacedSourceGlobalObjectIdHash: 913186323 + DeferredDespawnTick: 0 + Ownership: 1 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 1 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 0 + SpawnWithObservers: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 + SyncOwnerTransformWhenParented: 1 + AllowOwnerToParent: 0 +--- !u!114 &8504312886437824150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.Components.NetworkTransform + ShowTopMostFoldoutHeaderGroup: 1 + NetworkTransformExpanded: 0 + AutoOwnerAuthorityTickOffset: 1 + PositionInterpolationType: 0 + RotationInterpolationType: 0 + ScaleInterpolationType: 0 + PositionLerpSmoothing: 1 + PositionMaxInterpolationTime: 0.1 + RotationLerpSmoothing: 1 + RotationMaxInterpolationTime: 0.1 + ScaleLerpSmoothing: 1 + ScaleMaxInterpolationTime: 0.1 + AuthorityMode: 1 + TickSyncChildren: 0 + UseUnreliableDeltas: 0 + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + UseQuaternionSynchronization: 0 + UseQuaternionCompression: 0 + UseHalfFloatPrecision: 0 + InLocalSpace: 0 + SwitchTransformSpaceWhenParented: 0 + Interpolate: 1 + SlerpPosition: 0 +--- !u!114 &3262185422700989869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e6f99ca4475ead269829ba672213d5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.NetworkIdentity + networkId: 0 + assignOnAwake: 1 +--- !u!114 &8235037133905039757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a010df74dca8515c3af51a9fc598af17, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.SteamCharacterNetworkBridge + characterController: {fileID: 3919077998180469670} + identity: {fileID: 3262185422700989869} + rootTransform: {fileID: 3042213512511893744} + networkInputProxy: {fileID: 3442404066554451922} + transformBroadcastInterval: 0.05 + remoteLerpSpeed: 12 + ownerSteamId: 0 + autoAssignOwnerToLocalPlayer: 1 +--- !u!114 &7469640283978802878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dad61aa7b24bddb6b9add5a461263779, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.SteamWeaponNetworkBridge + weaponController: {fileID: 4552761941062832421} + identity: {fileID: 3262185422700989869} + disableLocalFiringWhenClient: 1 +--- !u!114 &1813583201016405249 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 07c0ee7fbf4c1edaf9992cf139839928, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.SteamLocalInputSender + characterNetwork: {fileID: 8235037133905039757} + sendInterval: 0.05 +--- !u!114 &3442404066554451922 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2809934685114486836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e3118c9c432a7acbd824645749251552, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.NetworkCharacterInputProxy +--- !u!1 &2999616957953547817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8186379724085828279} + m_Layer: 0 + m_Name: Finger_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8186379724085828279 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2999616957953547817} + serializedVersion: 2 + m_LocalRotation: {x: 0.0026372706, y: 0.019492026, z: 0.02126933, w: 0.99958026} + m_LocalPosition: {x: 4.2488093, y: 0.000026534415, z: -0.0000019789932} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3167989656052932389} + m_Father: {fileID: 8021746408118329368} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3018039022030947979 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1427403701733164472} + m_Layer: 0 + m_Name: IndexFinger_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1427403701733164472 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3018039022030947979} + serializedVersion: 2 + m_LocalRotation: {x: 0.00028049533, y: 0.065794446, z: 0.004253931, w: 0.99782413} + m_LocalPosition: {x: 10.3966, y: -0.399, z: -2.67265} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 45988640167061509} + m_Father: {fileID: 3961974316403749272} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3031097762268691056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3970182463572897512} + m_Layer: 0 + m_Name: UpperLeg_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3970182463572897512 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3031097762268691056} + serializedVersion: 2 + m_LocalRotation: {x: 0.04177524, y: 0.7058717, z: -0.70419, w: -0.06415935} + m_LocalPosition: {x: 4.1157684, y: -2.6920698, z: -9.896706} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5648725478022685422} + m_Father: {fileID: 9162359648858877738} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3064172863650723649 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596356472315906986} + m_Layer: 0 + m_Name: Finger_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596356472315906986 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3064172863650723649} + serializedVersion: 2 + m_LocalRotation: {x: 0.0026372706, y: 0.019492026, z: 0.02126933, w: 0.99958026} + m_LocalPosition: {x: -4.2488146, y: -1.0581813e-15, z: -8.3266727e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4301023682745859783} + m_Father: {fileID: 1872817069439969190} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3132578084657318916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3706030369287612680} + m_Layer: 0 + m_Name: Toes_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3706030369287612680 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3132578084657318916} + serializedVersion: 2 + m_LocalRotation: {x: -2.7376528e-13, y: -0.7071068, z: -2.7376528e-13, w: 0.7071068} + m_LocalPosition: {x: 7.29575, y: 2.6645353e-15, z: 1.7763568e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 311051834617022055} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3446259407324711458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5355352236764825810} + m_Layer: 0 + m_Name: IndexFinger_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5355352236764825810 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3446259407324711458} + serializedVersion: 2 + m_LocalRotation: {x: 0.00028049533, y: 0.065794446, z: 0.004253931, w: 0.99782413} + m_LocalPosition: {x: -10.396562, y: 0.39871514, z: 2.6726496} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3416093544923777885} + m_Father: {fileID: 4846297509921178967} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3559766263312039465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3752022276200074397} + m_Layer: 0 + m_Name: IndexFinger_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3752022276200074397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3559766263312039465} + serializedVersion: 2 + m_LocalRotation: {x: -0.006912195, y: -0.025717413, z: 0.057002407, w: 0.9980188} + m_LocalPosition: {x: -3.791188, y: -2.1461999e-14, z: -3.8302694e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7410095008615836805} + m_Father: {fileID: 3416093544923777885} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3656758960781587607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7340255739672984139} + m_Layer: 0 + m_Name: Ball_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7340255739672984139 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3656758960781587607} + serializedVersion: 2 + m_LocalRotation: {x: -8.012619e-16, y: 1.2480334e-15, z: -0.2700158, w: 0.96285594} + m_LocalPosition: {x: -11.284036, y: -1.15463195e-14, z: -2.113351e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5767155881561410911} + m_Father: {fileID: 778346365315302528} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3816511793608278953 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4904925833096421908} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4904925833096421908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3816511793608278953} + serializedVersion: 2 + m_LocalRotation: {x: 7.053966e-17, y: 1.3040385e-15, z: 0.04173335, w: 0.9991288} + m_LocalPosition: {x: -11.188968, y: -6.661338e-16, z: -4.624413e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 852694279969892930} + m_Father: {fileID: 5929524400924647476} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3968154392219874488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5519651045468370504} + m_Layer: 0 + m_Name: Clavicle_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5519651045468370504 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3968154392219874488} + serializedVersion: 2 + m_LocalRotation: {x: 0.6324858, y: 0.57854766, z: 0.37547132, w: -0.3525135} + m_LocalPosition: {x: -5.801534, y: -4.191418, z: 7.44715} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1094700646690520296} + - {fileID: 8455762292318473547} + m_Father: {fileID: 5929524400924647476} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4187017795671831832 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5767155881561410911} + m_Layer: 0 + m_Name: Toes_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5767155881561410911 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4187017795671831832} + serializedVersion: 2 + m_LocalRotation: {x: 1.9013454e-14, y: -0.7071068, z: 1.9013454e-14, w: 0.7071068} + m_LocalPosition: {x: -7.2957563, y: 2.040087e-16, z: 3.4087126e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7340255739672984139} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4348333551349756594 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9162359648858877738} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9162359648858877738 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4348333551349756594} + serializedVersion: 2 + m_LocalRotation: {x: 0.46113664, y: -0.5360532, z: -0.46113664, w: 0.5360532} + m_LocalPosition: {x: -0, y: 87.62761, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3014439897621653874} + - {fileID: 138056341646052257} + - {fileID: 3870601707126433755} + - {fileID: 3970182463572897512} + m_Father: {fileID: 3042213512511893744} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4916612901961221723 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4301023682745859783} + m_Layer: 0 + m_Name: Finger_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4301023682745859783 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4916612901961221723} + serializedVersion: 2 + m_LocalRotation: {x: -0.018149227, y: -0.07147895, z: 0.09251083, w: 0.9929769} + m_LocalPosition: {x: -3.5133274, y: -3.00324e-14, z: 3.7747583e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5112063982553727172} + m_Father: {fileID: 7596356472315906986} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4970785048225887871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5648725478022685422} + m_Layer: 0 + m_Name: LowerLeg_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5648725478022685422 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4970785048225887871} + serializedVersion: 2 + m_LocalRotation: {x: 0.64437777, y: 0.024462728, z: -0.00473771, w: 0.7643013} + m_LocalPosition: {x: -39.930904, y: -6.8833828e-15, z: -5.3342145e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 778346365315302528} + m_Father: {fileID: 3970182463572897512} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5031074868684331128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5571115941540584338} + - component: {fileID: 4624681918021270294} + - component: {fileID: 7200826748741937250} + m_Layer: 0 + m_Name: Item_Sword + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &5571115941540584338 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5031074868684331128} + serializedVersion: 2 + m_LocalRotation: {x: 0.48063445, y: -0.518643, z: 0.48063445, w: 0.518643} + m_LocalPosition: {x: 5.668346, y: 12.3357935, z: -0.34623197} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5929524400924647476} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4624681918021270294 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5031074868684331128} + m_Mesh: {fileID: 4300004, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &7200826748741937250 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5031074868684331128} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &5037805277662566329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 778346365315302528} + m_Layer: 0 + m_Name: Ankle_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &778346365315302528 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5037805277662566329} + serializedVersion: 2 + m_LocalRotation: {x: 0.85767007, y: 0.507213, z: 0.039752707, w: -0.0745436} + m_LocalPosition: {x: -37.712353, y: -7.771561e-15, z: 1.6819879e-14} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7340255739672984139} + m_Father: {fileID: 5648725478022685422} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5087882427446518516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4728966219759713253} + m_Layer: 0 + m_Name: Thumb_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4728966219759713253 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5087882427446518516} + serializedVersion: 2 + m_LocalRotation: {x: -0.039942026, y: -0.1178403, z: 0.14163578, w: 0.98206806} + m_LocalPosition: {x: 6.370146, y: -0.0007811825, z: 0.000043638116} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4778247129888043917} + m_Father: {fileID: 2913956209054134680} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5131457708066554987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 79161131061749542} + m_Layer: 0 + m_Name: LowerLeg_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &79161131061749542 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5131457708066554987} + serializedVersion: 2 + m_LocalRotation: {x: 0.64437777, y: 0.024462728, z: -0.00473771, w: 0.7643013} + m_LocalPosition: {x: 39.93092, y: -0.000038050264, z: 1.4654944e-14} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6062506933260556634} + m_Father: {fileID: 3870601707126433755} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5196919964552936955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6707832248248563092} + - component: {fileID: 5815524579587105987} + - component: {fileID: 7614079142547133271} + m_Layer: 0 + m_Name: MainCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6707832248248563092 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5196919964552936955} + serializedVersion: 2 + m_LocalRotation: {x: 0.24676749, y: -0, z: -0, w: 0.9690748} + m_LocalPosition: {x: 0, y: 3.939, z: -5.983} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7143292874099811358} + m_LocalEulerAnglesHint: {x: 28.573, y: 0, z: 0} +--- !u!20 &5815524579587105987 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5196919964552936955} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!114 &7614079142547133271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5196919964552936955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e3ecae0254451c2888cfe94f7a8e825d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.ThirdPersonCamera + target: {fileID: 7143292874099811358} + focusOffset: {x: 0, y: 1.6, z: 0} + mouseSensitivity: 500 + minPitch: -35 + maxPitch: 75 + rotationSmoothTime: 0.01 + distance: 5 + minDistance: 2 + maxDistance: 8 + zoomSpeed: 4 + distanceSmoothTime: 0.1 + obstructionRadius: 1 + obstructionMask: + serializedVersion: 2 + m_Bits: 55 + obstructionBuffer: 0.1 + lockCursor: 1 +--- !u!1 &5197321016606107271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 707353930167667673} + m_Layer: 0 + m_Name: IndexFinger_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &707353930167667673 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5197321016606107271} + serializedVersion: 2 + m_LocalRotation: {x: -0.006912195, y: -0.025717413, z: 0.057002407, w: 0.9980188} + m_LocalPosition: {x: 3.7912128, y: 0.00032499834, z: -0.000004545292} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5774101672734090046} + m_Father: {fileID: 45988640167061509} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5253087018794005873 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 852694279969892930} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &852694279969892930 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5253087018794005873} + serializedVersion: 2 + m_LocalRotation: {x: 0.458571, y: -0.5382496, z: 0.458571, w: 0.5382496} + m_LocalPosition: {x: -12.164435, y: -1.5099033e-14, z: -5.059176e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7111844672037741026} + - {fileID: 5036370710834327125} + m_Father: {fileID: 4904925833096421908} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5377122535601656824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3550325336862182844} + m_Layer: 0 + m_Name: Thumb_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3550325336862182844 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5377122535601656824} + serializedVersion: 2 + m_LocalRotation: {x: 0.025480643, y: 0.27684274, z: 0.08803956, w: 0.9565343} + m_LocalPosition: {x: -3.5140479, y: -1.1706916, z: 4.5055394} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5221710799802817105} + m_Father: {fileID: 4846297509921178967} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5750969835415286289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8360539073910397193} + m_Layer: 0 + m_Name: Clavicle_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8360539073910397193 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5750969835415286289} + serializedVersion: 2 + m_LocalRotation: {x: -0.57854766, y: 0.6324858, z: -0.3525135, w: -0.37547135} + m_LocalPosition: {x: -5.8011727, y: -4.1914477, z: -7.447154} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1468272524056470016} + m_Father: {fileID: 5929524400924647476} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6194656019991628344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8455762292318473547} + m_Layer: 0 + m_Name: Shoulder_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8455762292318473547 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6194656019991628344} + serializedVersion: 2 + m_LocalRotation: {x: 0.0113281235, y: 0.23685996, z: 0.03380652, w: 0.9708894} + m_LocalPosition: {x: 13.197861, y: 0.00064733915, z: 0.0000047353424} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3089300644372059604} + m_Father: {fileID: 5519651045468370504} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6614242626560735855 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4778247129888043917} + m_Layer: 0 + m_Name: Thumb_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4778247129888043917 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6614242626560735855} + serializedVersion: 2 + m_LocalRotation: {x: -0.036403257, y: -0.15203467, z: -0.22999534, w: 0.9605532} + m_LocalPosition: {x: 5.6655083, y: 0.000009835502, z: -0.000020279542} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4728966219759713253} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6913610489633465691 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 578641565066235464} + - component: {fileID: 4976805110108304037} + - component: {fileID: 1554715907673278421} + m_Layer: 0 + m_Name: Item_WarriorSholderArmor 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &578641565066235464 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6913610489633465691} + serializedVersion: 2 + m_LocalRotation: {x: 0.00020466525, y: 0.0049530016, z: -0.04128572, w: 0.9991351} + m_LocalPosition: {x: -4.3887663, y: 4.539162, z: -1.2525285} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1468272524056470016} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4976805110108304037 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6913610489633465691} + m_Mesh: {fileID: 4300000, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &1554715907673278421 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6913610489633465691} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6980209743073574563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7867163541730967638} + - component: {fileID: 3707152843111659765} + m_Layer: 0 + m_Name: Character_Male_Wizard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7867163541730967638 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6980209743073574563} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7143292874099811358} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &3707152843111659765 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6980209743073574563} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300046, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} + m_Bones: + - {fileID: 3042213512511893744} + - {fileID: 9162359648858877738} + - {fileID: 138056341646052257} + - {fileID: 5163349350935035190} + - {fileID: 5929524400924647476} + - {fileID: 4904925833096421908} + - {fileID: 852694279969892930} + - {fileID: 5036370710834327125} + - {fileID: 7111844672037741026} + - {fileID: 8360539073910397193} + - {fileID: 1468272524056470016} + - {fileID: 7924619695481094717} + - {fileID: 4846297509921178967} + - {fileID: 3550325336862182844} + - {fileID: 5221710799802817105} + - {fileID: 9202612656219959553} + - {fileID: 5355352236764825810} + - {fileID: 3416093544923777885} + - {fileID: 3752022276200074397} + - {fileID: 7410095008615836805} + - {fileID: 1872817069439969190} + - {fileID: 7596356472315906986} + - {fileID: 4301023682745859783} + - {fileID: 5112063982553727172} + - {fileID: 5519651045468370504} + - {fileID: 8455762292318473547} + - {fileID: 3089300644372059604} + - {fileID: 3961974316403749272} + - {fileID: 2913956209054134680} + - {fileID: 4728966219759713253} + - {fileID: 4778247129888043917} + - {fileID: 1427403701733164472} + - {fileID: 45988640167061509} + - {fileID: 707353930167667673} + - {fileID: 5774101672734090046} + - {fileID: 8021746408118329368} + - {fileID: 8186379724085828279} + - {fileID: 3167989656052932389} + - {fileID: 2725978302409994746} + - {fileID: 3970182463572897512} + - {fileID: 5648725478022685422} + - {fileID: 778346365315302528} + - {fileID: 7340255739672984139} + - {fileID: 5767155881561410911} + - {fileID: 3870601707126433755} + - {fileID: 79161131061749542} + - {fileID: 6062506933260556634} + - {fileID: 311051834617022055} + - {fileID: 3706030369287612680} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 3042213512511893744} + m_AABB: + m_Center: {x: -0.0000038146973, y: 96.16845, z: -4.6655455} + m_Extent: {x: 102.541534, y: 108.76028, z: 31.651173} + m_DirtyAABB: 0 +--- !u!1 &6984457941032088117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7924619695481094717} + m_Layer: 0 + m_Name: Elbow_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7924619695481094717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6984457941032088117} + serializedVersion: 2 + m_LocalRotation: {x: 0.0016838326, y: 0.040749595, z: -0.041251875, w: 0.99831605} + m_LocalPosition: {x: -33.947403, y: -0.14490709, z: -0.14362642} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4846297509921178967} + m_Father: {fileID: 1468272524056470016} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7453446705491984011 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4846297509921178967} + m_Layer: 0 + m_Name: Hand_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4846297509921178967 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7453446705491984011} + serializedVersion: 2 + m_LocalRotation: {x: -2.4156162e-17, y: -0.035830766, z: 1.6679253e-15, w: 0.9993579} + m_LocalPosition: {x: -27.114529, y: 0, z: -0.038136426} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1872817069439969190} + - {fileID: 5355352236764825810} + - {fileID: 3550325336862182844} + m_Father: {fileID: 7924619695481094717} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7624669687914408881 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5163349350935035190} + m_Layer: 0 + m_Name: Spine_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5163349350935035190 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7624669687914408881} + serializedVersion: 2 + m_LocalRotation: {x: 0.99518615, y: -0.098002784, z: -6.0366487e-16, w: -1.2097554e-16} + m_LocalPosition: {x: -18.151169, y: 1.5543122e-15, z: -7.1010728e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5929524400924647476} + m_Father: {fileID: 138056341646052257} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7697664481072695167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 311051834617022055} + m_Layer: 0 + m_Name: Ball_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &311051834617022055 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7697664481072695167} + serializedVersion: 2 + m_LocalRotation: {x: 3.4349202e-15, y: 5.149188e-15, z: -0.2700158, w: 0.96285594} + m_LocalPosition: {x: 11.284033, y: -0.0000016849572, z: -7.1054274e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3706030369287612680} + m_Father: {fileID: 6062506933260556634} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7745505197729153768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6062506933260556634} + m_Layer: 0 + m_Name: Ankle_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6062506933260556634 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7745505197729153768} + serializedVersion: 2 + m_LocalRotation: {x: 0.85767007, y: 0.507213, z: 0.039752707, w: -0.0745436} + m_LocalPosition: {x: 37.712326, y: 0.000013169495, z: -0.00008411038} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 311051834617022055} + m_Father: {fileID: 79161131061749542} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7794364516844300309 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1468272524056470016} + m_Layer: 0 + m_Name: Shoulder_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1468272524056470016 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7794364516844300309} + serializedVersion: 2 + m_LocalRotation: {x: 0.0113281235, y: 0.23685996, z: 0.03380652, w: 0.9708894} + m_LocalPosition: {x: -13.197872, y: -4.8572257e-17, z: -2.6645353e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7924619695481094717} + - {fileID: 578641565066235464} + m_Father: {fileID: 8360539073910397193} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7894839418391479238 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5221710799802817105} + m_Layer: 0 + m_Name: Thumb_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5221710799802817105 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7894839418391479238} + serializedVersion: 2 + m_LocalRotation: {x: -0.039942026, y: -0.1178403, z: 0.14163578, w: 0.98206806} + m_LocalPosition: {x: -6.370214, y: -6.1062266e-16, z: 4.440892e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9202612656219959553} + m_Father: {fileID: 3550325336862182844} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7972846073424440165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8021746408118329368} + m_Layer: 0 + m_Name: Finger_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8021746408118329368 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7972846073424440165} + serializedVersion: 2 + m_LocalRotation: {x: -0.0024864315, y: -0.043879747, z: 0.056519255, w: 0.9974337} + m_LocalPosition: {x: 9.9825, y: 0.116, z: 3.28334} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8186379724085828279} + m_Father: {fileID: 3961974316403749272} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8170437577469192814 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3089300644372059604} + m_Layer: 0 + m_Name: Elbow_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3089300644372059604 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8170437577469192814} + serializedVersion: 2 + m_LocalRotation: {x: 0.0016838326, y: 0.040749595, z: -0.041251875, w: 0.99831605} + m_LocalPosition: {x: 33.94746, y: 0.14475864, z: 0.14362636} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3961974316403749272} + m_Father: {fileID: 8455762292318473547} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8229486608492667124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5112063982553727172} + m_Layer: 0 + m_Name: Finger_04 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5112063982553727172 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8229486608492667124} + serializedVersion: 2 + m_LocalRotation: {x: 0.01664637, y: 0.096525334, z: -0.16913006, w: 0.98071444} + m_LocalPosition: {x: -3.0032394, y: 2.126771e-14, z: -1.110223e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4301023682745859783} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8319729565273333218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5036370710834327125} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5036370710834327125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8319729565273333218} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.0510384e-29, y: 9.447606, z: 12.272215} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 852694279969892930} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8359723670450700762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3416093544923777885} + m_Layer: 0 + m_Name: IndexFinger_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3416093544923777885 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8359723670450700762} + serializedVersion: 2 + m_LocalRotation: {x: -0.001153992, y: -0.010741636, z: 0.09832994, w: 0.99509525} + m_LocalPosition: {x: -4.0936317, y: -1.5276409e-16, z: 2.4424907e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3752022276200074397} + m_Father: {fileID: 5355352236764825810} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8478610416294274442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3167989656052932389} + m_Layer: 0 + m_Name: Finger_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3167989656052932389 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8478610416294274442} + serializedVersion: 2 + m_LocalRotation: {x: -0.018149227, y: -0.07147895, z: 0.09251083, w: 0.9929769} + m_LocalPosition: {x: 3.5133245, y: -0.00001997848, z: 0.0000014853608} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2725978302409994746} + m_Father: {fileID: 8186379724085828279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8552746019639559082 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7111844672037741026} + m_Layer: 0 + m_Name: Eyebrows + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7111844672037741026 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8552746019639559082} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.524355e-29, y: 12.76692, z: 12.272215} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 852694279969892930} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9024884980589942201 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 138056341646052257} + m_Layer: 0 + m_Name: Spine_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &138056341646052257 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9024884980589942201} + serializedVersion: 2 + m_LocalRotation: {x: 0.9950197, y: -0.09967895, z: 1.3224718e-15, w: 7.094358e-17} + m_LocalPosition: {x: -10.393265, y: 1.3322676e-15, z: 4.6155367e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5163349350935035190} + m_Father: {fileID: 9162359648858877738} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Game/Hero/Wizard 2.0.prefab.meta b/Game/Hero/Wizard 2.0.prefab.meta new file mode 100644 index 0000000..adab180 --- /dev/null +++ b/Game/Hero/Wizard 2.0.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ae082cf2d3a36684fb23d8ec0e643150 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero/Wizard.prefab b/Game/Hero/Wizard.prefab index 9076459..94415e1 100644 --- a/Game/Hero/Wizard.prefab +++ b/Game/Hero/Wizard.prefab @@ -1857,6 +1857,8 @@ GameObject: - component: {fileID: -6761485100369211516} - component: {fileID: -2990689074187600234} - component: {fileID: 7618815643042096284} + - component: {fileID: 2662658783078050447} + - component: {fileID: 2417536914360261273} m_Layer: 0 m_Name: Wizard m_TagString: Untagged @@ -2019,6 +2021,77 @@ CapsuleCollider: m_Height: 2.0070767 m_Direction: 1 m_Center: {x: 0, y: 0.9898484, z: 0} +--- !u!114 &2662658783078050447 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject + GlobalObjectIdHash: 913186323 + InScenePlacedSourceGlobalObjectIdHash: 0 + DeferredDespawnTick: 0 + Ownership: 1 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 1 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + SpawnWithObservers: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 + SyncOwnerTransformWhenParented: 1 + AllowOwnerToParent: 0 +--- !u!114 &2417536914360261273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.Components.NetworkTransform + ShowTopMostFoldoutHeaderGroup: 1 + NetworkTransformExpanded: 0 + AutoOwnerAuthorityTickOffset: 1 + PositionInterpolationType: 0 + RotationInterpolationType: 0 + ScaleInterpolationType: 0 + PositionLerpSmoothing: 1 + PositionMaxInterpolationTime: 0.1 + RotationLerpSmoothing: 1 + RotationMaxInterpolationTime: 0.1 + ScaleLerpSmoothing: 1 + ScaleMaxInterpolationTime: 0.1 + AuthorityMode: 1 + TickSyncChildren: 0 + UseUnreliableDeltas: 0 + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + UseQuaternionSynchronization: 0 + UseQuaternionCompression: 0 + UseHalfFloatPrecision: 0 + InLocalSpace: 0 + SwitchTransformSpaceWhenParented: 0 + Interpolate: 1 + SlerpPosition: 0 --- !u!1 &7094911519708027617 GameObject: m_ObjectHideFlags: 0 diff --git a/Game/Scripts/Networking/LobbyGameSceneCoordinator.cs b/Game/Scripts/Networking/LobbyGameSceneCoordinator.cs index adc972c..a2fa02d 100644 --- a/Game/Scripts/Networking/LobbyGameSceneCoordinator.cs +++ b/Game/Scripts/Networking/LobbyGameSceneCoordinator.cs @@ -17,6 +17,8 @@ namespace MegaKoop.Game.Networking [DefaultExecutionOrder(-500)] public class LobbyGameSceneCoordinator : MonoBehaviour { + private static LobbyGameSceneCoordinator Instance; + [SerializeField] private string characterSceneName = "CharacterScene"; [SerializeField] private float spawnRadius = 3f; [SerializeField] private float minimumSpawnSpacing = 2.5f; @@ -28,6 +30,14 @@ namespace MegaKoop.Game.Networking private void Awake() { + // Singleton to avoid double spawners (e.g., one from DontDestroyOnLoad and one from scene contents) + if (Instance != null && Instance != this) + { + // Another coordinator already exists and persists; remove this duplicate. + Destroy(gameObject); + return; + } + Instance = this; DontDestroyOnLoad(gameObject); SceneManager.sceneLoaded += HandleSceneLoaded; } @@ -58,7 +68,12 @@ namespace MegaKoop.Game.Networking } else { - // Already in the target scene (e.g., during hot reload). + // Already in the target scene (e.g., during hot reload). Avoid double-spawn. + if (hasSpawned) + { + Debug.Log("[LobbyGameSceneCoordinator] BeginGame called but players already spawned; ignoring."); + return; + } loadPending = false; hasSpawned = false; SpawnPlayersInScene(SceneManager.GetActiveScene()); @@ -131,11 +146,13 @@ namespace MegaKoop.Game.Networking hasSpawned = true; + // Proactively remove any previously spawned character clones (e.g., from a duplicate coordinator) + DespawnExistingClones(scene, template); + Vector3 basePosition = template.transform.position; Quaternion baseRotation = template.transform.rotation; Transform parent = template.transform.parent; - // Hide template so only spawned copies are visible. template.SetActive(false); int total = Mathf.Max(1, pendingPlayers.Count); @@ -155,6 +172,28 @@ namespace MegaKoop.Game.Networking } } + private static void DespawnExistingClones(Scene scene, GameObject template) + { + // Destroy any GameObjects in the scene that look like spawned player avatars, excluding the template hierarchy. + foreach (var root in scene.GetRootGameObjects()) + { + // Skip the template root itself + if (root == template) continue; + + // Heuristic: if it has a SteamCharacterNetworkBridge or ThirdPersonCharacterController, treat it as a character clone + var bridge = root.GetComponentInChildren(true); + var tpc = root.GetComponentInChildren(true); + if (bridge != null || tpc != null) + { + // Avoid deleting the template if nested under a different root (shouldn't happen) + if (!template.transform.IsChildOf(root.transform) && !root.transform.IsChildOf(template.transform)) + { + UnityEngine.Object.Destroy(root); + } + } + } + } + private static GameObject FindWizardTemplate(Scene scene) { foreach (var root in scene.GetRootGameObjects()) diff --git a/Game/Scripts/Networking/SteamP2PTransport.cs b/Game/Scripts/Networking/SteamP2PTransport.cs index b321a36..f7e0866 100644 --- a/Game/Scripts/Networking/SteamP2PTransport.cs +++ b/Game/Scripts/Networking/SteamP2PTransport.cs @@ -19,7 +19,11 @@ namespace MegaKoop.Game.Networking private void Update() { +#if STEAMWORKSNET + if (!MegaKoop.Steam.SteamManager.Initialized) +#else if (!SteamBootstrap.IsInitialized) +#endif { return; } @@ -34,7 +38,11 @@ namespace MegaKoop.Game.Networking public void Send(CSteamID recipient, NetworkMessageType type, byte[] payload, EP2PSend sendType = EP2PSend.k_EP2PSendReliable) { +#if STEAMWORKSNET + if (!MegaKoop.Steam.SteamManager.Initialized) +#else if (!SteamBootstrap.IsInitialized) +#endif { return; } diff --git a/Scenes/CharacterScene.unity b/Scenes/CharacterScene.unity index b82dda2..3c089f7 100644 --- a/Scenes/CharacterScene.unity +++ b/Scenes/CharacterScene.unity @@ -499,63 +499,109 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: b5051c49d05768c73a8c42e1967fe4b2, type: 3} ---- !u!1001 &1563379673 -PrefabInstance: +--- !u!1 &1706180857 +GameObject: m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1706180863} + - component: {fileID: 1706180862} + - component: {fileID: 1706180861} + - component: {fileID: 1706180860} + - component: {fileID: 1706180859} + - component: {fileID: 1706180858} + m_Layer: 0 + m_Name: SteamServices + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1706180858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1706180857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 46f2c531c179d29e39aa831ff5290c20, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.LobbyGameSceneCoordinator + characterSceneName: CharacterScene + spawnRadius: 3 + minimumSpawnSpacing: 2.5 +--- !u!114 &1706180859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1706180857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c3923950963f6f6a98a81fda48267e6e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.SteamP2PTransport + defaultSendType: 2 + listenChannel: 0 +--- !u!114 &1706180860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1706180857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83320aed3c99a87b692932447a34631e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.SteamCoopNetworkManager + lobbyManager: {fileID: 0} + p2pTransport: {fileID: 0} +--- !u!114 &1706180861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1706180857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4845f8cb316c7f740b1c39a4a21e4174, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Steam.SteamLobbyService +--- !u!114 &1706180862 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1706180857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c571869ecd8ac364d8c6fc0c27a36a4b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Steam.SteamManager +--- !u!4 &1706180863 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1706180857} serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalPosition.x - value: 6.9005165 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalPosition.y - value: 0.00000023841858 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalPosition.z - value: -2.1558924 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1117541129888199087, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7059514996416789454, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} - propertyPath: m_Name - value: Wizard - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: fe75fe22781f92b369675fdfc9657f7d, type: 3} + 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!1001 &1770640151 PrefabInstance: m_ObjectHideFlags: 0 @@ -855,6 +901,75 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &8888013435869854006 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2809934685114486836, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_Name + value: Wizard + objectReference: {fileID: 0} + - target: {fileID: 2809934685114486836, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3969508485497161681, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: GlobalObjectIdHash + value: 3747971393 + objectReference: {fileID: 0} + - target: {fileID: 3969508485497161681, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: InScenePlacedSourceGlobalObjectIdHash + value: 614518350 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalPosition.x + value: 6.9005165 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalPosition.y + value: 0.00000023841858 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalPosition.z + value: -2.1558924 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7143292874099811358, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ae082cf2d3a36684fb23d8ec0e643150, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 @@ -867,4 +982,5 @@ SceneRoots: - {fileID: 1857588276} - {fileID: 196170898} - {fileID: 1770640151} - - {fileID: 1563379673} + - {fileID: 8888013435869854006} + - {fileID: 1706180863} diff --git a/UI/Scripts/MainMenuController.cs b/UI/Scripts/MainMenuController.cs index 185a92b..6f3af7b 100644 --- a/UI/Scripts/MainMenuController.cs +++ b/UI/Scripts/MainMenuController.cs @@ -45,6 +45,8 @@ namespace MegaKoop.UI private Button applyButton; private Button backButton; + private bool _initialized; + private void OnEnable() { // Získání UI Document @@ -57,11 +59,11 @@ namespace MegaKoop.UI enabled = false; return; } - + // Získání MultiplayerLobbyController if (multiplayerLobbyController == null) multiplayerLobbyController = GetComponent(); - + root = uiDocument.rootVisualElement; if (root == null) { @@ -69,20 +71,34 @@ namespace MegaKoop.UI enabled = false; return; } - + + // Initialize only after attached to a panel to avoid DPI/pixelsPerPoint issues + root.RegisterCallback(OnAttachedToPanel); + if (root.panel != null) + { + // Already attached (domain reload case) + OnAttachedToPanel(default); + } + } + + private void OnAttachedToPanel(AttachToPanelEvent evt) + { + if (_initialized) return; + _initialized = true; + // Přidání USS stylů (pokud nejsou už v UXML) if (mainMenuStyles != null && !root.styleSheets.Contains(mainMenuStyles)) { root.styleSheets.Add(mainMenuStyles); } - + // Inicializace UI elementů InitializeMenuButtons(); InitializeSettingsPanel(); - + // Registrace event handlerů RegisterButtonEvents(); - + // Načtení nastavení LoadSettings(); } diff --git a/UI/Scripts/MultiplayerLobbyController.cs b/UI/Scripts/MultiplayerLobbyController.cs index 293bcb6..14180d8 100644 --- a/UI/Scripts/MultiplayerLobbyController.cs +++ b/UI/Scripts/MultiplayerLobbyController.cs @@ -80,24 +80,45 @@ namespace MegaKoop.UI // Steam Integration private SteamLobbyService steam; + private bool _initialized; + private void Start() { if (uiDocument == null) uiDocument = GetComponent(); - - if (uiDocument != null) - { - root = uiDocument.rootVisualElement; - InitializeElements(); - RegisterEvents(); - EnsureSteamServices(); - RegisterSteamEvents(); - SetupInitialState(); - } - else + + if (uiDocument == null) { Debug.LogError("UIDocument not found on MultiplayerLobbyController!"); + return; } + + root = uiDocument.rootVisualElement; + if (root == null) + { + Debug.LogError("rootVisualElement is null on MultiplayerLobbyController!"); + return; + } + + // Initialize only after attached to a panel to avoid DPI/pixelsPerPoint issues + root.RegisterCallback(OnAttachedToPanel); + if (root.panel != null) + { + // Already attached (domain reload case) + OnAttachedToPanel(default); + } + } + + private void OnAttachedToPanel(AttachToPanelEvent evt) + { + if (_initialized) return; + _initialized = true; + + InitializeElements(); + RegisterEvents(); + EnsureSteamServices(); + RegisterSteamEvents(); + SetupInitialState(); } private void OnDisable()