private void OnGameEnter(NetConnection <NetSession> sender, UserGameEnterRequest message) { TCharacter chooseChar = sender.Session.User.Player.Characters.ElementAt(message.characterIdx); Log.InfoFormat("UserGameEnterRequest: Name:{0} index:{1} CharacterName:{2}", sender.Session.User.ID, message.characterIdx, chooseChar.Name); sender.Session.Character = Managers.CharacterManager.Instance.AddCharacter(chooseChar); Managers.MapManager.Instance[chooseChar.MapID].CharacterEnter(sender, sender.Session.Character); SkillBridge.Message.NetMessage rsp = new NetMessage(); rsp.Response = new NetMessageResponse(); rsp.Response.gameEnter = new UserGameEnterResponse(); rsp.Response.gameEnter.Result = Result.Success; byte[] data = PackageHandler.PackMessage(rsp); //sender.SendData(data, 0, data.Length); }
private void OnGameEnter(NetConnection <NetSession> sender, UserGameEnterRequest message) { TCharacter dbCharacter = sender.Session.User.Player.Characters.ElementAt(message.characterIdx); Log.InfoFormat("UserGameEnterRequest: characterId:{0}:{1} Map:{2}", dbCharacter.ID, dbCharacter.Name, dbCharacter.MapID); Character character = CharacterManager.Instance.AddCharacter(dbCharacter); //角色管理器添加角色 sender.Session.Character = character; //在会话中绑定当前角色 sender.Session.PostResponser = character; SessionManager.Instance.AddSession(character.Id, sender); MapManager.Instance[dbCharacter.MapID].CharacterEnter(sender, character);//调用Map类的角色进入 sender.Session.Response.gameEnter = new UserGameEnterResponse(); sender.Session.Response.gameEnter.Result = Result.Success; sender.Session.Response.gameEnter.Errormsg = "None"; sender.Session.Response.gameEnter.Character = character.Info;//道具消息 /* #region 道具测试用例 * int itemID = 1; * bool hasItem = character.ItemManager.HasItem(itemID); * Log.InfoFormat("HasItem[{0}]{1}", itemID, hasItem); * if (hasItem) * { * //character.ItemManager.RemoveItem(itemID, 1); * } * else * { * character.ItemManager.AddItem(1,200); * character.ItemManager.AddItem(2, 100); * character.ItemManager.AddItem(3, 30); * character.ItemManager.AddItem(4, 120); * } * // Models.Item item = character.ItemManager.GetItem(itemID); * // Log.InfoFormat("Item:[{0}][{1}]", itemID, item); #endregion*/ sender.SendResponse(); }
void OnGameEnter(NetConnection <NetSession> sender, UserGameEnterRequest request) { TCharacter dbchar = sender.Session.User.Player.Characters.ElementAt(request.characterIdx); Log.InfoFormat("UserGameEnterRequest: characterID:{0}:{1} Map:{2}", dbchar.ID, dbchar.Name, dbchar.MapID); Character character = CharacterManager.Instance.AddCharacter(dbchar); SessionManager.Instance.AddSession(character.Id, sender); sender.Session.Response.gameEnter = new UserGameEnterResponse(); sender.Session.Response.gameEnter.Result = Result.Success; sender.Session.Response.gameEnter.Errormsg = "None"; //进入成功发送初始角色信息 sender.Session.Character = character; sender.Session.PostResponser = character; sender.Session.Response.gameEnter.Character = character.Info; sender.SendResponse(); MapManager.Instance[dbchar.MapID].CharacterEnter(sender, character); }
void OnGameEnter(NetConnection <NetSession> sender, UserGameEnterRequest request) { TCharacter dbchar = sender.Session.User.Player.Characters.ElementAt(request.characterIdx); Log.InfoFormat("UserGameEnterRequest: characterID:{0}:{1} Map:{2}", dbchar.ID, dbchar.Name, dbchar.MapID); Character character = CharacterManager.Instance.AddCharacter(dbchar); NetMessage message = new NetMessage(); message.Response = new NetMessageResponse(); message.Response.gameEnter = new UserGameEnterResponse(); message.Response.gameEnter.Result = Result.Success; message.Response.gameEnter.Errormsg = "None"; byte[] data = PackageHandler.PackMessage(message); sender.SendData(data, 0, data.Length); sender.Session.Character = character; MapManager.Instance[dbchar.MapID].CharacterEnter(sender, character); }
void OnGameEnter(NetConnection <NetSession> sender, UserGameEnterRequest request) { Log.InfoFormat("UserGameEnterRequest: id: {0}", request.characterId); TCharacter tCharacter = DBService.Instance.Entities.Characters.Where((c) => c.ID == request.characterId).FirstOrDefault(); Character character = CharacterManager.Instance.AddCharacter(tCharacter); character.ItemManager.GetItemList(character.Info.Items); sender.Session.Response.gameEnter = new UserGameEnterResponse(); sender.Session.Response.gameEnter.Result = Result.Success; sender.Session.Response.gameEnter.Errormsg = "None"; sender.Session.Response.gameEnter.Character = character.Info; sender.SendResponse(); sender.Session.Character = character; MapManager.Instance[character.Data.MapID].CharacterEnter(sender, character); }
private void OnGameEnter(NetConnection <NetSession> sender, UserGameEnterRequest request) { TCharacter tchr = sender.Session.TUser.Player.Characters.ElementAt(request.characterIdx); Character character = CharacterManager.Instance.AddCharacter(tchr); // character.itemManager.AddItem(1, 1); sender.Session.Response.gameEnter = new UserGameEnterResponse() { Result = Result.Success, Errormsg = "None", Character = character.Info }; SessionManager.Instance.AddSession(character.Id, sender); sender.SendResponse(); Log.Info($"OnGameEnter Id: {character.Id} EntityId:{character.Info.EntityId}"); MapManager.Instance[tchr.MapID].CharacterEnter(sender, character); sender.Session.Character = character; sender.Session.postProcesser = character; }
void OnGameEnter(NetConnection <NetSession> sender, UserGameEnterRequest request) { //根据索引找到这个角色 TCharacter Tchar = sender.Session.User.Player.Characters.ElementAt(request.characterIdx); //加入到CharacterManager Character character = CharacterManager.Instance.AddCharacter(Tchar); NetMessage message = new NetMessage(); message.Response = new NetMessageResponse(); message.Response.gameEnter = new UserGameEnterResponse(); message.Response.gameEnter.Result = Result.Success; message.Response.gameEnter.Errormsg = "none"; message.Response.gameEnter.Character = character.Info; int itemId = 1; bool hasItem = character.ItemManager.HasItem(itemId); Log.InfoFormat("hasItem{0},{1}", itemId, hasItem); if (hasItem) { character.ItemManager.RemoveItem(itemId, 1); } else { character.ItemManager.AddItem(itemId, 2); } Models.Item item = character.ItemManager.GetItem(itemId); Log.InfoFormat("item:{0},count{1}", itemId, item.Count); sender.Session.Character = character; sender.SendData(message); MapManager.Instance[Tchar.MapID].CharacterEnter(sender, character); }