Unity Networking: порождаемый объект теряет параметры и функция Command работает, но оператор не печатает

У меня здесь пара проблем.

Когда клиент нажимает "e", печатается "загрузка оружия", и объект оружия появляется как на клиенте, так и на хосте, однако на стороне клиента оружие очень маленькое (не масштабированное) потеряло родительскую ассоциацию, не контролируется как и ожидалось. (пока хозяин видит оружие на клиенте, как и ожидалось)

"Cmd_PickUpWeapon named" также не печатается, несмотря на то, что функция, кажется, была вызвана? (оружие появилось)

Вот мой код:

 if (Input.GetKeyDown("e")) { // add short timer to hold 'e'?
    print("loading weaponing")  
    Cmd_LoadWeapon("pistol");                      
 }

[Command]
private void Cmd_PickUpWeapon(string weaponToLoad) {
    print("Cmd_PickUpWeapon called");
    GameObject weaponPrefab = Resources.Load("Prefabs/Weapons/"+ weaponToLoad) as GameObject;
    weapon = Instantiate(weaponPrefab, this.transform.position, Quaternion.identity) as GameObject;
    weaponEquipt = weaponToLoad;
    weapon.gameObject.name = weaponEquipt;

    weapon.transform.SetParent(this.transform);
    weapon.transform.localPosition = weaponPrefab.transform.localPosition;
    weapon.transform.localScale = new Vector3(1f, 1f, 1f);

    NetworkServer.SpawnWithClientAuthority(weapon, connectionToClient);
}

0 ответов

Другие вопросы по тегам