public override bool TakeAction() { PlayerLogic p = new PlayerLogic(); p.SetUser(m_UserId); Player sender = p.MyPlayer; string message; if (!ChatProvider.ProcessMessage(m_UserId, m_RequestPacket.Massage, out message)) { ErrorCode = (int)ErrorType.CannotOpenChance; ErrorInfo = "illegal message"; return(false); } switch ((ChatType)m_RequestPacket.Type) { case ChatType.World: if (!ChatProvider.SendWorld(sender, message)) { ErrorCode = (int)ErrorType.ChatTooFrequency; ErrorInfo = "You can not chat too frequency"; } break; case ChatType.Private: Player receiver = PlayerLogic.FindUserByName(m_RequestPacket.ReceiverName); if (receiver == null) { ErrorCode = (int)ErrorType.PlayerNotExist; ErrorInfo = "Target Player is not Exist"; return(false); } if (!ChatProvider.SendPrivate(receiver.Id, sender, message)) { ErrorCode = (int)ErrorType.PlayerNotOnline; ErrorInfo = "Target Player is not online"; return(false); } break; case ChatType.Room: break; case ChatType.Alliance: break; default: ErrorCode = (int)ErrorType.CannotOpenChance; ErrorInfo = "wrong type Id"; return(false); } m_ResponsePacket.Type = m_RequestPacket.Type; m_ResponsePacket.Success = true; return(true); }
public override bool TakeAction() { if (m_RequestPacket.Name.Length < 1 || m_RequestPacket.Name.Length > 30) { ErrorCode = (int)ErrorType.WrongInput; ErrorInfo = "wrong length"; return(false); } if (PlayerLogic.FindUserByName(m_RequestPacket.Name) != null) { ErrorCode = (int)ErrorType.DuplicateName; ErrorInfo = "Duplicate name"; return(false); } PlayerLogic p = new PlayerLogic(); p.SetUser(m_UserId); p.MyPlayer.ModifyLocked(() => { p.MyPlayer.Name = m_RequestPacket.Name; p.MyPlayer.PortraitType = m_RequestPacket.PortraitType; p.MyPlayer.IsFemale = m_RequestPacket.IsFemale; }); PlayerHeroLogic ph = new PlayerHeroLogic(); ph.SetUser(m_UserId); ph.AddNewHero(m_RequestPacket.FirstHeroType); HeroTeamLogic ht = new HeroTeamLogic(); ht.SetUser(m_UserId); List <int> heroTeam = new List <int>() { m_RequestPacket.FirstHeroType }; ht.AssignHero(heroTeam); PlayerPackageLogic pp = new PlayerPackageLogic(); pp.SetUser(m_UserId); return(true); }
public override bool TakeAction() { if (m_RequestPacket.DisplayName.Length < 1 || m_RequestPacket.DisplayName.Length > 30) { ErrorCode = (int)ErrorType.WrongInput; ErrorInfo = "wrong length"; return(false); } if (PlayerLogic.FindUserByName(m_RequestPacket.DisplayName) != null) { ErrorCode = (int)ErrorType.DuplicateName; ErrorInfo = "Duplicate name"; return(false); } if (ChatProvider.WordServer.IsVerified(m_RequestPacket.DisplayName)) { ErrorCode = (int)ErrorType.HaveBadWord; ErrorInfo = "Have bad word"; return(false); } m_ResponsePacket.Usable = true; return(true); }