Esempio n. 1
0
        public override int HandlePacket(GamePlayer player, GSPacketIn packet)
        {
            int result;

            if (player.PlayerCharacter.HasBagPassword && player.PlayerCharacter.IsLocked)
            {
                player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked", new object[0]));
                result = 0;
            }
            else
            {
                int        mailId = packet.ReadInt();
                GSPacketIn pkg    = packet.Clone();
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    MailInfo mail = db.GetMailSingle(player.PlayerCharacter.ID, mailId);
                    //LogMgr.LogMailDelete(player.PlayerCharacter.ID, mail);
                    int senderID;
                    if (db.DeleteMail(player.PlayerCharacter.ID, mailId, out senderID))
                    {
                        player.Out.SendMailResponse(senderID, eMailRespose.Receiver);
                        pkg.WriteBoolean(true);
                    }
                    else
                    {
                        pkg.WriteBoolean(false);
                    }
                }
                player.Out.SendTCP(pkg);
                result = 0;
            }
            return(result);
        }
Esempio n. 2
0
        public void LoadFromDatabase(int playerId)
        {
            object @lock;

            Monitor.Enter(@lock = this.m_lock);
            try
            {
                this.m_states = ((this.m_player.PlayerCharacter.QuestSite.Count <byte>() == 0) ? this.InitQuest() : this.m_player.PlayerCharacter.QuestSite);
                using (PlayerBussiness playerBussiness = new PlayerBussiness())
                {
                    QuestDataInfo[] userQuest = playerBussiness.GetUserQuest(playerId);
                    this.BeginChanges();
                    QuestDataInfo[] array = userQuest;
                    for (int i = 0; i < array.Length; i++)
                    {
                        QuestDataInfo questDataInfo = array[i];
                        QuestInfo     singleQuest   = QuestMgr.GetSingleQuest(questDataInfo.QuestID);
                        if (singleQuest != null)
                        {
                            this.AddQuest(new BaseQuest(singleQuest, questDataInfo));
                        }
                        this.AddQuestData(questDataInfo);
                    }
                    this.CommitChanges();
                }
                List <BaseQuest> arg_B0_0 = this.m_list;
            }
            finally
            {
                Monitor.Exit(@lock);
            }
        }
Esempio n. 3
0
        public void SaveToDatabase()
        {
            object @lock;

            Monitor.Enter(@lock = this.m_lock);
            try
            {
                using (PlayerBussiness playerBussiness = new PlayerBussiness())
                {
                    foreach (BaseQuest current in this.m_list)
                    {
                        current.SaveData();
                        if (current.Data.IsDirty)
                        {
                            playerBussiness.UpdateDbQuestDataInfo(current.Data);
                        }
                    }
                    foreach (BaseQuest baseQuest in this.m_clearList)
                    {
                        baseQuest.SaveData();
                        playerBussiness.UpdateDbQuestDataInfo(baseQuest.Data);
                    }
                    this.m_clearList.Clear();
                }
            }
            finally
            {
                Monitor.Exit(@lock);
            }
        }
Esempio n. 4
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int                  num        = packet.ReadInt();
            GamePlayer           playerById = WorldMgr.GetPlayerById(num);
            PlayerInfo           playerInfo;
            List <UsersCardInfo> list;

            if (playerById != null)
            {
                playerInfo = playerById.PlayerCharacter;
                list       = playerById.CardBag.GetItems(0, 5);
            }
            else
            {
                using (PlayerBussiness playerBussiness = new PlayerBussiness())
                {
                    playerInfo = playerBussiness.GetUserSingleByUserID(num);
                    list       = playerBussiness.GetUserCardEuqip(num);
                }
            }
            if (list != null && playerInfo != null)
            {
                client.Player.Out.SendPlayerCardSlot(playerInfo, list);
            }
            return(0);
        }
Esempio n. 5
0
        public void LoadFromDatabase(int playerId)
        {
            object @lock;

            Monitor.Enter(@lock = this.m_lock);
            try
            {
                this.m_states = ((this.m_player.PlayerCharacter.QuestSite.Count <byte>() == 0) ? this.InitQuest() : this.m_player.PlayerCharacter.QuestSite);
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    QuestDataInfo[] datas = db.GetUserQuest(playerId);
                    this.BeginChanges();
                    QuestDataInfo[] array = datas;
                    for (int i = 0; i < array.Length; i++)
                    {
                        QuestDataInfo dt   = array[i];
                        QuestInfo     info = QuestMgr.GetSingleQuest(dt.QuestID);
                        if (info != null && this.CheckQuest(info))
                        {
                            this.AddQuest(new BaseQuest(info, dt));
                        }
                    }
                    this.CommitChanges();
                }
            }
            finally
            {
                Monitor.Exit(@lock);
            }
        }
Esempio n. 6
0
 public static bool UpdateBreakTimeWhereServerStop()
 {
     using (PlayerBussiness db = new PlayerBussiness())
     {
         return(db.UpdateBreakTimeWhereServerStop());
     }
 }
        public static string Build()
        {
            bool     value   = false;
            string   message = "Fail!";
            XElement result  = new XElement("Result");

            try
            {
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    BestEquipInfo[] infos = db.GetCelebByDayBestEquip();
                    foreach (BestEquipInfo info in infos)
                    {
                        result.Add(FlashUtils.CreateBestEquipInfo(info));
                    }

                    value   = true;
                    message = "Success!";
                }
            }
            catch (Exception ex)
            {
                log.Error("Load CelebByDayBestEquip is fail!", ex);
            }

            result.Add(new XAttribute("vaule", value));
            result.Add(new XAttribute("message", message));

            return(csFunction.CreateCompressXml(result, "CelebForBestEquip", false));
        }
Esempio n. 8
0
        public void ProcessRequest(HttpContext context)
        {
            bool     value   = false;
            string   message = "Fail!";
            XElement result  = new XElement("Result");

            try
            {
                string key = context.Request["key"];
                int    id  = int.Parse(context.Request["selfid"]);
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    //DailyLogListInfo[] infos = db.GetDailyLogListById(id);

                    XElement node = new XElement("DailyLogList",
                                                 new XAttribute("UserAwardLog", "2"),
                                                 new XAttribute("DayLog", "True,True,False,False,False,False,False,False,False,False,False,False,False,False"));
                    result.Add(node);
                }

                value   = true;
                message = "Success!";
            }
            catch (Exception ex)
            {
                log.Error("dailyloglist", ex);
            }

            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));
            result.Add(new XAttribute("nowDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));//nowDate="2012-08-16 16:24:17"
            context.Response.ContentType = "text/plain";
            //context.Response.Write(result.ToString(false));
            context.Response.BinaryWrite(StaticFunction.Compress(result.ToString(false)));
        }
Esempio n. 9
0
 public bool SendAllItemsToMail(string sender, string title, eMailType type)
 {
     if (this.m_saveToDb)
     {
         base.BeginChanges();
         try
         {
             using (PlayerBussiness playerBussiness = new PlayerBussiness())
             {
                 object @lock;
                 Monitor.Enter(@lock = this.m_lock);
                 try
                 {
                     List <ItemInfo> items = this.GetItems();
                     int             count = items.Count;
                     for (int i = 0; i < count; i += 5)
                     {
                         MailInfo mailInfo = new MailInfo();
                         mailInfo.SenderID   = 0;
                         mailInfo.Sender     = sender;
                         mailInfo.ReceiverID = this.m_player.PlayerCharacter.ID;
                         mailInfo.Receiver   = this.m_player.PlayerCharacter.NickName;
                         mailInfo.Title      = title;
                         mailInfo.Type       = (int)type;
                         mailInfo.Content    = "";
                         List <ItemInfo> list = new List <ItemInfo>();
                         for (int j = 0; j < 5; j++)
                         {
                             int num = i * 5 + j;
                             if (num < items.Count)
                             {
                                 list.Add(items[num]);
                             }
                         }
                         if (!this.SendItemsToMail(list, mailInfo, playerBussiness))
                         {
                             return(false);
                         }
                     }
                 }
                 finally
                 {
                     Monitor.Exit(@lock);
                 }
             }
         }
         catch (Exception arg)
         {
             Console.WriteLine("Send Items Mail Error:" + arg);
         }
         finally
         {
             this.SaveToDatabase();
             base.CommitChanges();
         }
         this.m_player.Out.SendMailResponse(this.m_player.PlayerCharacter.ID, eMailRespose.Receiver);
         return(true);
     }
     return(true);
 }
Esempio n. 10
0
        /// <summary>
        /// 保存到数据库中
        /// </summary>
        public void SaveToDatabase()
        {
            using (PlayerBussiness pb = new PlayerBussiness())
            {
                lock (_lock)
                {
                    for (int i = 0; i < _items.Length; i++)
                    {
                        ItemInfo item = _items[i];
                        if (item != null)
                        {
                            if (item.IsDirty)
                            {
                                if (item.ItemID > 0)
                                {
                                    pb.UpdateGoods(item);
                                }
                                else
                                {
                                    pb.AddGoods(item);
                                }
                            }
                        }
                    }

                    foreach (ItemInfo item in _removedList)
                    {
                        pb.UpdateGoods(item);
                    }
                    _removedList.Clear();
                }
            }
        }
Esempio n. 11
0
 private static void ProcessKey(IHttpRequest Request, IHttpResponse Response, int usertype)
 {
     using (var a = new MemberShipBussiness())
     {
         using (var b = new PlayerBussiness())
         {
             var name = Request.Uri.QueryString["UserName"].ToSafeString();
             if (name != "" && a.ExistsUsername(name))
             {
                 var type = b.GetUserType(name);
                 if (usertype <= type)
                 {
                     Response.Write("对不起,你的权限不足");
                     return;
                 }
                 var pass = Guid.NewGuid().ToString();
                 PlayerManager.Add(name, pass);
                 string content = "user="******"&key=" + pass;
                 Response.Write(content);
             }
             else
             {
                 Response.Write("错误");
             }
         }
     }
 }
Esempio n. 12
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int             id     = packet.ReadInt();
            GamePlayer      player = WorldMgr.GetPlayerById(id);
            PlayerInfo      info;
            List <ItemInfo> items;

            if (player != null)
            {
                info  = player.PlayerCharacter;
                items = player.MainBag.GetItems(0, 31);
            }
            else
            {
                using (PlayerBussiness pb = new PlayerBussiness())
                {
                    info  = pb.GetUserSingleByUserID(id);
                    items = pb.GetUserEuqip(id);
                }
            }
            if (info != null && items != null)
            {
                client.Out.SendUserEquip(info, items);
            }
            return(0);
        }
Esempio n. 13
0
        public void ProcessRequest(HttpContext context)
        {
            bool     value   = false;
            string   message = "Fail!";
            XElement result  = new XElement("Result");

            try
            {
                string UserName = context.Request["UserName"];
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    ArrayList friends = db.GetFriendsGood(UserName);

                    for (int i = 0; i < friends.Count; i++)
                    {
                        XElement node = new XElement("Item",
                                                     new XAttribute("UserName", friends[i].ToString()));
                        result.Add(node);
                    }
                }
                value   = true;
                message = "Success!";
            }
            catch (Exception ex)
            {
                log.Error("IMFriendsGood", ex);
            }

            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));

            context.Response.ContentType = "text/plain";
            context.Response.Write(result.ToString(false));
        }
Esempio n. 14
0
        public static void Process(IHttpRequest Request, IHttpResponse Response)
        {
            bool     value   = false;
            string   message = "Fail!";
            XElement result  = new XElement("Result");

            try
            {
                string username = HttpUtility.UrlDecode(Request.Uri.QueryString["username"]);
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    PlayerInfo[] infos   = db.GetUserLoginList(username);
                    bool         isEmpty = infos.Length > 1;
                    PlayerInfo[] array   = infos;
                    for (int i = 0; i < array.Length; i++)
                    {
                        PlayerInfo info = array[i];
                        if (!string.IsNullOrEmpty(info.NickName))
                        {
                            result.Add(FlashUtils.CreateUserLoginList(info));
                        }
                    }
                }
                value   = true;
                message = "Success!";
            }
            catch (Exception ex)
            {
            }
            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));
            Response.Write(result.ToString(false));
        }
 public override void OnTick(MarryRoom room)
 {
     try
     {
         if (room != null)
         {
             room.KickAllPlayer();
             using (PlayerBussiness playerBussiness = new PlayerBussiness())
             {
                 playerBussiness.DisposeMarryRoomInfo(room.Info.ID);
             }
             GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(room.Info.GroomID);
             GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(room.Info.BrideID);
             GameServer.Instance.LoginServer.SendMarryRoomInfoToPlayer(room.Info.GroomID, false, room.Info);
             GameServer.Instance.LoginServer.SendMarryRoomInfoToPlayer(room.Info.BrideID, false, room.Info);
             MarryRoomMgr.RemoveMarryRoom(room);
             GSPacketIn gSPacketIn = new GSPacketIn(254);
             gSPacketIn.WriteInt(room.Info.ID);
             WorldMgr.MarryScene.SendToALL(gSPacketIn);
             room.StopTimer();
         }
     }
     catch (Exception exception)
     {
         if (TankMarryLogicProcessor.log.IsErrorEnabled)
         {
             TankMarryLogicProcessor.log.Error("OnTick", exception);
         }
     }
 }
Esempio n. 16
0
 public bool SendItemToMail(ItemInfo item, PlayerBussiness pb, MailInfo mail)
 {
     if (!this.m_saveToDb || item.BagType != base.BagType)
     {
         return(false);
     }
     if (mail == null)
     {
         mail            = new MailInfo();
         mail.Annex1     = item.ItemID.ToString();
         mail.Content    = LanguageMgr.GetTranslation("Game.Server.GameUtils.Title", new object[0]);
         mail.Gold       = 0;
         mail.IsExist    = true;
         mail.Money      = 0;
         mail.Receiver   = this.m_player.PlayerCharacter.NickName;
         mail.ReceiverID = item.UserID;
         mail.Sender     = this.m_player.PlayerCharacter.NickName;
         mail.SenderID   = item.UserID;
         mail.Title      = LanguageMgr.GetTranslation("Game.Server.GameUtils.Title", new object[0]);
         mail.Type       = 9;
     }
     if (pb.SendMail(mail))
     {
         this.RemoveItem(item);
         item.IsExist = true;
         return(true);
     }
     return(false);
 }
Esempio n. 17
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            //GSPacketIn pkg = packet.Clone();
            //pkg.ClearContext();

            int id       = packet.ReadInt();
            int senderID = 0;

            using (PlayerBussiness db = new PlayerBussiness())
            {
                if (db.CancelPaymentMail(client.Player.PlayerCharacter.ID, id, ref senderID))
                {
                    client.Out.SendMailResponse(senderID, eMailRespose.Receiver);
                    packet.WriteBoolean(true);
                }
                else
                {
                    packet.WriteBoolean(false);
                }
            }

            client.Out.SendTCP(packet);

            return(1);
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.CurrentMarryRoom != null && client.Player.PlayerCharacter.ID == client.Player.CurrentMarryRoom.Info.PlayerID)
            {
                string roomName = packet.ReadString();

                bool isPwdChanged = packet.ReadBoolean();

                string pwd = packet.ReadString();

                string introduction = packet.ReadString();

                MarryRoom room = client.Player.CurrentMarryRoom;

                room.Info.RoomIntroduction = introduction;
                room.Info.Name             = roomName;
                if (isPwdChanged)
                {
                    room.Info.Pwd = pwd;
                }


                using (PlayerBussiness db = new PlayerBussiness())
                {
                    db.UpdateMarryRoomInfo(room.Info);
                }

                room.SendMarryRoomInfoUpdateToScenePlayers(room);

                client.Player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("MarryRoomInfoUpdateHandler.Successed"));
                return(0);
            }

            return(1);
        }
Esempio n. 19
0
        /// <summary>
        /// 从数据库中加载当前玩家的的任务列表
        /// </summary>
        /// <param name="playerId">传入玩家编号</param>
        public void LoadFromDatabase(int playerId)
        {
            lock (_lock)
            {
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    QuestDataInfo[] infos = db.GetUserQuest(playerId);

                    foreach (QuestDataInfo info in infos)
                    {
                        if (!_currentQuest.ContainsKey(info.QuestID))
                        {
                            //未开始
                            //if (info.IsExist && info.QuestInfo.TimeLimit && DateTime.Now.CompareTo(info.QuestInfo.EndDate) > 0)
                            //{
                            //    info.IsExist = false;
                            //}
                            _currentQuest.Add(info.QuestID, info);
                        }
                    }
                }
            }
            ClearConsortiaQuest();  /*清除非工会任务*/
            ClearMarryQuest();      /*清除非结婚任务*/
        }
Esempio n. 20
0
        public int HandlePacket(ClientBase client, GamePacket packet)
        {
            int    clientID = packet.ReadInt();
            string account  = packet.ReadUTF();
            string nickName = packet.ReadUTF();

            int playerID = 0;

            using (PlayerBussiness pb = new PlayerBussiness())
            {
                playerID = pb.Registe(account, nickName);
            }

            if (playerID != 0)
            {
                ValidateLoginHandler.SendLoginPacket(client, clientID, account, playerID);
            }
            else
            {
                //TODO: 发送创建角色失败给客户端

                RegisteResultPacket pkg = new RegisteResultPacket();

                pkg.ClientID = clientID;

                client.SendTcp(pkg);
            }

            return(0);
        }
Esempio n. 21
0
 public bool HandleCommand(TankMarryLogicProcessor process, GamePlayer player, GSPacketIn packet)
 {
     if (player.CurrentMarryRoom != null)
     {
         packet.ReadInt();
         int templateId = packet.ReadInt();
         ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(templateId);
         if (itemTemplateInfo != null && !player.CurrentMarryRoom.Info.IsGunsaluteUsed && (player.CurrentMarryRoom.Info.GroomID == player.PlayerCharacter.ID || player.CurrentMarryRoom.Info.BrideID == player.PlayerCharacter.ID))
         {
             player.CurrentMarryRoom.ReturnPacketForScene(player, packet);
             player.CurrentMarryRoom.Info.IsGunsaluteUsed = true;
             GSPacketIn packet2 = player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("GunsaluteCommand.Successed1", new object[]
             {
                 player.PlayerCharacter.NickName
             }));
             player.CurrentMarryRoom.SendToPlayerExceptSelfForScene(packet2, player);
             GameServer.Instance.LoginServer.SendMarryRoomInfoToPlayer(player.CurrentMarryRoom.Info.GroomID, true, player.CurrentMarryRoom.Info);
             GameServer.Instance.LoginServer.SendMarryRoomInfoToPlayer(player.CurrentMarryRoom.Info.BrideID, true, player.CurrentMarryRoom.Info);
             using (PlayerBussiness playerBussiness = new PlayerBussiness())
             {
                 playerBussiness.UpdateMarryRoomInfo(player.CurrentMarryRoom.Info);
             }
             return(true);
         }
     }
     return(false);
 }
        public void ProcessRequest(HttpContext context)
        {
            bool     value   = false;
            string   message = "Fail!";
            XElement result  = new XElement("Result");

            try
            {
                int    id     = Convert.ToInt32(context.Request["userid"]);
                int    selfid = Convert.ToInt32(context.Request["selfid"]);
                string key    = context.Request["key"];
                using (PlayerBussiness db = new PlayerBussiness())
                {
                }

                value   = true;
                message = "Success!";
            }
            catch (Exception ex)
            {
                log.Error("IMListLoad", ex);
            }

            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));

            context.Response.ContentType = "text/plain";
            context.Response.Write(string.Format("0,{0},0", DateTime.Now));
            //context.Response.BinaryWrite(StaticFunction.Compress(result.ToString(false)));
        }
        public void ProcessRequest(HttpContext context)
        {
            bool     value   = false;
            string   message = "Fail!";
            XElement result  = new XElement("Result");

            try
            {
                //int id = int.Parse(context.Request["id"]);
                using (PlayerBussiness db = new PlayerBussiness())
                {
                }

                value   = true;
                message = "Success!";
            }
            catch (Exception ex)
            {
                log.Error("ActivePullDown", ex);
            }
            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));
            context.Response.ContentType = "text/plain";
            context.Response.Write(result.ToString(false));
        }
Esempio n. 24
0
        public void ProcessRequest(HttpContext context)
        {
            bool     value   = false;
            string   message = "Fail!";
            XElement result  = new XElement("Result");

            try
            {
                int userID = int.Parse(context.Request["ID"]);
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    QuestDataInfo[] quests = db.GetUserQuest(userID);
                    foreach (QuestDataInfo quest in quests)
                    {
                        result.Add(FlashUtils.CreateQuestDataInfo(quest));
                    }

                    value   = true;
                    message = "Success!";
                }
            }
            catch (Exception ex)
            {
                log.Error("UserQuestList", ex);
            }

            result.Add(new XAttribute("vaule", value));
            result.Add(new XAttribute("message", message));

            context.Response.ContentType = "text/plain";
            context.Response.Write(result.ToString(false));
            //context.Response.BinaryWrite(StaticFunction.Compress(result.ToString(false)));
        }
Esempio n. 25
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int             user_id = packet.ReadInt();
            GamePlayer      player  = Managers.WorldMgr.GetPlayerById(user_id);
            PlayerInfo      info;
            List <ItemInfo> items;

            if (player != null)
            {
                info  = player.PlayerCharacter;
                items = player.CardBag.GetItems(0, 6);
            }
            else
            {
                using (PlayerBussiness pb = new PlayerBussiness())
                {
                    info  = pb.GetUserSingleByUserID(user_id);
                    items = pb.GetUserCardEuqip(user_id);
                }
            }

            if (info != null && items != null)
            {
                client.Out.SendPlayerCardInfo(info, items);
            }
            return(0);
        }
Esempio n. 26
0
        protected void HandleUPDATE_PET(GameClient client, int ID)
        {
            GamePlayer      player = Managers.WorldMgr.GetPlayerById(ID);
            PlayerInfo      info;
            List <ItemInfo> items;

            if (player != null)
            {
                info  = player.PlayerCharacter;
                items = player.CardBag.GetItems(0, 6);
            }
            else
            {
                using (PlayerBussiness pb = new PlayerBussiness())
                {
                    info  = pb.GetUserSingleByUserID(ID);
                    items = pb.GetUserCardEuqip(ID);
                }
            }

            if (info != null && items != null)
            {
                client.Out.SendUpdatePetInfo(info, items);
            }
        }
Esempio n. 27
0
        public override int HandlePacket(GamePlayer player, GSPacketIn packet)
        {
            int result;

            if (player.CurrentMarryRoom != null && player.PlayerCharacter.ID == player.CurrentMarryRoom.Info.PlayerID)
            {
                string    roomName     = packet.ReadString();
                bool      isPwdChanged = packet.ReadBoolean();
                string    pwd          = packet.ReadString();
                string    introduction = packet.ReadString();
                MarryRoom room         = player.CurrentMarryRoom;
                room.Info.RoomIntroduction = introduction;
                room.Info.Name             = roomName;
                if (isPwdChanged)
                {
                    room.Info.Pwd = pwd;
                }
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    db.UpdateMarryRoomInfo(room.Info);
                }
                room.SendMarryRoomInfoUpdateToScenePlayers(room);
                player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("MarryRoomInfoUpdateHandler.Successed", new object[0]));
                result = 0;
            }
            else
            {
                result = 1;
            }
            return(result);
        }
Esempio n. 28
0
        public void SaveToDatabase()
        {
            object @lock;

            Monitor.Enter(@lock = this.m_lock);
            try
            {
                using (PlayerBussiness playerBussiness = new PlayerBussiness())
                {
                    foreach (AbstractBuffer current in this.m_buffers)
                    {
                        playerBussiness.SaveBuffer(current.Info);
                    }
                    foreach (BufferInfo info in this.m_clearList)
                    {
                        playerBussiness.SaveBuffer(info);
                    }
                    this.m_clearList.Clear();
                }
            }
            finally
            {
                Monitor.Exit(@lock);
            }
        }
Esempio n. 29
0
        public void LoadFromDatabase(int playerId)
        {
            object @lock;

            Monitor.Enter(@lock = this.m_lock);
            try
            {
                using (PlayerBussiness playerBussiness = new PlayerBussiness())
                {
                    BufferInfo[] userBuffer = playerBussiness.GetUserBuffer(playerId);
                    this.BeginChanges();
                    BufferInfo[] array = userBuffer;
                    for (int i = 0; i < array.Length; i++)
                    {
                        BufferInfo     info           = array[i];
                        AbstractBuffer abstractBuffer = BufferList.CreateBuffer(info);
                        if (abstractBuffer != null)
                        {
                            abstractBuffer.Start(this.m_player);
                        }
                    }
                    this.CommitChanges();
                }
                this.Update();
            }
            finally
            {
                Monitor.Exit(@lock);
            }
        }
Esempio n. 30
0
        public override int HandlePacket(GamePlayer player, GSPacketIn packet)
        {
            int result;

            if (player.PlayerCharacter.MarryInfoID == 0)
            {
                result = 1;
            }
            else
            {
                int id = packet.ReadInt();
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    MarryInfo info = db.GetMarryInfoSingle(id);
                    if (info != null)
                    {
                        player.Out.SendMarryInfo(player, info);
                        result = 0;
                        return(result);
                    }
                }
                result = 1;
            }
            return(result);
        }
Esempio n. 31
0
        public virtual PlayerInfo CreateLogin(string name, string password, ref string message, ref int isFirst, string IP, ref bool isError, bool firstValidate, ref bool isActive, string site, string nickname)
        {
            try
            {
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    bool isExist = true;
                    DateTime forbidDate = DateTime.Now;
                    PlayerInfo info = db.LoginGame(name, ref isFirst, ref isExist, ref isError, firstValidate, ref forbidDate, nickname);
                    if (info == null)
                    {
                        if (!db.ActivePlayer(ref info, name, password, true, ActiveGold, ActiveMoney, IP, site))
                        {
                            info = null;
                            // message = "Active is fail!";
                            message = LanguageMgr.GetTranslation("BaseInterface.LoginAndUpdate.Fail");
                        }
                        else
                        {
                            isActive = true;
                            using (CenterServiceClient client = new CenterServiceClient())
                            {
                                client.ActivePlayer(true);
                            }
                        }
                    }
                    else
                    {
                        if (isExist)
                        {
                            using (CenterServiceClient client = new CenterServiceClient())
                            {
                                client.CreatePlayer(info.ID, name, password, isFirst == 0);
                            }
                        }
                        else
                        {
                            message = LanguageMgr.GetTranslation("ManageBussiness.Forbid1", forbidDate.Year, forbidDate.Month, forbidDate.Day, forbidDate.Hour, forbidDate.Minute);
                            return null;
                        }
                    }
                    return info;
                }

            }
            catch (Exception ex)
            {
                log.Error("LoginAndUpdate", ex);
            }
            return null;
        }