Command skipped over on remote clients
I have created an inventory system for my game. The majority of the system is housed on an empty game object in the scene. On that game object, I call a function on one of the local player object's scripts that executes a coroutine which ultimately calls a command to spawn the player's item over the network.
I have added debug statements inside of the coroutine as well as the command. The debug inside of the coroutine is called but the command's debug is never fired. I have enabled all debugging for my network manager and I have received no error relating to local player authority for executing the command; Its as if the compiler does not even recognize that a command is supposed to be called. It is completely skipped over.
Below is the script on the local player object. Thank you to anyone that can help me figure out what I am doing wrong.
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class PlayerSpawnObject : NetworkBehaviour
{
private Hotbar hotbar;
private GameObject theObject;
private GameObject model;
private ItemData data;
private Transform parent;
void Start()
{
hotbar = GameObject.Find("Inventory").GetComponent<Hotbar>();
}
public void SpawnTheObject(ItemData currentData)
{
if (!isLocalPlayer && hasAuthority)
{
return;
}
data = currentData;
StartCoroutine(SpawnObj(currentData));
}
[Command]
void CmdSpawnObj()
{
Debug.Log("Fired");
model = Instantiate(data.item.Model);
model.transform.SetParent(parent.GetChild(0));
model.transform.localPosition = new Vector3(.2f, -.25f, .6f);
model.transform.localRotation = new Quaternion(0, 180, 0, 0);
NetworkServer.Spawn(model);
}
[Client]
IEnumerator SpawnObj(ItemData currentData)
{
Debug.Log("Fired!");
model = null;
parent = this.gameObject.transform;
data = currentData;
CmdSpawnObj();
while (model == null)
{
yield return null;
}
hotbar.SetObj(model);
}
}
I Have the exact same problem and I've been at it for a week and can't seem to find the solution:( . Please let me know if you have any progress on this situation and I will do the same .
Your answer
Follow this Question
Related Questions
UNET NavMeshAgent Sync Target Transform 0 Answers
Using Transform Component and selfmade interface in an Network Command ? 0 Answers
Executing command in a child GameObject in a multiplayer Game 2 Answers
ClientRPC not called from command on client instance during Start() 0 Answers
Photon RPC 2 Answers