/// <summary> /// 使玩家进入地图 /// </summary> /// <param name="player">玩家的 <see cref="UserSocketState"/></param> /// <returns></returns> public Player JoinMap(UserSocketState player) { Player p = null; try { player.ReadedData = new List_String(new List <string>() { "map", "noneUpdate" }); p = new Player(); p.SocketState = player; p.Name = player.NickName; p.OnPlayerDied.Reg(OnPlayerDied); p.MapContext = this; players.Add(p); player.PlayerContext = p; p.Init(); } catch (Exception e) { Logger.LogError(e); } Logger.WriteLine("{0}加入了地图{1}", player.NickName, MapName); return(p); }
void OnPlayerQuit(UserSocketState sock) { for (int i = 0; i < players.Count; i++) { if (players[i].SocketState == sock) { QuitMap(players[i]); } } }
Player SocketToPlayer(UserSocketState socket) { for (int i = 0; i < players.Count; i++) { if (players[i].SocketState == socket) { return(players[i]); } } return(null); }
public override void OnInvoke(CommandObject[] obj) { Print("当前共 " + ForgetiveServer.UserCount + " 人在线。"); for (int i = 0; i < ForgetiveServer.UserCount; i++) { UserSocketState user = ForgetiveServer.Users[i]; if (user.NickName == null) { Print("没有设置名字的神秘玩家"); } else { Print(i + "; " + user.NickName); } } }