From 2a780ac3463ea3f909867dac44901f0e3789ff5f Mon Sep 17 00:00:00 2001 From: Julia Butenhoff Date: Mon, 25 Apr 2022 13:35:31 -0500 Subject: [PATCH] Networked Player Model Body Swapping --- .../Prefabs/Game/Managers/GameManager.prefab | 16 +++- .../Player/NetworkSMPlayerPrefab.prefab | 88 +++++++++++++++++-- .../PlayerScripts/Network/ModelSwapping.cs | 53 ++++++++++- Assets/Scripts/UI/PauseMenu.cs | 2 +- ProjectSettings/TagManager.asset | 1 + UserSettings/EditorUserSettings.asset | 8 +- 6 files changed, 154 insertions(+), 14 deletions(-) diff --git a/Assets/Prefabs/Game/Managers/GameManager.prefab b/Assets/Prefabs/Game/Managers/GameManager.prefab index 7a01f0f..7482c3b 100644 --- a/Assets/Prefabs/Game/Managers/GameManager.prefab +++ b/Assets/Prefabs/Game/Managers/GameManager.prefab @@ -11,9 +11,10 @@ GameObject: - component: {fileID: 1043847408052489032} - component: {fileID: 564767176013578446} - component: {fileID: 292422149206273730} + - component: {fileID: 989170304343932963} m_Layer: 0 m_Name: GameManager - m_TagString: Untagged + m_TagString: GameManager m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -63,3 +64,16 @@ MonoBehaviour: m_EditorClassIdentifier: coundownUI: {fileID: 6417009877132845026, guid: 7c3682087ff9b234cb9abf6a8fa941b5, type: 3} playerHUD: {fileID: 1623539175747816640, guid: 19c3c5fda3dc2b54d9275bb39ace73ec, type: 3} +--- !u!114 &989170304343932963 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043847408052489033} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 66519fc5420181e45850c591aa1179ec, type: 3} + m_Name: + m_EditorClassIdentifier: + allItems: [] diff --git a/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab b/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab index a6b151f..6bb4d72 100644 --- a/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab +++ b/Assets/Prefabs/Player/NetworkSMPlayerPrefab.prefab @@ -5556,6 +5556,25 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ac4390dd337a1474fb5cd03906cfe44a, type: 3} m_Name: m_EditorClassIdentifier: + runnerBodyModifiers: + - {fileID: 41793241492917904} + - {fileID: 4098918742861069263} + - {fileID: 6026717242403518486} + - {fileID: 714670446867648398} + - {fileID: 4748546854517208321} + - {fileID: 2990189160485986625} + - {fileID: 1608428008624389940} + - {fileID: 4844586127436386182} + - {fileID: 3993436392847864989} + - {fileID: 1422190465677848804} + - {fileID: 2865501194676526530} + - {fileID: 1821994332528777314} + - {fileID: 6375705567088181487} + - {fileID: 6217138924534649988} + - {fileID: 8370875194607908722} + - {fileID: 6530546244197494214} + - {fileID: 2845649168122086393} + - {fileID: 5602340108049884658} --- !u!1 &7740096766088430285 GameObject: m_ObjectHideFlags: 0 @@ -6506,6 +6525,11 @@ Transform: m_CorrespondingSourceObject: {fileID: 5093667145548640785, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} m_PrefabInstance: {fileID: 19146078486908249} m_PrefabAsset: {fileID: 0} +--- !u!1 &5602340108049884658 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5619234375883385003, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} + m_PrefabInstance: {fileID: 19146078486908249} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1395792858578172524 PrefabInstance: m_ObjectHideFlags: 0 @@ -6584,6 +6608,11 @@ Transform: m_CorrespondingSourceObject: {fileID: 3560732860612198807, guid: fe26ba5444ee2684b85a308896cd2ef2, type: 3} m_PrefabInstance: {fileID: 1395792858578172524} m_PrefabAsset: {fileID: 0} +--- !u!1 &2990189160485986625 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4188790787953761069, guid: fe26ba5444ee2684b85a308896cd2ef2, type: 3} + m_PrefabInstance: {fileID: 1395792858578172524} + m_PrefabAsset: {fileID: 0} --- !u!1001 &4830657648032301096 PrefabInstance: m_ObjectHideFlags: 0 @@ -6678,6 +6707,11 @@ Transform: m_CorrespondingSourceObject: {fileID: 2163302100881722902, guid: 1d7355c5228e28647aa095e17f561af5, type: 3} m_PrefabInstance: {fileID: 4830657648032301096} m_PrefabAsset: {fileID: 0} +--- !u!1 &6217138924534649988 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1535243000795960492, guid: 1d7355c5228e28647aa095e17f561af5, type: 3} + m_PrefabInstance: {fileID: 4830657648032301096} + m_PrefabAsset: {fileID: 0} --- !u!1001 &5117592138798398831 PrefabInstance: m_ObjectHideFlags: 0 @@ -6755,16 +6789,16 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} ---- !u!1 &2655197533516146310 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 7195765914217864169, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} - m_PrefabInstance: {fileID: 5117592138798398831} - m_PrefabAsset: {fileID: 0} --- !u!4 &3428075745657322556 stripped Transform: m_CorrespondingSourceObject: {fileID: 7536684185707184467, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} m_PrefabInstance: {fileID: 5117592138798398831} m_PrefabAsset: {fileID: 0} +--- !u!1 &2655197533516146310 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7195765914217864169, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} + m_PrefabInstance: {fileID: 5117592138798398831} + m_PrefabAsset: {fileID: 0} --- !u!1001 &5563433242999952451 PrefabInstance: m_ObjectHideFlags: 0 @@ -6859,6 +6893,11 @@ Transform: m_CorrespondingSourceObject: {fileID: 2163302100881722902, guid: 1d7355c5228e28647aa095e17f561af5, type: 3} m_PrefabInstance: {fileID: 5563433242999952451} m_PrefabAsset: {fileID: 0} +--- !u!1 &6375705567088181487 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1535243000795960492, guid: 1d7355c5228e28647aa095e17f561af5, type: 3} + m_PrefabInstance: {fileID: 5563433242999952451} + m_PrefabAsset: {fileID: 0} --- !u!1001 &5579957051104421435 PrefabInstance: m_ObjectHideFlags: 0 @@ -6932,6 +6971,11 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} +--- !u!1 &41793241492917904 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5619234375883385003, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} + m_PrefabInstance: {fileID: 5579957051104421435} + m_PrefabAsset: {fileID: 0} --- !u!4 &855589473399002154 stripped Transform: m_CorrespondingSourceObject: {fileID: 5093667145548640785, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} @@ -7010,6 +7054,11 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: b0541d79002d5d144bb43b4f343e88ef, type: 3} +--- !u!1 &3993436392847864989 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7915835455832007684, guid: b0541d79002d5d144bb43b4f343e88ef, type: 3} + m_PrefabInstance: {fileID: 6535069772724261017} + m_PrefabAsset: {fileID: 0} --- !u!4 &4332561321479384615 stripped Transform: m_CorrespondingSourceObject: {fileID: 7390797060263345854, guid: b0541d79002d5d144bb43b4f343e88ef, type: 3} @@ -7088,6 +7137,11 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} +--- !u!1 &2845649168122086393 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5619234375883385003, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} + m_PrefabInstance: {fileID: 7675894306384440146} + m_PrefabAsset: {fileID: 0} --- !u!4 &3185758508108601667 stripped Transform: m_CorrespondingSourceObject: {fileID: 5093667145548640785, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} @@ -7166,6 +7220,11 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} +--- !u!1 &4098918742861069263 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5619234375883385003, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} + m_PrefabInstance: {fileID: 8438003000380609380} + m_PrefabAsset: {fileID: 0} --- !u!4 &3722674026529481077 stripped Transform: m_CorrespondingSourceObject: {fileID: 5093667145548640785, guid: 72eb82d9a6b887c4fa96ee9c454ab292, type: 3} @@ -7244,14 +7303,19 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} +--- !u!1 &2040784287476203616 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7405935079727367147, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} + m_PrefabInstance: {fileID: 8833099045870683019} + m_PrefabAsset: {fileID: 0} --- !u!4 &1297835615514477272 stripped Transform: m_CorrespondingSourceObject: {fileID: 7536684185707184467, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} m_PrefabInstance: {fileID: 8833099045870683019} m_PrefabAsset: {fileID: 0} ---- !u!1 &2040784287476203616 stripped +--- !u!1 &1821994332528777314 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 7405935079727367147, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} + m_CorrespondingSourceObject: {fileID: 7195765914217864169, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3} m_PrefabInstance: {fileID: 8833099045870683019} m_PrefabAsset: {fileID: 0} --- !u!1001 &8919283626837962284 @@ -7327,6 +7391,11 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: fe26ba5444ee2684b85a308896cd2ef2, type: 3} +--- !u!1 &4748546854517208321 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4188790787953761069, guid: fe26ba5444ee2684b85a308896cd2ef2, type: 3} + m_PrefabInstance: {fileID: 8919283626837962284} + m_PrefabAsset: {fileID: 0} --- !u!4 &5381215068677189563 stripped Transform: m_CorrespondingSourceObject: {fileID: 3560732860612198807, guid: fe26ba5444ee2684b85a308896cd2ef2, type: 3} @@ -7405,6 +7474,11 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: b0541d79002d5d144bb43b4f343e88ef, type: 3} +--- !u!1 &1422190465677848804 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7915835455832007684, guid: b0541d79002d5d144bb43b4f343e88ef, type: 3} + m_PrefabInstance: {fileID: 9107985823699293408} + m_PrefabAsset: {fileID: 0} --- !u!4 &1799032045559392862 stripped Transform: m_CorrespondingSourceObject: {fileID: 7390797060263345854, guid: b0541d79002d5d144bb43b4f343e88ef, type: 3} diff --git a/Assets/Scripts/PlayerScripts/Network/ModelSwapping.cs b/Assets/Scripts/PlayerScripts/Network/ModelSwapping.cs index 518ac36..b09b242 100644 --- a/Assets/Scripts/PlayerScripts/Network/ModelSwapping.cs +++ b/Assets/Scripts/PlayerScripts/Network/ModelSwapping.cs @@ -7,8 +7,9 @@ using MLAPI.Messaging; using System.Linq; public class ModelSwapping : NetworkBehaviour { - + // Runner Body Parts Refs + public GameObject[] runnerBodyModifiers; void Start() { @@ -53,6 +54,56 @@ public class ModelSwapping : NetworkBehaviour { public void SwapModels(string itemsAsString) { List itemList = itemsAsString.Split(',').ToList(); + if (itemList.Count <= 0) { return; } + foreach (string itemString in itemList) { + GameObject.FindGameObjectWithTag("GameManager").GetComponent().ItemDict.TryGetValue(itemString, out Item refItem); + + if (refItem == null) { continue; } + + switch (refItem.id) { + //Glider + case 2: + runnerBodyModifiers[1].SetActive(true); + //glider.SetActive(true); + break; + //grapple + case 3: + runnerBodyModifiers[11].SetActive(true); + runnerBodyModifiers[10].GetComponent().enabled = false; + break; + //nitro + case 4: + runnerBodyModifiers[0].SetActive(true); + break; + //roller skates + case 5: + runnerBodyModifiers[12].SetActive(true); + runnerBodyModifiers[13].SetActive(true); + break; + //springs + case 6: + runnerBodyModifiers[4].SetActive(true); + runnerBodyModifiers[5].SetActive(true); + runnerBodyModifiers[2].GetComponent().enabled = false; + runnerBodyModifiers[3].GetComponent().enabled = false; + break; + //tripple jump + case 7: + runnerBodyModifiers[16].SetActive(true); + runnerBodyModifiers[17].SetActive(true); + runnerBodyModifiers[14].GetComponent().enabled = false; + runnerBodyModifiers[15].GetComponent().enabled = false; + break; + //wallrun + case 8: + runnerBodyModifiers[8].SetActive(true); + runnerBodyModifiers[9].SetActive(true); + runnerBodyModifiers[6].GetComponent().enabled = false; + runnerBodyModifiers[7].GetComponent().enabled = false; + break; + + } + } } } diff --git a/Assets/Scripts/UI/PauseMenu.cs b/Assets/Scripts/UI/PauseMenu.cs index 69f8917..06cd1a5 100644 --- a/Assets/Scripts/UI/PauseMenu.cs +++ b/Assets/Scripts/UI/PauseMenu.cs @@ -76,7 +76,7 @@ public class PauseMenu : NetworkBehaviour { } } - void Update() { + void Update() { // Listen for Pause button and not already paused // TODO: UPDATE TO ALSO LISTEN FOR CONTROLLER PAUSE BUTTON PRESSED if (isUsable && Input.GetKeyDown(KeyCode.Escape) && PauseMenuPanel.activeInHierarchy != true) { diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 77575d9..4424d05 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -35,6 +35,7 @@ TagManager: - MountainUpperRespawnPoint - Arrow - PlayerHand + - GameManager layers: - Default - TransparentFX diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 9b455c0..bee4c68 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -6,7 +6,7 @@ EditorUserSettings: serializedVersion: 4 m_ConfigSettings: RecentlyUsedScenePath-0: - value: 22424703114646680e0b0227036c7c021313113e3f66333e243d04 + value: 22424703114646680e0b0227036c6f1f05033f2b212d68252320092a flags: 0 RecentlyUsedScenePath-1: value: 22424703114646680e0b0227036c7c1f18030a25203b68252320092a @@ -21,16 +21,16 @@ EditorUserSettings: value: 22424703114646680e0b0227036c6f1f05033f2b212d68252320092a flags: 0 RecentlyUsedScenePath-5: - value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb + value: 22424703114646680e0b0227036c7000021e17243f66333e243d04 flags: 0 RecentlyUsedScenePath-6: value: 22424703114646680e0b0227036c6f1f05033f2b212d68252320092a flags: 0 RecentlyUsedScenePath-7: - value: 22424703114646680e0b0227036c7b151b180b6501273035202c1327d1e33136e7a923e7ee2e26 + value: 22424703114646680e0b0227036c731f1415016439262f2434 flags: 0 RecentlyUsedScenePath-8: - value: 22424703114646680e0b0227036c731f1415016439262f2434 + value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb flags: 0 RecentlyUsedScenePath-9: value: 22424703114646680e0b0227036c6f02131b172b282d347e38271427fb