コード例 #1
0
        /// <summary>
        /// 返回值为Player
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="protocol"></param>
        public void CreateRole(Conn conn, ProtocolBase protocol)
        {
            int           start = sizeof(Int32) * 3;
            ProtocolBytes p     = protocol as ProtocolBytes;
            string        name  = p.GetString(start, ref start);
            ProtocolBytes result;

            if (dataMgr.GetPlayerIDByName(name) != -1)
            {
                result = new ProtocolBytes(requestCode, EActionCode.CreateRole, EReturnCode.RepeatName);
            }
            else
            {
                string     jobStr = p.GetString(start, ref start);
                EPlayerJob job    = (EPlayerJob)Enum.Parse(typeof(EPlayerJob), jobStr);

                string     characterStr = p.GetString(start, ref start);
                ECharacter character    = (ECharacter)Enum.Parse(typeof(ECharacter), characterStr);

                bool        isSuccess  = dataMgr.CreateRole(conn.user.ID, name, job, character);
                EReturnCode returnCode = isSuccess ? EReturnCode.Success : EReturnCode.Failed;
                result = new ProtocolBytes(requestCode, EActionCode.CreateRole, returnCode);
            }
            Send(conn, result);
        }
コード例 #2
0
 public Player(int playerid, string name, int userid, ESex sex, EPlayerJob playerJob, ECharacter character, int gold, int level, int exp, int mapnum, Pos pos)
 {
     ID        = playerid;
     Name      = name;
     UserID    = userid;
     Sex       = sex;
     PlayerJob = playerJob;
     Character = character;
     Gold      = gold;
     Level     = level;
     Exp       = exp;
     MapNum    = mapnum;
     Pos       = pos;
 }
コード例 #3
0
 public bool CreatePlayer(int userid, string name, EPlayerJob playerJob, ECharacter character)
 {
     try
     {
         MySqlCommand cmd = new MySqlCommand("insert into player(userid,name,playerjob,playercharacter) values(@userid,@name,@playerjob,@character)", sqlConn);
         cmd.Parameters.AddWithValue("@userid", userid);
         cmd.Parameters.AddWithValue("@name", name);
         cmd.Parameters.AddWithValue("@playerjob", playerJob.ToString());
         cmd.Parameters.AddWithValue("@character", character.ToString());
         cmd.ExecuteNonQuery();
         return(true);
     }
     catch (Exception e)
     {
         Console.WriteLine("在创建角色的时候出现异常:" + e);
         return(false);
     }
 }
コード例 #4
0
        private Player GetPlayerByReader(MySqlDataReader reader)
        {
            int        playerid  = reader.GetInt32("playerid");
            int        userid    = reader.GetInt32("userid");
            string     name      = reader.GetString("name");
            ESex       sex       = (ESex)Enum.Parse(typeof(ESex), reader.GetString("sex"));
            EPlayerJob job       = (EPlayerJob)Enum.Parse(typeof(EPlayerJob), reader.GetString("playerjob"));
            ECharacter character = (ECharacter)Enum.Parse(typeof(ECharacter), reader.GetString("playercharacter"));
            int        gold      = reader.GetInt32("gold");
            int        level     = reader.GetInt32("level");
            int        exp       = reader.GetInt32("exp");
            int        mapNum    = reader.GetInt32("mapnum");
            float      posx      = reader.GetFloat("posx");
            float      posy      = reader.GetFloat("posy");
            float      posz      = reader.GetFloat("posz");
            Pos        pos       = new Pos(posx, posy, posz);
            Player     player    = new Player(playerid, name, userid, sex, job, character, gold, level, exp, mapNum, pos);

            return(player);
        }
コード例 #5
0
 public bool CreateRole(int userid, string name, EPlayerJob job, ECharacter character)
 {
     return(playerDAO.CreatePlayer(userid, name, job, character));
 }