예제 #1
0
        public static void CreatePlayer(Player player)
        {
            Player older = null;
            lock (syc_obj)
            {
                player.LastTime = DateTime.Now.Ticks;
                if (m_players.ContainsKey(player.Id))
                {
                    older = m_players[player.Id];
                    player.State = older.State;
                    player.CurrentServer = older.CurrentServer;
                    m_players[player.Id] = player;
                }
                else
                {

                    older = LoginMgr.GetPlayerByName(player.Name);
                    if (older != null && m_players.ContainsKey(older.Id))
                    {
                        m_players.Remove(older.Id);
                    }
                    player.State = ePlayerState.NotLogin;
                    m_players.Add(player.Id, player);
                }
            }
            if (older != null && older.CurrentServer != null)
            {
                older.CurrentServer.SendKitoffUser(older.Id);
            }
        }
예제 #2
0
 public bool CreatePlayer(int id, string name, string password, bool isFirst)
 {
     try
     {
         Player player = new Player();
         player.Id = id;
         player.Name = name;
         player.Password = password;
         player.IsFirst = isFirst;
         LoginMgr.CreatePlayer(player);
         return true;
     }
     catch
     { }
     return false;
 }