Храните всю информацию о пользователях в пользовательском классе, который в настоящее время находится в комнате, я использую smartfoxServer

Я использую пользовательский класс для хранения пользовательской информации класса, как показано ниже:

using UnityEngine;
using System.Collections;

public class RoomPlayerInfo  {

private int minutes;
private int seconds;
private int miliSecond;
private string userName;

public int Minutes{
    get{ return minutes; }
    set{ minutes = value;}
}

public int Seconds{
    get{ return seconds; }
    set{ seconds = value; }
}

public string UserName{
    get{ return userName; }
    set{ userName = value; }
}

public int MiliSecond{
    get{ return miliSecond;}
    set{ miliSecond = value;}
}
}

я добавляю пользователя во время выполнения в список:

 private List<RoomPlayerInfo> listRoomPlayerInfo = new List<RoomPlayerInfo> ();

    RoomPlayerInfo rPI = new RoomPlayerInfo ();
    rPI.Minutes = diff.Minutes;
    rPI.Seconds = diff.Seconds;
    rPI.MiliSecond = diff.Milliseconds;
    rPI.UserName = sfs.MySelf.Name; 
    listRoomPlayerInfo.Add (rPI);

Когда я собираюсь удалить игрока во время выполнения, он удаляет только currentPlayer на каждом устройстве, то есть на каждом устройстве удаляет игрока из такого устройства, но я собираюсь удалить игрока, который занимает максимальное время в игре. Как я могу сделать свою работу???

void RemovePlayer()
{
    int i = 0;
    int removePlayerIndex = 0;
    if (listRoomPlayerInfo != null) {
        string playerID = listRoomPlayerInfo [i].UserName;

        for (; i < listRoomPlayerInfo.Count -1; i++) {
            if (listRoomPlayerInfo [i + 1].Minutes >= listRoomPlayerInfo [i].Minutes && listRoomPlayerInfo [i + 1].Seconds > listRoomPlayerInfo [i].Seconds && listRoomPlayerInfo[i+1].MiliSecond > listRoomPlayerInfo[i].MiliSecond) {
                playerID = listRoomPlayerInfo [i + 1].UserName;
                removePlayerIndex = i + 1;
            }
        }

        removeUserName.text = playerID + " Remove from room...";
        listRoomPlayerInfo.Remove (listRoomPlayerInfo [removePlayerIndex]);
    }
}

0 ответов

Другие вопросы по тегам