Я нашел баги в мультиплеере. Не работает на версии Unity 4.0. На всех остальных версиях работает. Клиент не может войти в игру на 2 сцене. Чтобы это устранить я сделал следующее. Открываем сцену "02.choice" идем на ГО "menu/Spawn" и переименовываем его в "SpawnMenu". Все теперь нам осталось только изменить соответствующий скрипт, где к нему обращаются. Идем на ГО "menu/Play" скрипт "StartPlay" и изменяем в сответствующих местах имя нового ГО "SpawnMenu"
Исправленный скрипт будет выглядеть так:
Используется javascript
//transform to game for press key "Enter"
function OnGUI () {
//GUILayout.Label ("Press Enter To Start Game");
if (Event.current.Equals (Event.KeyboardEvent ("return"))){
renderer.material.color = Color.grey;
var PNum : int;
var go = GameObject.Find("SpawnMenu"); //ВОТ ТУТ 1 РАЗ!!!!
PNum = go.GetComponent(ChoiceScript).i;
var go2 = GameObject.Find("NameRecive"); //send index character to go NameRecive for recive to next scene
go2.GetComponent(NameRec).choicePerson = PNum; //send this index on dont destroyed object
var goText = GameObject.Find("Text");
goText.GetComponent(GUIText).enabled = true;
LoadLev();
}
}
function OnMouseEnter()
{
renderer.material.color = Color.grey;
}
function OnMouseExit()
{
renderer.material.color = Color.black;
}
function OnMouseDown () {
var PNum : int;
var go = GameObject.Find("SpawnMenu"); //ВОТ ТУТ 2 РАЗ!!!
PNum = go.GetComponent(ChoiceScript).i;
var go2 = GameObject.Find("NameRecive"); //send this index on dont destroyed object
go2.GetComponent(NameRec).choicePerson = PNum;
var goText = GameObject.Find("Text");
goText.GetComponent(GUIText).enabled = true;
LoadLev();
}
//set delay
function LoadLev(){
yield WaitForSeconds (3);
Application.LoadLevel(2);
}
Вуаля. Теперь работает на 4 ке.