[ClientRpc] // @ remote client public void RpcClientChangeNamedAvatar(int humanoidId, string avatarPrefabName) { if (debug <= HumanoidNetworking.Debug.Info) { Debug.Log(netId.Value + ": RpcChangeAvatar " + humanoidId + "to: " + avatarPrefabName); } HumanoidControl humanoid = HumanoidNetworking.FindRemoteHumanoid(humanoids, humanoidId); if (humanoid == null) { if (debug <= HumanoidNetworking.Debug.Warning) { Debug.LogWarning(netId.Value + ": Could not find humanoid: " + humanoidId); } return; } GameObject remoteAvatar = (GameObject)Resources.Load(avatarPrefabName); if (remoteAvatar == null) { if (debug <= HumanoidNetworking.Debug.Error) { Debug.LogError("Could not load remote avatar " + avatarPrefabName + ". Is it located in a Resources folder?"); } return; } humanoid.LocalChangeAvatar(remoteAvatar); }
public static HumanoidControl StartHumanoid( int nwId, int humanoidId, string name, string avatarPrefabName, Vector3 position, Quaternion rotation, bool physics) { if (debug <= Debug.Info) { UnityEngine.Debug.Log(nwId + ": Receive StartHumanoid " + humanoidId); } HumanoidControl remoteHumanoid = InstantiateRemoteHumanoid(remoteHumanoidPrefab, name, position, rotation); remoteHumanoid.nwId = nwId; remoteHumanoid.humanoidId = humanoidId; if (debug <= Debug.Info) { UnityEngine.Debug.Log(remoteHumanoid.nwId + ": Remote Humanoid " + remoteHumanoid.humanoidId + " Added"); } GameObject remoteAvatar = (GameObject)Resources.Load(avatarPrefabName); if (remoteAvatar == null) { if (debug <= Debug.Error) { UnityEngine.Debug.LogError("Could not load remote avatar " + avatarPrefabName + ". Is it located in a Resources folder?"); } return(remoteHumanoid); } remoteHumanoid.physics = physics; remoteHumanoid.LocalChangeAvatar(remoteAvatar); return(remoteHumanoid); }