Я работаю над многопользовательской игрой Unity 2D с использованием UNet. Моя проблема заключается в том, что клиент не может отправить [Command]
на сервер. Im отлаживает UnityEditor и встроенный apk для моего телефона Android.Как вызвать [Command] для клиента в UNet (Unity)
Сначала я использовал UnityEditor как Host и телефон как Клиент, Debug.Log(SkinName)
APPEARS on the console
.
Затем я использовал UnityEditor в качестве Клиента и телефона как Host, Debug.Log(SkinName)
DOES NOT APPEAR
.
Я попытался использовать [ClientRpc]
вместо [Client]
, но это только сделало его хуже, и клиент, и хост не синхронизируются. Я не знаю, правильно ли я вызвал [ClientRpc] (im a noob at UNet)
Я посетил другие темы/форумы и другие учебники UNet для поиска решений, но это то, что я придумал ,
Примечание. На других потоках, которые я посетил, люди в основном полагают, что Local Player Authority не отмечен, и это то, что вызывает проблему, но в этом случае это CHECKED
.
Код:
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
using Spine;
using Spine.Unity;
using Spine.Unity.Modules;
class SetupLocalPLayer : NetworkBehaviour {
[SyncVar]
public string SkinName;
public string[] CharNames;
public string[] SlotNames;
public string[] AttachmentSuffix;
void Start(){
TransmitSkins();
SyncSkin();
if (isLocalPlayer) {
var skeletonrenderer = GetComponent<SkeletonRenderer>();
for(int z=0;z<SlotNames.Length;z++){
skeletonrenderer.skeleton.SetAttachment(SlotNames[z],GameController.control.skinName+AttachmentSuffix[z]);
}
GetComponent<PlayerManager>().enabled = true;
GetComponent<FollowCam>().enabled = true;
}
}
void Update() {
}
void SyncSkin(){
if (!isLocalPlayer) {
var skeletonrenderer = GetComponent<SkeletonRenderer>();
for(int z=0;z<SlotNames.Length;z++){
skeletonrenderer.skeleton.SetAttachment(SlotNames[z],SkinName+AttachmentSuffix[z]);
}
}
}
[Command]
void CmdSetSkin(){
SkinName = GameController.control.skinName;
Debug.Log (SkinName);
}
[Client]
void TransmitSkins(){
if (isLocalPlayer) {
CmdSetSkin();
}
}
}
предлагает добавить тег unet. –
Добавлено, ты можешь помочь мне с этим сэром?Его прослушивание меня в течение нескольких дней :( – Daniel
Хотелось бы, я попробовал и провалил систему unet. Вот почему я подумал, что вам лучше бросить большую сеть. Извините, мой друг. –