0

我正在使用自定义类来存储用户特定的信息类如下:

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]);
    }
}
4

0 回答 0