Синтаксис:
Используется javascript
var PlayerList = new ArrayList();
class Player {var name : String; var info : NetworkPlayer;}
@RPC
function LogToServ (Login : String, Password : String, MyConnectionInfo : NetworkMessageInfo)
{
if (SQLEngine.isAccount(Login, Password) == true)
{
player = new Player();
player.name = Login;
player.info = MyConnectionInfo.sender;
PlayerList.Add(player);
Debug.Log("new player added to playerlist");
Debug.Log ("Player: "+PlayerList[0].name+","+PlayerList[0].info.ipAddress);
}
}
function OnPlayerDisconnected(PInfo : NetworkPlayer)
{
for (player in PlayerList)
{if (player.info == PInfo) {PlayerList.Remove(player);}}
}
class Player {var name : String; var info : NetworkPlayer;}
@RPC
function LogToServ (Login : String, Password : String, MyConnectionInfo : NetworkMessageInfo)
{
if (SQLEngine.isAccount(Login, Password) == true)
{
player = new Player();
player.name = Login;
player.info = MyConnectionInfo.sender;
PlayerList.Add(player);
Debug.Log("new player added to playerlist");
Debug.Log ("Player: "+PlayerList[0].name+","+PlayerList[0].info.ipAddress);
}
}
function OnPlayerDisconnected(PInfo : NetworkPlayer)
{
for (player in PlayerList)
{if (player.info == PInfo) {PlayerList.Remove(player);}}
}
при отключении клиента выдает такое предупреждение:
InvalidOperationException: List has changed.
System.Collections.ArrayList+SimpleEnumerator.MoveNext ()
Login.OnPlayerDisconnected (NetworkPlayer PInfo) (at Assets/Scripts/Login.js:31)
по смыслу понимаю, что ему не нравится кусок кода про удаление элемента из списка, но что конкретно не нравится, понять не могу...
может быть кто-то знает, что ему не нравится?