Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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);
 }