Merge branch 'NetworkModel'

This commit is contained in:
2022-04-25 12:19:43 -05:00
4 changed files with 100 additions and 10 deletions

View File

@@ -5087,6 +5087,7 @@ GameObject:
- component: {fileID: 3857312965804109841}
- component: {fileID: 3682017224448058452}
- component: {fileID: 1338171738790989638}
- component: {fileID: 7623471599012626916}
m_Layer: 3
m_Name: T-Pose
m_TagString: ArcherTarget
@@ -5543,6 +5544,18 @@ LineRenderer:
generateLightingData: 0
m_UseWorldSpace: 1
m_Loop: 0
--- !u!114 &7623471599012626916
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7688428083034862386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac4390dd337a1474fb5cd03906cfe44a, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &7740096766088430285
GameObject:
m_ObjectHideFlags: 0
@@ -6742,16 +6755,16 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3}
--- !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!4 &3428075745657322556 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7536684185707184467, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3}
m_PrefabInstance: {fileID: 5117592138798398831}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &5563433242999952451
PrefabInstance:
m_ObjectHideFlags: 0
@@ -7231,16 +7244,16 @@ 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
GameObject:
m_CorrespondingSourceObject: {fileID: 7405935079727367147, guid: cc28f9eb916e5f040b110c2f8523596f, type: 3}
m_PrefabInstance: {fileID: 8833099045870683019}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &8919283626837962284
PrefabInstance:
m_ObjectHideFlags: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f28e7652a4fb34f4e839bc58fb1bc546
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,58 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using MLAPI;
using MLAPI.Messaging;
using System.Linq;
public class ModelSwapping : NetworkBehaviour {
void Start()
{
// If game scene & Local Player
if (SceneManager.GetActiveScene().buildIndex == 3 && IsLocalPlayer) {
StartCoroutine(WaitSwapModel());
}
}
IEnumerator WaitSwapModel() {
yield return new WaitForSecondsRealtime(3f);
SwapModelServerRPC(gameObject.transform.root.GetComponent<NetworkObject>().OwnerClientId);
}
[ServerRpc(RequireOwnership = false)]
private void SwapModelServerRPC(ulong playerID) {
// Spawn the player
if (ServerGameNetPortal.Instance.clientIdToGuid.TryGetValue(playerID, out string clientGuid)) {
if (ServerGameNetPortal.Instance.clientData.TryGetValue(clientGuid, out PlayerData playerData)) {
// Get the players item list
string itemsAsString = string.Join(",", playerData.pInv.NetworkItemList);
// Apply to each client
SwapModelClientRPC(playerID, itemsAsString);
}
}
}
[ClientRpc]
private void SwapModelClientRPC(ulong playerID, string itemList) {
GameObject[] players = GameObject.FindGameObjectsWithTag("Player");
foreach (GameObject player in players) {
if (player.GetComponent<NetworkObject>().OwnerClientId == playerID) {
// Player to Update found
player.GetComponentInChildren<ModelSwapping>().SwapModels(itemList);
}
}
}
public void SwapModels(string itemsAsString) {
List<string> itemList = itemsAsString.Split(',').ToList();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ac4390dd337a1474fb5cd03906cfe44a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: