Точнее даже я знаю как ее решить, но думаю есть способ полегче.
Кароче, когда заходит сервер для него создается объект на карте через Network.instantiate, потом на сервер заходит клиент и со стороны клиента шлется сообщение серверу с запросом на создание объекта для клиента, сервер посылает сообщение в котором клиент на своей стороне создает свой объект через network.instantiate. ТАк вот сервер видит этот объект, но почему то когда я его двигаю на стороне клиента сервер это не видит, почему так, как мне передать данные от клиента серверу и обратно? Пробовал присвоить компонент NetworkView тоже не работает, да и он не нужен когда создаю объекты через Network.instantiate() в чем дело, неподскажите?
Если что вот код.
Синтаксис:
Используется javascript
function OnLevelWasLoaded() {
if (Network.isServer) {
sh.SetShipModel = Network.Instantiate(sh._model, Vector3.zero, Quaternion.identity, 0);
this.myShip = sh.GetShip;
this.myShip.name = CurrentItem.playerName;
} else {
ChatControl.chat.WriteMessage("You are the client", Color.blue);
networkView.RPC("ClientNeedNewShip", RPCMode.Server, Network.player);
}
}
@RPC
public function ClientNeedNewShip(player:NetworkPlayer) {
networkView.RPC("CreateShipForClient", player);
}
@RPC
public function CreateShipForClient() {
var s:ShipCharacters = ShipCharacters.NewCharacters(CurrentItem.playerName, 100, 100, "BLUE");
s.SetShipModel = Network.Instantiate(s._model, Vector3.zero, Quaternion.identity, 0);
this.myShip = s.GetShip;
this.myShip.name = CurrentItem.playerName;
networkView.RPC("ClientShipCreated", RPCMode.Server, Network.player);
}
if (Network.isServer) {
sh.SetShipModel = Network.Instantiate(sh._model, Vector3.zero, Quaternion.identity, 0);
this.myShip = sh.GetShip;
this.myShip.name = CurrentItem.playerName;
} else {
ChatControl.chat.WriteMessage("You are the client", Color.blue);
networkView.RPC("ClientNeedNewShip", RPCMode.Server, Network.player);
}
}
@RPC
public function ClientNeedNewShip(player:NetworkPlayer) {
networkView.RPC("CreateShipForClient", player);
}
@RPC
public function CreateShipForClient() {
var s:ShipCharacters = ShipCharacters.NewCharacters(CurrentItem.playerName, 100, 100, "BLUE");
s.SetShipModel = Network.Instantiate(s._model, Vector3.zero, Quaternion.identity, 0);
this.myShip = s.GetShip;
this.myShip.name = CurrentItem.playerName;
networkView.RPC("ClientShipCreated", RPCMode.Server, Network.player);
}