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);
}