public static Dictionary <int, int> GetOnlineForLine() { Dictionary <int, int> lines = new Dictionary <int, int>(); Player[] list = LoginMgr.GetAllPlayer(); Player[] array = list; for (int i = 0; i < array.Length; i++) { Player p = array[i]; if (p.CurrentServer != null) { if (lines.ContainsKey(p.CurrentServer.Info.ID)) { Dictionary <int, int> dictionary; int iD; (dictionary = lines)[iD = p.CurrentServer.Info.ID] = dictionary[iD] + 1; } else { lines.Add(p.CurrentServer.Info.ID, 1); } } } return(lines); }
public static void Do() { try { using (PlayerBussiness db = new PlayerBussiness()) { ChargeInfo[] a = db.GetUserChargeList(); if (a.Length != 0) { foreach (var b in a) { PlayerInfo info = db.GetUserSingleByUserID(b.UserID); MailInfo c = new MailInfo(); c.Content = "充值成功!"; c.Title = "充值成功!"; c.Gold = 0; c.IsExist = true; c.Money = Convert.ToInt32(b.Money * 100 * (GetRate(info))); c.GiftToken = 0; c.Receiver = info.NickName; c.ReceiverID = b.UserID; c.Sender = "充值系统"; c.SenderID = 0; c.Type = 1; if (db.SendMail(c)) { if (db.DoUserCharge(b.ID)) { ServerClient client = LoginMgr.GetServerClient(b.UserID); if (client != null) { GSPacketIn pkgMsg = new GSPacketIn(118); pkgMsg.WriteInt(b.UserID); pkgMsg.WriteInt(1); client.SendTCP(pkgMsg); // result = true; // return result; } ChargeMgr.log.Warn("用户" + info.UserName + "充值" + b.Money + "成功"); } } } } } } catch (Exception ex) { ChargeMgr.log.Error(ex); } }
public static ServerClient GetServerClient(int playerId) { Player player = LoginMgr.GetPlayer(playerId); ServerClient result; if (player != null) { result = player.CurrentServer; } else { result = null; } return(result); }
public static List <Player> GetServerPlayers(ServerClient server) { List <Player> list = new List <Player>(); Player[] players = LoginMgr.GetAllPlayer(); Player[] array = players; for (int i = 0; i < array.Length; i++) { Player p = array[i]; if (p.CurrentServer == server) { list.Add(p); } } return(list); }
public static int GetOnlineCount() { Player[] list = LoginMgr.GetAllPlayer(); int count = 0; Player[] array = list; for (int i = 0; i < array.Length; i++) { Player p = array[i]; if (p.State != ePlayerState.NotLogin) { count++; } } return(count); }
public static Player GetPlayerByName(string name) { Player[] list = LoginMgr.GetAllPlayer(); Player result; if (list != null) { Player[] array = list; for (int i = 0; i < array.Length; i++) { Player p = array[i]; if (p.Name == name) { result = p; return(result); } } } result = null; return(result); }
public static void CreatePlayer(Player player) { Player older = null; object obj; Monitor.Enter(obj = LoginMgr.syc_obj); try { player.LastTime = DateTime.Now.Ticks; if (LoginMgr.m_players.ContainsKey(player.Id)) { older = LoginMgr.m_players[player.Id]; player.State = older.State; player.CurrentServer = older.CurrentServer; LoginMgr.m_players[player.Id] = player; } else { older = LoginMgr.GetPlayerByName(player.Name); if (older != null && LoginMgr.m_players.ContainsKey(older.Id)) { LoginMgr.m_players.Remove(older.Id); } player.State = ePlayerState.NotLogin; LoginMgr.m_players.Add(player.Id, player); } } finally { Monitor.Exit(obj); } if (older != null && older.CurrentServer != null) { older.CurrentServer.SendKitoffUser(older.Id); } }