示例#1
0
        private static void OnCreateAllianceRequestMessageReceived(CreateAllianceRequestMessage message)
        {
            CreateAllianceResponseMessage createAllianceResponseMessage = new CreateAllianceResponseMessage();

            string allianceName = message.AllianceName;

            if (allianceName == null || allianceName.Length < 2)
            {
                createAllianceResponseMessage.ErrorReason = CreateAllianceResponseMessage.Reason.NAME_TOO_SHORT;
                ServerRequestManager.SendResponse(createAllianceResponseMessage, message);
                return;
            }

            if (allianceName.Length > 15)
            {
                createAllianceResponseMessage.ErrorReason = CreateAllianceResponseMessage.Reason.NAME_TOO_LONG;
                ServerRequestManager.SendResponse(createAllianceResponseMessage, message);
                return;
            }

            Alliance alliance = AllianceManager.Create();

            alliance.Header.SetAllianceName(allianceName);
            alliance.SetAllianceSettings(message.AllianceDescription, message.AllianceType, message.AllianceBadgeId, message.RequiredScore, message.RequiredDuelScore, message.WarFrequency,
                                         message.OriginData, message.PublicWarLog, message.ArrangedWarEnabled);

            createAllianceResponseMessage.Success    = true;
            createAllianceResponseMessage.AllianceId = alliance.Id;

            AllianceManager.Save(alliance);
            ServerRequestManager.SendResponse(createAllianceResponseMessage, message);
        }
示例#2
0
        private void OnCreateAlliance(ServerRequestArgs args)
        {
            if (args.ErrorCode == ServerRequestError.Success)
            {
                CreateAllianceResponseMessage createAllianceResponseMessage = (CreateAllianceResponseMessage)args.ResponseMessage;

                if (createAllianceResponseMessage.Success)
                {
                    LogicLong avatarId = this.m_session.GameMode.GetPlayerAvatar().GetId();
                    ServerRequestManager.Create(new GameJoinAllianceRequestMessage
                    {
                        AccountId  = avatarId,
                        AllianceId = createAllianceResponseMessage.AllianceId,
                        Created    = true
                    }, ServerManager.GetDocumentSocket(9, avatarId)).OnComplete = this.OnGameAllianceJoin;
                }
                else
                {
                    AllianceCreateFailedMessage allianceCreateFailedMessage = new AllianceCreateFailedMessage();

                    switch (createAllianceResponseMessage.ErrorReason)
                    {
                    case CreateAllianceResponseMessage.Reason.GENERIC:
                        allianceCreateFailedMessage.SetReason(AllianceCreateFailedMessage.Reason.GENERIC);
                        break;

                    case CreateAllianceResponseMessage.Reason.INVALID_DESCRIPTION:
                        allianceCreateFailedMessage.SetReason(AllianceCreateFailedMessage.Reason.INVALID_DESCRIPTION);
                        break;

                    case CreateAllianceResponseMessage.Reason.INVALID_NAME:
                        allianceCreateFailedMessage.SetReason(AllianceCreateFailedMessage.Reason.INVALID_NAME);
                        break;

                    case CreateAllianceResponseMessage.Reason.NAME_TOO_LONG:
                        allianceCreateFailedMessage.SetReason(AllianceCreateFailedMessage.Reason.NAME_TOO_LONG);
                        break;

                    case CreateAllianceResponseMessage.Reason.NAME_TOO_SHORT:
                        allianceCreateFailedMessage.SetReason(AllianceCreateFailedMessage.Reason.NAME_TOO_SHORT);
                        break;
                    }

                    this.m_session.SendPiranhaMessage(allianceCreateFailedMessage, 1);
                }
            }
            else
            {
                AllianceCreateFailedMessage allianceCreateFailedMessage = new AllianceCreateFailedMessage();
                allianceCreateFailedMessage.SetReason(AllianceCreateFailedMessage.Reason.GENERIC);
                this.m_session.SendPiranhaMessage(allianceCreateFailedMessage, 1);
            }
        }